EverCare β Integrated healthcare platform providing appointments, medical records, activity , DailyMe (mood and daily logs), blog and real-time monitoring | Academic project (ESPRIT, Tunisia) | Microservices architecture (Spring Boot, Angular)
π₯ EverCare β Microservices Healthcare Platform
π Overview
EverCare is a distributed microservices-based healthcare platform designed to provide real-time patient monitoring, medical data management, and caregiver assistance.
The system focuses on:
π¨ββοΈ Patient safety and monitoring
π Medical data management
β±οΈ Real-time event tracking
π€ Communication between patients, caregivers, and doctors
ποΈ System Architecture
EverCare follows a scalable microservices architecture with clear separation of concerns.
π§ Core Components
Frontend: Angular
Backend: Spring Boot microservices
Authentication: Keycloak
Messaging: RabbitMQ
Service Communication:
REST APIs
Feign Client (synchronous calls)
RabbitMQ (asynchronous events)
WebSocket (real-time updates)
Databases: MySQL / PostgreSQL
Containerization: Docker
π§© Microservices Breakdown
π€ 1. User & Security Service
Authentication via Keycloak
Role-based access control:
Patient
Doctor
Caregiver
API Gateway protection
π©Ί 2. Medical Record Service
Patient medical history management
Clinical data storage
Secure medical access
π
3. Appointment Service
Schedule doctor appointments
Manage availability
Patient-doctor interaction
π 4. Activity Tracking Service
Track daily patient activities
Monitor engagement levels
Behavioral insights
π 5. Notification Service
Real-time alerts
Emergency notifications
Reminder system (medication / appointments)
π° 6. Blog Service
Medical articles and health content
User engagement and comments
π 7. DailyMe Service
Mood tracking
Daily patient logs
Behavioral analytics
π Security Architecture
Security is enforced at multiple levels:
Identity management via Keycloak
JWT-based authentication
Role-based authorization (RBAC)
API Gateway protection layer
Secure inter-service communication
π Microservices Communication
π‘ Synchronous Communication
OpenFeign
Used for direct service-to-service API calls when immediate response is required.
π¬ Asynchronous Communication
RabbitMQ
Used for event-driven communication s β¦