A full-stack MERN application designed to streamline the appointment process between patients and doctors, featuring role-based dashboards for admins, doctors, and patients.
Explore the docs Β»
View Demo
Β·
Report Bug
Β·
Request Feature
Table of Contents
MediConnect tackles the challenge of inefficient appointment scheduling in the healthcare sector. This MERN-stack platform provides a centralized, real-time solution for patients to find and book appointments with doctors. With dedicated dashboards for each user role (Admin, Doctor, Patient), it ensures that every user has the tools they need to manage their responsibilities effectively.
- π€ Role-Based Dashboards:
- Patient: Sign up, browse doctors, book and manage appointments.
- Doctor: Manage profile, set availability slots, view and confirm appointments.
- Admin: Oversee the entire platform, manage user accounts, and monitor system activity.
- π Secure Authentication: JWT-based authentication and authorization to ensure data privacy and secure access.
- π Real-time Scheduler: An interactive calendar interface for seamless booking and management of appointments.
- π± Responsive Design: A clean, modern UI built with React and Tailwind CSS, fully responsive across all devices.
This project is built with modern technologies to ensure performance and scalability.
| Tech | Description |
|---|---|
| Frontend Library | |
| Backend Runtime | |
| Backend Framework | |
| NoSQL Database | |
| Utility-First CSS Framework | |
| Authentication |
Follow these instructions to set up the project locally.
- Node.js (v14 or higher)
- npm or yarn
- MongoDB (a local instance or a cloud-based service like MongoDB Atlas)
-
Clone the repository:
git clone [https://github.com/p-v-srinag/MediConnect-Doctor-Appointment.git] cd MediConnect-Doctor-Appointment -
Setup Backend:
# Navigate to the backend folder cd backend # Install dependencies npm install # Create a .env file and add your variables touch .env
Add the following variables to your
.envfile:PORT=5000 MONGO_URI=<Your_MongoDB_Connection_String> JWT_SECRET=<Your_Super_Secret_Key>
# Start the backend server (with nodemon for auto-reloading) npx nodemon start -
Setup Frontend:
Note: Open a new terminal window for this step.
# Navigate to the client folder from the root directory cd client # Install dependencies npm install # Start the React development server npm start
Your application is now running! The frontend is accessible at http://localhost:3000 and the backend server at http://localhost:5000.
A high-level overview of the project's structure. . βββ π backend/ # Express.js Server β βββ π controllers/ β βββ π models/ β βββ π routes/ β βββ π server.js βββ π client/ # React.js Application β βββ π public/ β βββ π src/ β βββ π assets/ β βββ π components/ β βββ π pages/ β βββ π App.js β βββ π index.js βββ π .gitignore βββ π LICENSE βββ π README.md
Contributions make the open-source community an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.
If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement". Don't forget to give the project a star! Thanks again!
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature) - Commit your Changes (
git commit -m 'Add some AmazingFeature') - Push to the Branch (
git push origin feature/AmazingFeature) - Open a Pull Request
Distributed under the MIT License. See LICENSE for more information.
P.V. Srinag
- GitHub: @p-v-srinag
- Project Link: https://github.com/p-v-srinag/MediConnect-Doctor-Appointment