MediCore is a backend-driven Hospital Management System built using Spring Boot and PostgreSQL. The system streamlines hospital operations such as patient registration, doctor management, appointment scheduling, insurance management, and secure user authentication.
The project follows a layered architecture and demonstrates real-world backend development concepts including RESTful APIs, database design, ORM mapping, JWT authentication, OAuth2 login, exception handling, and transaction management.
- Patient Registration & Management
- Doctor Management
- Appointment Scheduling
- Insurance Management
- JWT-based Authentication & Authorization
- OAuth2 Login (Google/GitHub)
- Role-Based Access Control
- Global Exception Handling
- RESTful API Architecture
- PostgreSQL Database Integration
- Spring Data JPA & Hibernate ORM
- Java 21
- Spring Boot
- Spring Security
- Spring Data JPA
- Hibernate
- PostgreSQL
- JWT (JSON Web Token)
- OAuth2 (Google/GitHub)
- Maven
Client → REST Controllers → Service Layer → Repository Layer → PostgreSQL Database
Security Layer:
- JWT Authentication Filter
- OAuth2 Success Handler
- Spring Security Configuration
The application models the following entities:
- User
- Patient
- Doctor
- Appointment
- Insurance
- Department
Key Relationships:
- Patient ↔ Insurance (One-to-One)
- Patient ↔ Appointment (One-to-Many)
- Doctor ↔ Appointment (One-to-Many)
- Department ↔ Doctor (Many-to-Many)
- Department ↔ Head Doctor (One-to-One)
- User Signup
- User Login
- OAuth2 Login
- Register Patient
- View Patient Details
- Update Patient Information
- Add Doctor
- View Doctor Information
- Schedule Appointment
- View Appointment Details
- Manage Insurance Records
- Stateless Authentication
- JWT Token Validation
- OAuth2 Integration
- Password Encryption using BCrypt
- Spring Security Authorization
This project helped in gaining hands-on experience with:
- Spring Boot Application Development
- PostgreSQL Database Design
- JPA Entity Relationships
- REST API Development
- Authentication & Authorization
- Layered Software Architecture
- Exception Handling & Validation
- Backend System Design
- Clone the repository
git clone https://github.com/Deepanshimittal11/MediCore.git- Configure PostgreSQL credentials in:
src/main/resources/application.properties
- Configure OAuth credentials (optional)
src/main/resources/application.yml
- Run the application
mvn spring-boot:runDeepanshi Mittal
B.Tech Computer Science Engineering
LeetCode: 800+ Problems Solved