A modern, full-fledged Hospital Management System designed to handle daily hospital operations effortlessly. It provides dedicated interfaces for Admins, Doctors, Receptionists, and Patients, seamlessly integrating AI workflows and payment gateways.
- 🔐 Role-Based Access Control (RBAC): Secure authentication and authorization using JWT. Dedicated dashboards for:
- Admin: Manage doctors, patients, and hospital analytics.
- Doctor: View appointments, manage schedules, and access patient records.
- Receptionist: Register patients, handle billing, and coordinate schedules.
- Patient: Book appointments, access medical history, and pay bills.
- 🤖 AI ChatBot Integration: Powered by Google Gemini AI to assist patients with basic queries.
- 💳 Payment Gateway: Razorpay integration for seamless and secure online billing/payments.
- ✉️ Email Notifications: Automated appointment confirmations and alerts via SendGrid.
- 🗺️ Hospital Location: Interactive maps for users leveraging Google Maps API.
- Framework: React.js powered by Vite
- Language: TypeScript
- Styling: CSS / UI Components
- Routing: React Router
- Framework: Spring Boot (Java)
- Security: Spring Security + JWT Tokens
- Build Tool: Maven
- Database: (Configurable via standard Spring Data JPA / Hibernate)
Make sure you have the following installed:
git clone https://github.com/cdtankit128/Hospital-Management-System.git
cd Hospital-Management-System- Navigate to the backend directory:
cd Backend/HMS - Create your environment configuration file:
Rename or copy
.env.exampleto.env.propertiesand fill in your actual database credentials and API keys. (Never commit this file!) - Run the Spring Boot application:
./mvnw spring-boot:run
- Open a new terminal and navigate to the frontend directory:
cd frontend - Install dependencies:
npm install
- Create your local environment file:
Rename or copy
.env.exampleto.env.localand add your frontend API keys (e.g., Google Maps API Key). - Start the development server:
npm run dev
This project uses various external APIs. You must obtain keys for the following services:
- Google Gemini API (AI ChatBot)
- Razorpay (Payments)
- SendGrid (Email Delivery)
- Google Maps API (Maps & Location)
- Secret Key (For signing JWT auth tokens)
Note on Git Hooks:
This repository contains a husky and gitleaks pre-commit hook to prevent the accidental push of API keys and secrets. Do not bypass this hook unless absolutely necessary.
This project is licensed under the MIT License - see the LICENSE file for details.
Contributions, issues, and feature requests are welcome! Feel free to check out the issues page if you want to contribute.