Skip to content

Latest commit

 

History

2 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

MediCore – Hospital Management System

Overview

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.


Features

  • 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

Tech Stack

Backend

  • Java 21
  • Spring Boot
  • Spring Security
  • Spring Data JPA
  • Hibernate

Database

  • PostgreSQL

Authentication

  • JWT (JSON Web Token)
  • OAuth2 (Google/GitHub)

Build Tool

  • Maven

Architecture

Client → REST Controllers → Service Layer → Repository Layer → PostgreSQL Database

Security Layer:

  • JWT Authentication Filter
  • OAuth2 Success Handler
  • Spring Security Configuration

Database Design

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)

API Modules

Authentication

  • User Signup
  • User Login
  • OAuth2 Login

Patient Management

  • Register Patient
  • View Patient Details
  • Update Patient Information

Doctor Management

  • Add Doctor
  • View Doctor Information

Appointment Management

  • Schedule Appointment
  • View Appointment Details

Insurance Management

  • Manage Insurance Records

Security Features

  • Stateless Authentication
  • JWT Token Validation
  • OAuth2 Integration
  • Password Encryption using BCrypt
  • Spring Security Authorization

Learning Outcomes

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

Setup Instructions

  1. Clone the repository
git clone https://github.com/Deepanshimittal11/MediCore.git
  1. Configure PostgreSQL credentials in:
src/main/resources/application.properties
  1. Configure OAuth credentials (optional)
src/main/resources/application.yml
  1. Run the application
mvn spring-boot:run

Author

Deepanshi Mittal

B.Tech Computer Science Engineering

LeetCode: 800+ Problems Solved

GitHub: https://github.com/Deepanshimittal11

About

Developed a full-stack hospital management backend supporting patient registration, appointment scheduling, doctor management, and insurance tracking.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages