A full-stack Doctor Appointment Booking System built using the MERN Stack that streamlines the process of booking, managing, and tracking medical appointments. The platform provides dedicated interfaces for Patients, Doctors, and Administrators, offering a secure and user-friendly healthcare management experience.
The Doctor Appointment Booking System is designed to simplify appointment scheduling by allowing patients to find doctors, book appointments, and manage their bookings online. Doctors can manage their availability and appointments, while administrators oversee users, doctors, and the overall platform.
This project demonstrates real-world full-stack development concepts including authentication, REST APIs, role-based access control, database management, and responsive UI development.
- Secure User Registration & Login
- Browse Available Doctors
- Search & Filter Doctors
- View Doctor Profiles
- Book Appointments
- Cancel Appointments
- Appointment History
- Update Profile
- Responsive Dashboard
- Doctor Login
- Manage Profile
- View Upcoming Appointments
- Accept / Reject Appointments
- Update Availability
- Appointment Schedule
- Earnings Overview (Optional)
- Dashboard Analytics
- Admin Authentication
- Dashboard Overview
- Manage Patients
- Manage Doctors
- Add New Doctors
- Approve Doctor Accounts
- Manage Appointments
- Platform Statistics
- React.js
- React Router
- Axios
- HTML5
- CSS3
- JavaScript (ES6+)
- Node.js
- Express.js
- MongoDB
- Mongoose
- JWT Authentication
- bcrypt.js
- Multer (if image upload is used)
- dotenv
- CORS
- MongoDB Atlas / Local MongoDB
doctor-appointment-system/
│
├── frontend/ # React Application
├── backend/ # Express Server
├── README.md
├── package.json
└── .gitignore
The application uses JWT (JSON Web Tokens) for secure authentication.
Supported Roles:
- 👤 Patient
- 👨⚕️ Doctor
- 🛡️ Admin
Each role has protected routes and different permissions.
- Users
- Doctors
- Appointments
- Admin
- Payments (Optional)
git clone https://github.com/Meghabyte08/doctor-appointment-system.gitcd doctor-appointment-systemcd frontend
npm installcd ../backend
npm installCreate a .env file inside the backend folder.
PORT=5000
MONGO_URI=your_mongodb_connection_string
JWT_SECRET=your_secret_key
CLOUDINARY_NAME=your_cloudinary_name
CLOUDINARY_API_KEY=your_api_key
CLOUDINARY_API_SECRET=your_api_secret(Remove Cloudinary variables if your project does not use image uploads.)
cd backend
npm startcd frontend
npm run dev- User Authentication
- Role-Based Authorization
- Doctor Management
- Appointment Scheduling
- CRUD Operations
- RESTful API Integration
- Secure Password Encryption
- Responsive User Interface
- Form Validation
- Database Integration
During this project, I gained practical experience in:
- Building scalable MERN applications
- Designing REST APIs
- MongoDB Schema Design
- JWT Authentication & Authorization
- State Management in React
- API Integration using Axios
- Error Handling
- Role-Based Access Control
- Git & GitHub Version Control
- Deploying Full-Stack Applications
- 💳 Online Payment Integration
- 📧 Email Notifications
- 📱 SMS Appointment Reminders
- 🔔 Push Notifications
- 📹 Video Consultation
- 💬 Real-Time Chat
- ⭐ Doctor Reviews & Ratings
- 📄 Medical Records Management
- 🌙 Dark Mode
- 🌍 Multi-language Support
Contributions are welcome.
If you'd like to improve this project:
- Fork the repository
- Create a feature branch
- Commit your changes
- Push to your branch
- Open a Pull Request
This project is created for educational and portfolio purposes.
Megha Kumari
🎓 B.Tech in Information Technology (2025)
- GitHub: https://github.com/Meghabyte08
- LinkedIn: (Add your LinkedIn profile URL here)
If you found this project useful:
⭐ Star this repository
🍴 Fork it
📝 Share your feedback
Thank you for visiting this project!