Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

156 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation


HealCare
HealCare

An online healthcare booking web application that allows patients to book appointments with doctors, get online consultations, make online payments, and track their health records.

Key FeaturesTech StackArchitecture & PrinciplesPrerequisitesHow To Use


🚀 Key Features

  • 🔑 Authentication & Authorization: Login/Registration (Patients, Doctors, Admins).
  • 📋 Health Record Management: Store examination results, prescriptions, and medical histories.
  • 🗓️ Appointment Booking: Select doctors, specialties, and hospitals; receive email confirmations.
  • 🎥 Online Consultation: Integrated video calling via Jitsi.
  • 💳 Service Payment: Supports VNPay and MoMo.
  • Reviews & Feedback: Patients can rate and review doctors and services.
  • 📊 Statistics & Reports: Admins can view appointment volume, revenue, and feedback.
  • 🔔 Reminders & Notifications: Send email/push notifications.

🛠 Tech Stack

  • Backend: SpringMVC, Hibernate, Spring Security (JWT Authentication)
  • Frontend: ReactJS, Bootstrap, Axios
  • Database: MySQL
  • Template Engine (Admin panel): Thymeleaf
  • Cloud Storage: Cloudinary (for storing patient photos and medical records)
  • Realtime: Jitsi, Firebase (for online consultations)

🔑 Architecture & Principles

  • Utilizes Dependency Injection (DI) to decouple components, reducing interdependence and increasing scalability and testability.
  • Adheres to SOLID principles to ensure clean and maintainable source code:
    • S: Single Responsibility Principle – Each class has only one responsibility.
    • O: Open/Closed Principle – Open for extension, closed for modification.
    • L: Liskov Substitution Principle – Subclasses can replace their base classes without breaking correctness.
    • I: Interface Segregation Principle – Split large interfaces into smaller, more specific ones.
    • D: Dependency Inversion Principle – High-level modules should not depend on low-level modules, but rather on abstractions (interfaces).
  • Designed following the Modular Monolith pattern with clear layers: Controller, Service, and Repository.

⚙️ Prerequisites

  • JDK 17+
  • Apache Maven 3.8+
  • MySQL 8.0+
  • Node.js 18+
  • IDE: IntelliJ IDEA / Eclipse / VS Code

How To Use

From your command line:

# Clone this repository
$ git clone [https://github.com/trvannhanh/online-healthcare-system](https://github.com/trvannhanh/online-healthcare-system)

# Go into the repository
$ cd wordsoul

# Backend
$ cd HealCareApp
$ mvn clean install
$ mvn spring-boot:run

# Frontend
$ cd healcare-app
$ npm install
$ npm start

About

Online healthcare appointment booking system for patients, doctors, and clinics

Topics

Resources

Stars

4 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages