Skip to content

dana-mld/Mediflow

Repository files navigation

Family Doctor Clinic Management System

A full-stack clinic management system built with Spring Boot, React, and MySQL. Features secure JWT authentication, role-based access control (Doctor/Patient), prescription requests, and testing.

⚕️ Doctor Features

Secure JWT authentication

Patient management (CRUD operations) image

Appointment scheduling and management

Medical records management

Prescription request management image

⚕️ Patient Features

Secure login

image

View medical history

Request prescriptions

⚕️ Technical Features

JWT-based authentication

Role-based access control (RBAC)

RESTful API design

Unit testing with JUnit & Mockito

Containerized with Docker

MySQL database with relationships

Responsive React UI with Bootstrap

Input validation

Error handling

⚕️Tech Stack

  • 🪡 Backend

Java 17

Spring Boot 3.1.5

Spring Security (JWT Authentication)

Spring Data JPA (Database ORM)

MySQL 8.0

Maven (Build tool)

JUnit 5 & Mockito (Testing)

Lombok (Boilerplate reduction)

  • 🪡 Frontend

React 18

Axios (HTTP client)

Bootstrap

Context API (State management)

  • 🪡 DevOps

Docker & Docker Compose

🚀 How to Run

Prerequisites

  • Java 17
  • Node.js 18
  • MySQL 8.0

Backend Setup

1. Clone the repo

2. Create MySQL database

mysql -u root -p -e "CREATE DATABASE doctor_db;"

4. Run backend

./mvnw spring-boot:run

1. Open new terminal

cd clinic-frontend

2. Install dependencies

npm install

3. Run frontend

npm start

For using docker

docker-compose up --build

Login user examples

Doctor: doctor@clinic.com / doctor123 Patient: john.smith@email.com / patient123

About

Spring Boot application for family doctor practice management - patient records, appointments, prescription requests, and medical history

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors