// the find
Project-Based-Learning-IT/healthcare-appointment-scheduling-app
• This is a patient doctor appointment booking WebApp. Patient signs in using google account and Doctor needs to register prior in the system to login. • Patient can book appointment in slot and calendar event with meeting link will be created. • It also has Feedback, JWT Authentication and payment feature. • Tech Stack: React.js, Node.js, Express.js, MongoDB, Trie
A full-stack healthcare appointment booking app built with React, Node/Express, and MongoDB. Patients authenticate via Google OAuth, book slots with doctors, get Google Meet links via Calendar API, and pay through a payment flow. This is clearly a student/learning project given the org name and included SE course documents.
- Trie-based doctor search (frontend/src/Doctor/Trie.js) is an interesting data structure choice for autocomplete rather than just hitting the API on every keystroke
- Google Calendar API integration to auto-generate Meet links on booking is genuinely useful and non-trivial to set up
- Includes unit tests for backend routes (test/1_server.test.js etc.) and a GitHub Actions CI workflow, which is better than most student projects
- Decent feature breadth for a learning project: OAuth, JWT, payment flow, feedback, slot management, and appointment history all present
- The README exposes test credentials ('USERNAME: test, Password: test') and env-info.txt files exist in the repo, strongly suggesting secrets or config hints were committed at some point — this is a security red flag for anything beyond a demo
- Payment implementation appears to be a fake/mock UI (card details form with no actual payment processor like Stripe), which means the 'payment feature' is cosmetic
- Trie is implemented client-side on the full doctor list, meaning the entire doctor dataset is fetched on load — this doesn't scale and the architectural decision is backwards
- No setup instructions for the Google Calendar API, OAuth credentials, or environment variables beyond a vague env-info.txt, making local development painful for anyone forking it