Skip to content

shishir-insane/sinthoma

Repository files navigation

sinthoma

An in-progress comprehensive health and symptom tracker.

Status badge Codacy Badge Build Status codecov License: LGPL v3 Requirements Status

High Level Component Architecture Diagram

Sinthoma Components

Low Level Design

Sequence Diagram

Below is a sequence diagram of a typical request flow in the application.

Typical Sequence Diagram

Stack Used

  1. Methodology: Behaviour Driven Development BDD using Cucumber 4.7
  2. Microservice Design Patterns: Decomposition by Business Capability, Database per Service, Backend For Frontend BFF and Log Aggregation Observability pattern
  3. Programming Language: Java 8
  4. Database: Mongo DB 4.0
  5. UI Stack: HTML 5, CSS 3, Javascript 3
  6. Templating Engine: Thymeleaf 3.0
  7. Framework: Spring Boot 2.1 with Spring-Security, Spring-Data-REST
  8. Test Framework: JUnit 5, Jupiter Engine
  9. Documentation: Swagger 2
  10. Container Platform: Docker

Maven Module Design - Current State

Sinthoma Maven Modules

API Summary

# 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