A comprehensive Medical Clinic Management System built with Node.js, Express.js, and MongoDB to streamline administrative processes and enhance patient care.
- Introduction
- Features
- Technologies
- Installation
- Usage
- API Documentation
- Future Enhancements
- Contributing
- License
This project is designed to facilitate the management of medical clinics by providing a robust backend system that handles patient records, doctor information, and appointment scheduling. It includes secure authentication and authorization mechanisms to ensure data privacy and integrity.
- User Authentication & Authorization: Secure login and registration with JWT-based authentication.
- Role-Based Access Control: Different levels of access for Admin, Doctor, and Patient roles.
- CRUD Operations: Create, Read, Update, and Delete functionalities for patients, doctors, and appointments.
- Responsive Views: Dynamic and responsive views built with EJS for managing records and appointments.
- Data Validation & Security: Integrated security features and data validation to ensure safe and reliable operations.
- Backend: Node.js, Express.js
- Database: MongoDB, Mongoose
- Authentication: JWT, bcrypt
- Frontend: EJS (Embedded JavaScript)
- Security: Helmet, CORS
- Tools: Git, npm, Postman, Swagger
-
Clone the repository:
git clone https://github.com/your-username/medical-clinic-management-system.git cd medical-clinic-management-system
-
Install dependencies:
npm install
-
Set up environment variables:
Create a
.env
file in the root directory and add the following:PORT=5000 MONGO_URI="your_mongo_connection_string" JWT_SECRET="your_jwt_secret_key" SESSION_SECRET="your_session_secret_key"
-
Start the server:
npm start
The server will start on
http://localhost:5000
.
-
Register a new user:
Navigate to
http://localhost:5000/api/auth/register
and create a new account. -
Login:
Navigate to
http://localhost:5000/api/auth/login
and log in with your credentials. -
Accessing Features:
Depending on your role (Admin, Doctor, Patient), you can access different features such as managing patients, doctors, and appointments.
The API is documented using Swagger. To view the API documentation:
- Start the server.
- Navigate to
http://localhost:5000/api-docs
in your browser.
- Video Tutorials: Adding video tutorials to explain the usage of the system.
- Testing: Implementing unit and integration tests to ensure code reliability.
- UI/UX Improvements: Enhancing the user interface with modern frontend frameworks like React or Vue.js.
Contributions are welcome! Please fork the repository and create a pull request with your changes. Make sure to follow the coding standards and write clear commit messages.