An in-progress comprehensive health and symptom tracker.
Below is a sequence diagram of a typical request flow in the application.
- Methodology: Behaviour Driven Development BDD using Cucumber 4.7
- Microservice Design Patterns: Decomposition by Business Capability, Database per Service, Backend For Frontend BFF and Log Aggregation Observability pattern
- Programming Language: Java 8
- Database: Mongo DB 4.0
- UI Stack: HTML 5, CSS 3, Javascript 3
- Templating Engine: Thymeleaf 3.0
- Framework: Spring Boot 2.1 with Spring-Security, Spring-Data-REST
- Test Framework: JUnit 5, Jupiter Engine
- Documentation: Swagger 2
- Container Platform: Docker
# | Layer | Component | Host | Port | BaseURL | API Documentation |
---|---|---|---|---|---|---|
1 | UI | Sinthoma Web | localhost | 8093 | /sinthoma | |
2 | UI | Sinthoma App | ||||
3 | BFF | Dashboard BFF | localhost | 8094 | /sinthoma/dashboard-bff | /sinthoma/dashboard-bff/swagger-ui.html |
4 | BFF | Daily Tracker BFF | ||||
5 | BFF | Stats Reports BFF | ||||
6 | CORE | User Manager API | localhost | 8092 | /sinthoma/user-manager | /sinthoma/user-manager/swagger-ui.html |
7 | CORE | Symptom Manager API | ||||
8 | CORE | Appointment Manager API | ||||
9 | CORE | Medication Manager API | ||||
10 | CORE | Food Nutrition Manager API | ||||
11 | CORE | Report Manager API | ||||
12 | CORE | Notification Manager API | ||||
13 | CORE | Auth Service | localhost | 8095 | /sinthoma/auth | /sinthoma/auth/swagger-ui.html |
14 | PROXY | Weather Proxy API | ||||
15 | PROXY | Email Proxy API | ||||
16 | DB | Mongo DB | localhost | 8091 | - | |
17 | DB | Mongo DB Express | localhost | 8090 | /db/sinthoma |