Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

9 Commits
Β 
Β 
Β 
Β 

Repository files navigation

πŸ₯ Doctor Availability & Appointment Allocator

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.


πŸ“Œ Features

πŸ‘¨β€βš•οΈ Doctor Panel

  • Manage availability (dates & time slots)
  • Receive real-time email notifications for new appointments
  • View upcoming and past appointments
  • Accept/Reject appointments (optional)

πŸ‘€ User Panel

  • Browse available doctors by specialization/date
  • Schedule appointments and make secure payments
  • Modify or cancel appointments before confirmation
  • Receive email confirmations & reminders

πŸ’Έ Payment

  • Razorpay integration for secure appointment payment

πŸ“¬ Email System

  • Automatic email sent via Nodemailer:
    • Doctor receives email when user books an appointment
    • User gets confirmation/reminder or rescheduling email

🧠 Additional Features

  • Auth with JWT
  • Protected routes for doctor and user dashboards
  • Fully responsive UI
  • Admin-like control over schedules

🧰 Tech Stack

Layer Tech
Frontend React.js (with Elastic UI / Tailwind)
Backend Node.js + Express.js
Database MongoDB Atlas
Payment Razorpay
Email Nodemailer
Auth JWT + Bcrypt

πŸ“‚ Folder Structure

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


βš™οΈ Local Setup Instructions

1. Clone the Repository

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

About

Medical Website

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages