A comprehensive Pediatric Nephrology Information System built with a microservices architecture
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.
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 |
- 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
- 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
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
| 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.
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.
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
git clone https://github.com/pediNephro/[repoName].git
cd [repoName]cd eureka-server
mvn spring-boot:runEureka dashboard available at:
http://localhost:8761
cd api-gateway
mvn spring-boot:runGateway runs on:
http://localhost:8080
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.propertiesorapplication.yml.
cd frontend
npm install
ng serveFrontend available at:
http://localhost:4200
- 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