Skip to content

Navigation Menu

Sign in
Sign up

Latest commit

History

3 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

🫘 pediNephro

A comprehensive Pediatric Nephrology Information System built with a microservices architecture


Overview

pediNephro is a specialized healthcare information system designed to support pediatric nephrology departments in managing the full care continuum β€” from patient registration and diagnostic assessments to post-transplant follow-up and inter-departmental coordination.

The platform centralizes clinical workflows, streamlines communication between care teams, and provides real-time dashboards to support data-driven decision-making in pediatric kidney care.


Features

The system is organized into 10 functional modules:

Module Description
πŸ” Module 1 Identity and Authentication Management
πŸ§’ Module 2 Patient Records and Medical Profiles
πŸ§ͺ Module 3 Biological Assessments and Laboratory Tests
πŸ’Š Module 4 Treatment and Prescription Management
πŸ₯ Module 5 Hospitalizations and Care Episodes
πŸ–ΌοΈ Module 6 Medical Imaging and Documentation
πŸ“ˆ Module 7 Vital Signs and Monitoring
🫘 Module 8 Post-Kidney Transplant Follow-up
πŸ”— Module 9 Inter-departmental Coordination and Communication
πŸ“Š Module 10 Dashboards and Analytical Reports

Tech Stack

Frontend

  • Angular β€” Single-page application framework for building the user interface
  • Angular Router β€” Client-side navigation and routing between modules
  • Angular HttpClient β€” REST API communication with backend microservices
  • Bootstrap / Angular Material β€” UI component library and responsive design

Backend

  • Spring Boot β€” Core framework for each microservice
  • Spring Security + JWT β€” Authentication and role-based access control
  • Spring Data JPA + Hibernate β€” ORM for database interactions
  • Spring Cloud Netflix Eureka β€” Service discovery and registration
  • Spring Cloud Gateway β€” API Gateway for routing, load balancing, and cross-cutting concerns
  • MySQL / PostgreSQL β€” Relational database per microservice
  • Maven β€” Dependency management and build tool

Architecture

pediNephro follows a microservices architecture where each functional module is deployed as an independent service.

 β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
 β”‚ Angular Frontend β”‚
 β””β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
 β”‚ HTTP / REST
 β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β–Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
 β”‚ API Gateway β”‚
 β”‚ (Spring Cloud GW) β”‚
 β””β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
 β”‚
 β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
 β”‚ β”‚ β”‚
 β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β–Όβ”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β–Όβ”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β–Όβ”€β”€β”€β”€β”€β”€β”
 β”‚ Auth Service β”‚ β”‚ Patient Svc β”‚ β”‚ Lab Service β”‚
 β”‚ (Module 1) β”‚ β”‚ (Module 2) β”‚ β”‚ (Module 3) β”‚
 β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
 β”‚ β”‚ β”‚
 β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β–Όβ”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β–Όβ”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β–Όβ”€β”€β”€β”€β”€β”€β”
 β”‚ Treatment Svc β”‚ β”‚Hospital Svc β”‚ β”‚ Imaging Svc β”‚
 β”‚ (Module 4) β”‚ β”‚ (Module 5) β”‚ β”‚ (Module 6) β”‚
 β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
 β”‚ β”‚ β”‚
 β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β–Όβ”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β–Όβ”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β–Όβ”€β”€β”€β”€β”€β”€β”
 β”‚ Vitals Svc β”‚ β”‚Transplant Svcβ”‚ β”‚ Coord. Svc β”‚
 β”‚ (Module 7) β”‚ β”‚ (Module 8) β”‚ β”‚ (Module 9) β”‚
 β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
 β”‚
 β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β–Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
 β”‚ Analytics Svc β”‚
 β”‚ (Module 10) β”‚
 β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
 β”‚
 β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β–Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
 β”‚ Eureka Server β”‚
 β”‚ (Service Discovery) β”‚
 β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Each microservice:

  • Runs independently on its own port
  • Registers with the Eureka Discovery Server
  • Is exposed to the frontend exclusively through the API Gateway
  • Manages its own database schema

Contributors

Name Module(s) Role
Souhir Zitoun Module 1 – Identity & Auth Developer
Souhir Zitoun Module 2 – Patient Records Developer
Dhia Dridi Module 3 – Laboratory Tests Developer
Dhia Dridi Module 4 – Treatment & Prescriptions Developer
Alaa Diden Module 5 – Hospitalizations Developer
Alaa Diden Module 6 – Medical Imaging Developer
Med Aziz Turki Module 7 – Vital Signs Developer
Med Aziz Turki Module 8 – Post-Transplant Follow-up Developer
Brahim Boukadida Module 9 – Coordination & Communication Developer
Brahim Boukadida Module 10 – Dashboards & Analytics Developer

πŸ“ Contributors: please update this table with your full names and GitHub profiles.


Academic Context

This project was developed as part of the Software Engineering curriculum at:

πŸŽ“ ESPRIT β€” Γ‰cole SupΓ©rieure PrivΓ©e d'IngΓ©nierie et de Technologies Ariana, Tunisia

It was realized as an end-of-semester engineering project, applying enterprise-grade software architecture patterns in a real-world healthcare domain. The project demonstrates proficiency in distributed systems design, RESTful API development, and modern frontend engineering.


Getting Started

Prerequisites

Make sure the following are installed on your machine:

  • Java 17+
  • Node.js 18+ & npm
  • Angular CLI (npm install -g @angular/cli)
  • Maven 3.8+
  • MySQL or PostgreSQL
  • Git

1. Clone the Repository

git clone https://github.com/pediNephro/[repoName].git
cd [repoName]

2. Start the Eureka Discovery Server

cd eureka-server
mvn spring-boot:run

Eureka dashboard available at: http://localhost:8761

3. Start the API Gateway

cd api-gateway
mvn spring-boot:run

Gateway runs on: http://localhost:8080

4. Start the Microservices

Each module is a standalone Spring Boot application. Navigate to each service directory and run:

mvn spring-boot:run

Ensure each service has its database configured in application.properties or application.yml.

5. Start the Angular Frontend

cd frontend
npm install
ng serve

Frontend available at: http://localhost:4200


Acknowledgments

  • ESPRIT School of Engineering for providing the academic framework and resources
  • The Spring Cloud and Angular open-source communities
  • Our supervising professors and project coordinators for their guidance throughout the development cycle

Made with ❀️ by the pediNephro team Β· ESPRIT Β· 2024–2025

About

this repo explain how the microservices connect together

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

AltStyle γ«γ‚ˆγ£γ¦ε€‰ζ›γ•γ‚ŒγŸγƒšγƒΌγ‚Έ (->γ‚ͺγƒͺγ‚ΈγƒŠγƒ«) /