This is a full-stack medical appointment booking platform developed as my Final Year Project using the MERN stack.
It enables patients to book appointments with doctors based on real-time availability and handles appointment scheduling, payments, and notifications.
π©Ί Separate panels for Doctors and Users
π³ Integrated Razorpay payment gateway
π§ Email notifications using Nodemailer
π§ Note: This project is not deployed yet.
Please clone the repository and follow the setup instructions to run it locally.
- Manage availability (dates & time slots)
- Receive real-time email notifications for new appointments
- View upcoming and past appointments
- Accept/Reject appointments (optional)
- Browse available doctors by specialization/date
- Schedule appointments and make secure payments
- Modify or cancel appointments before confirmation
- Receive email confirmations & reminders
- Razorpay integration for secure appointment payment
- Automatic email sent via Nodemailer:
- Doctor receives email when user books an appointment
- User gets confirmation/reminder or rescheduling email
- Auth with JWT
- Protected routes for doctor and user dashboards
- Fully responsive UI
- Admin-like control over schedules
| Layer | Tech |
|---|---|
| Frontend | React.js (with Elastic UI / Tailwind) |
| Backend | Node.js + Express.js |
| Database | MongoDB Atlas |
| Payment | Razorpay |
| Nodemailer | |
| Auth | JWT + Bcrypt |
medical-app/ βββ client/ # React frontend β βββ src/ β βββ pages/ β βββ components/ β βββ services/ βββ server/ # Express backend β βββ controllers/ β βββ models/ β βββ routes/ β βββ utils/ # nodemailer, Razorpay setup β βββ middleware/ βββ .env βββ README.md βββ package.json
yaml Copy Edit
git clone https://github.com/Abhiishek-Choudhary/Medicare2.0.git
cd medical-app
2. Setup Backend
bash
cd server
npm install
Create a .env file with:
env
PORT=5000
MONGO_URI=your_mongodb_connection
JWT_SECRET=your_jwt_secret
RAZORPAY_KEY_ID=your_razorpay_key
RAZORPAY_KEY_SECRET=your_razorpay_secret
SMTP_HOST=smtp.yourprovider.com
SMTP_PORT=587
SMTP_USER=youremail@example.com
SMTP_PASS=your_email_password
bash
npm run dev
3. Setup Frontend
bash
cd ../client
npm install
npm run dev
Visit http://localhost:5173
π§ Email Flow (Using Nodemailer)
When user books β Doctor gets a confirmation email with details
When doctor updates β User is notified
When user cancels/reschedules β Both parties receive updates
π¬ Contact
π€ Name: Abhishek Chaudhary
π§ Email: akc64016@gmail.com
π GitHub: @Abhiishek-Choudhary
π LinkedIn: (https://www.linkedin.com/in/abhishek-chaudhary-2b276324b/)
π§ͺ Future Enhancements (Ideas)
Real-time chat between doctor and user
Video consultation via WebRTC / third-party API
Admin dashboard for managing specializations/doctors
SMS notifications using Twilio
Mobile app with React Native