Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

4 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Aegis Suite
Java HTML5 CSS3 JavaScript SQLite License


πŸ₯ Aegis Suite β€” Clinic Management System

A full-stack, enterprise-grade Clinic Management System featuring a dark-themed glassmorphism UI, multi-threaded Java backend, real-time telemetry dashboard, role-based access control, and comprehensive patient EMR management.


πŸ“Έ Overview

Aegis Suite is a Single Page Application (SPA) designed for modern healthcare clinics. It provides a unified platform for managing patients, doctors, appointments, prescriptions, billing, and real-time system diagnostics β€” all accessible through an elegant, premium dark-mode interface with glass-morphism design elements.


✨ Key Features

πŸ” Authentication & Authorization

  • Dual-Portal Login β€” Split login panel with separate Staff Login and Patient Login tabs
  • Staff Registration β€” Register as Doctor, Receptionist, or Administrator with role-specific fields (e.g., medical specialty for doctors)
  • Patient Sign-Up β€” Self-service patient registration with demographics, blood type, and secure passwords
  • Forgot Password β€” Self-service password reset pipeline via email/username lookup
  • Role-Based Access Control (RBAC) β€” Patients see a restricted dashboard; staff get full clinical tools

πŸ‘₯ Patient EMR Directory

  • Consolidated 6-Column Master Index β€” Dense, responsive patient table with:
    • Patient Info (Name, ID, Registration Date)
    • Contact & Demographics (Gender, Age, Phone, Email)
    • Blood Type (color-coded badge)
    • Active Alerts (allergies & chronic conditions)
    • Vitals Trend (SVG sparkline charts)
    • Quick Actions (View, Edit, Delete)
  • Full CRUD Operations β€” Add, edit, view, and retire patient records
  • Real-Time Search & Filtering β€” Instant patient lookup across all fields

πŸ“… Appointment Scheduler

  • Interactive Calendar View β€” Visual scheduling with day/week/month navigation
  • Live Clinical Queue β€” Drag-and-drop Kanban board for appointment status tracking
  • Doctor Availability β€” Schedule appointments based on doctor specialties and availability

πŸ’Š Prescription Management

  • Medication Records β€” Track drug names, dosages, frequencies, and durations
  • Doctor-Patient Linking β€” Each prescription is tied to a specific doctor and patient
  • Active Treatment Dashboard β€” View all active prescriptions at a glance

πŸ’° Billing & Financial Ledger

  • Invoice Generation β€” Create itemized bills with multiple line items
  • Payment Status Tracking β€” Track paid, pending, and overdue invoices
  • Financial Overview β€” Dashboard summaries of total revenue, outstanding amounts, and overdue notices

πŸ“Š Enterprise Telemetry Dashboard

  • Real-Time System Metrics β€” Live monitoring of:
    • JVM Heap Memory Usage
    • Active Thread Count
    • Server Uptime
    • Total API Requests Served
    • Average Response Time
    • Database Record Count
  • Glassmorphism Telemetry Cards β€” Responsive 4-column grid with color-coded accent borders
  • SVG Sparkline Analytics β€” Inline vitals trend visualizations for patient records

🎨 Premium UI/UX

  • Dark Mode Glassmorphism β€” Frosted glass panels with backdrop blur effects
  • Lucide Icon Integration β€” Crisp, modern iconography throughout the interface
  • Micro-Animations β€” Smooth hover effects, transitions, and interactive feedback
  • Fully Responsive β€” Adapts from desktop to tablet to mobile viewports

πŸ—οΈ Architecture

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚                    CLIENT (Browser SPA)                      β”‚
β”‚                                                             β”‚
β”‚   index.html ──── styles.css ──── app.js                    β”‚
β”‚                                   analytics.js              β”‚
β”‚                                   scheduler.js              β”‚
β”‚                                                             β”‚
β”‚   β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”     β”‚
β”‚   β”‚ Auth Portal β”‚  β”‚ Dashboardβ”‚  β”‚ EMR Patient Index  β”‚     β”‚
β”‚   β”‚ (Login/     β”‚  β”‚ (Stats & β”‚  β”‚ (CRUD Table +      β”‚     β”‚
β”‚   β”‚  Signup/    β”‚  β”‚  Tele-   β”‚  β”‚  Sparklines)       β”‚     β”‚
β”‚   β”‚  Forgot PW) β”‚  β”‚  metry)  β”‚  β”‚                    β”‚     β”‚
β”‚   β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜     β”‚
β”‚   β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”     β”‚
β”‚   β”‚ Scheduler   β”‚  β”‚ Prescrip-β”‚  β”‚ Billing & Ledger  β”‚     β”‚
β”‚   β”‚ (Calendar + β”‚  β”‚ tions    β”‚  β”‚ (Invoices +        β”‚     β”‚
β”‚   β”‚  Kanban)    β”‚  β”‚          β”‚  β”‚  Payments)         β”‚     β”‚
β”‚   β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜     β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                       β”‚  HTTP REST API (JSON)
                       β–Ό
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚              JAVA BACKEND (com.sun.net.httpserver)           β”‚
β”‚                                                             β”‚
β”‚   ClinicServer.java ─── Multi-threaded HTTP Server          β”‚
β”‚   β”‚                     (CachedThreadPool on port 8081)     β”‚
β”‚   β”‚                                                         β”‚
β”‚   β”œβ”€β”€ StaticFileHandler  β†’ Serves /public/* assets          β”‚
β”‚   └── ApiHandler         β†’ RESTful JSON endpoints           β”‚
β”‚       β”œβ”€β”€ /api/patients        (GET, POST, PUT, DELETE)     β”‚
β”‚       β”œβ”€β”€ /api/doctors         (GET, POST, PUT, DELETE)     β”‚
β”‚       β”œβ”€β”€ /api/appointments    (GET, POST, PUT, DELETE)     β”‚
β”‚       β”œβ”€β”€ /api/prescriptions   (GET, POST, PUT, DELETE)     β”‚
β”‚       β”œβ”€β”€ /api/billing         (GET, POST, PUT, DELETE)     β”‚
β”‚       β”œβ”€β”€ /api/dashboard       (GET – telemetry metrics)    β”‚
β”‚       β”œβ”€β”€ /api/login           (POST – authentication)      β”‚
β”‚       β”œβ”€β”€ /api/register        (POST – user registration)   β”‚
β”‚       └── /api/forgot-password (POST – password reset)      β”‚
β”‚                                                             β”‚
β”‚   Database.java ─── Data Persistence Layer                  β”‚
β”‚   Logger.java   ─── Request/Response Logging                β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                       β”‚
                       β–Ό
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚                 DATA PERSISTENCE                            β”‚
β”‚                                                             β”‚
β”‚   πŸ“„ clinic_database.json  (JSON flat-file storage)         β”‚
β”‚   πŸ—„οΈ clinic.db             (SQLite database)                β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

πŸ“‚ Project Structure

CLINIC MANAGEMENT SYSTEM/
β”‚
β”œβ”€β”€ πŸ“„ README.md                          # This file
β”œβ”€β”€ πŸ“„ compile.bat                        # Java compilation script
β”œβ”€β”€ πŸ“„ run.bat                            # Server launch script (compile + run)
β”‚
β”œβ”€β”€ πŸ“ data/                              # Persistent data storage
β”‚   β”œβ”€β”€ clinic_database.json              # JSON flat-file database
β”‚   └── clinic.db                         # SQLite database
β”‚
β”œβ”€β”€ πŸ“ lib/                               # Java dependencies (bundled)
β”‚   β”œβ”€β”€ gson.jar                          # Google Gson – JSON serialization
β”‚   β”œβ”€β”€ sqlite-jdbc.jar                   # SQLite JDBC driver
β”‚   β”œβ”€β”€ slf4j-api-2.0.9.jar              # SLF4J logging API
β”‚   └── slf4j-simple-2.0.9.jar           # SLF4J simple implementation
β”‚
β”œβ”€β”€ πŸ“ public/                            # Frontend SPA assets
β”‚   β”œβ”€β”€ index.html                        # Main SPA entry point (1100+ lines)
β”‚   β”œβ”€β”€ πŸ“ css/
β”‚   β”‚   └── styles.css                    # Full design system & glassmorphism theme
β”‚   └── πŸ“ js/
β”‚       β”œβ”€β”€ app.js                        # Core SPA logic, routing, CRUD, auth
β”‚       β”œβ”€β”€ analytics.js                  # SVG sparkline chart engine
β”‚       └── scheduler.js                  # Calendar & appointment scheduling
β”‚
β”œβ”€β”€ πŸ“ src/main/java/com/clinic/          # Java backend source
β”‚   β”œβ”€β”€ ClinicServer.java                 # HTTP server, API routing, handlers
β”‚   β”œβ”€β”€ Database.java                     # Data access layer & persistence
β”‚   β”œβ”€β”€ Logger.java                       # Request/response logging utility
β”‚   └── πŸ“ models/                        # Data model POJOs
β”‚       β”œβ”€β”€ Patient.java                  # Patient entity (vitals, allergies, etc.)
β”‚       β”œβ”€β”€ Doctor.java                   # Doctor entity (specialty, schedule)
β”‚       β”œβ”€β”€ Appointment.java              # Appointment entity
β”‚       β”œβ”€β”€ Prescription.java             # Prescription entity (medications)
β”‚       β”œβ”€β”€ Billing.java                  # Billing/invoice entity (line items)
β”‚       └── User.java                     # Authentication user entity
β”‚
└── πŸ“ target/classes/                    # Compiled Java .class files

πŸš€ Getting Started

Prerequisites

Requirement Version
Java JDK 11 or higher
Operating System Windows 10/11
Browser Chrome, Edge, Firefox (modern)

No Maven, Gradle, or Node.js required! All dependencies are bundled in the lib/ folder.

Installation & Launch

1. Clone the repository

git clone https://github.com/silentguyracer/CLINIC-MANAGEMENT-SYSTEM-.git
cd CLINIC-MANAGEMENT-SYSTEM-

2. Run the application

.\run.bat

This will:

  • βœ… Compile all Java source files
  • βœ… Start the multi-threaded HTTP server
  • βœ… Serve the frontend on http://localhost:8081

3. Open in browser

http://localhost:8081

πŸ”‘ Default Login Credentials

Portal Username / Email Password
Staff Login admin admin123
Patient Login (Register via Sign Up) (Your password)

πŸ› οΈ API Endpoints

Method Endpoint Description
GET /api/patients List all patients
POST /api/patients Create a new patient
PUT /api/patients Update patient record
DELETE /api/patients?id={id} Delete a patient
GET /api/doctors List all doctors
POST /api/doctors Add a new doctor
GET /api/appointments List all appointments
POST /api/appointments Schedule an appointment
GET /api/prescriptions List all prescriptions
POST /api/prescriptions Create a prescription
GET /api/billing List all invoices
POST /api/billing Create a billing entry
GET /api/dashboard System telemetry metrics
POST /api/login Authenticate user
POST /api/register Register new staff/patient
POST /api/forgot-password Reset password

🧰 Tech Stack

Layer Technology
Frontend HTML5, CSS3 (Glassmorphism), Vanilla JavaScript (ES6+)
Icons Lucide Icons (CDN)
Backend Java 11+ with com.sun.net.httpserver
Database SQLite (via JDBC) + JSON flat-file
JSON Parsing Google Gson
Logging SLF4J Simple
Build System Batch scripts (compile.bat, run.bat)
Concurrency CachedThreadPool for multi-threaded request handling

πŸ“ Design Philosophy

  • πŸŒ‘ Dark-First Design β€” Carefully curated dark palette with HSL-tuned accent colors (cyan, purple, emerald, rose, amber)
  • πŸͺŸ Glassmorphism β€” Frosted-glass panels with backdrop-filter: blur() and subtle transparency
  • πŸ“± Responsive-First β€” CSS Grid & Flexbox layouts that adapt across desktop, tablet, and mobile
  • ⚑ Zero Dependencies (Frontend) β€” No React, No Angular, No build step β€” pure vanilla JS SPA
  • πŸ”’ Role-Based Security β€” Patients and staff see entirely different interfaces based on authentication state

🀝 Contributing

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/AmazingFeature)
  3. Commit your changes (git commit -m 'Add AmazingFeature')
  4. Push to the branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

πŸ“„ License

This project is open source and available under the MIT License.


πŸ‘¨β€πŸ’» Author

Sahil Kumar


Built with ❀️ for modern healthcare management
Aegis Suite Β© 2026

Releases

Packages

Contributors

Languages