Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Web Based Healthcare CustomerCare System

A comprehensive healthcare management system featuring role-based access control and real-time notifications using the Observer Design Pattern.

Project Overview

This is a web-based healthcare management platform that streamlines operations for medical centers. The system provides role-specific dashboards for customers, receptionists, staff coordinators, customer support managers, senior medical officers, and system administrators.

Features

Core Functionality

  • User Management: Role-based authentication and authorization
  • Appointment Management: Schedule, view, edit, and cancel appointments
  • Medical Records: Store and manage patient medical reports and recommendations
  • Customer Support: Support ticket system with replies
  • Feedback System: Collect and manage customer feedback
  • Real-time Notifications: Observer pattern-based notification system with WebSocket support
  • PDF Export: Generate PDF reports for medical records
  • Doctor Scheduling: Manage doctor schedules and room assignments

User Roles

  • System Admin: User management, system configuration
  • Customer: Book appointments, view medical records, submit feedback and support tickets
  • Receptionist: Manage appointments, patient lookup
  • Senior Medical Officer: View patient history, medical records
  • Staff Coordinator: Manage doctors, schedules, and room assignments
  • Customer Support Manager: Handle support tickets and customer inquiries

Technologies Used

  • Backend Framework: Spring Boot 3.5.6
  • Java Version: 17
  • Database: Microsoft SQL Server
  • ORM: Spring Data JPA / Hibernate
  • Template Engine: Thymeleaf
  • WebSocket: Spring WebSocket for real-time notifications
  • PDF Generation: iText7 and html2pdf
  • Build Tool: Maven
  • Architecture Pattern: Observer Design Pattern for notifications

Prerequisites

Before running this application, ensure you have the following installed:

  • Java JDK 17 or higher
  • Maven 3.6+
  • Microsoft SQL Server (2019 or later recommended)
  • IDE (IntelliJ IDEA, Eclipse, or VS Code)

Installation & Setup

1. Clone the Repository

git clone <your-repository-url>
cd healthcare_customercare

2. Database Setup

  1. Create Database:

    CREATE DATABASE health;
  2. Run SQL Scripts (in order):

    • create_roles_table.sql - Creates role table
    • create_medical_tables.sql - Creates medical-related tables
    • create_notifications_table.sql - Creates notification table
    • sample_medical_data.sql - Optional: Sample data
  3. Configure Database Connection:

    Edit src/main/resources/application.properties:

    spring.datasource.url=jdbc:sqlserver://localhost:1433;databaseName=health;encrypt=false;trustServerCertificate=true
    spring.datasource.username=your_username
    spring.datasource.password=your_password

3. Build the Project

mvn clean install

4. Run the Application

Option 1: Using Maven

mvn spring-boot:run

Option 2: Using Maven Wrapper (Windows)

.\mvnw.cmd spring-boot:run

Option 3: Using Maven Wrapper (Linux/Mac)

./mvnw spring-boot:run

The application will start on http://localhost:8080

Default Credentials

System Admin

  • Email: admin@arogya.com
  • Password: admin123
  • Role: ADMIN

Note: The admin user is automatically created on first application startup. If you need to reset it, delete the admin user from the database and restart the application.

Project Structure

healthcare_customercare/ ├── src/ │ ├── main/ │ │ ├── java/com/example/healthcare_customercare/ │ │ │ ├── config/ # Configuration classes │ │ │ ├── controller/ # REST and Web controllers │ │ │ ├── entity/ # JPA entities │ │ │ ├── observer/ # Observer pattern implementation │ │ │ ├── repository/ # Data access layer │ │ │ ├── service/ # Business logic layer │ │ │ └── HealthcareCustomercareApplication.java │ │ └── resources/ │ │ ├── application.properties │ │ ├── static/ # Static HTML files for testing │ │ └── templates/ # Thymeleaf templates │ └── test/ # Test files ├── pom.xml # Maven dependencies └── *.sql # Database scripts

Happy Coding!

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages