mosenioring/back001
2026-01-09 19:01:46 +01:00
..
app cloude review 2026-01-09 19:01:46 +01:00
common cloude review 2026-01-09 19:01:46 +01:00
docker/keycloak init backend 2026-01-09 18:35:06 +01:00
gradle/wrapper init backend 2026-01-09 18:35:06 +01:00
modules cloude review 2026-01-09 19:01:46 +01:00
workers/notification-worker init backend 2026-01-09 18:35:06 +01:00
.gitignore init backend 2026-01-09 18:35:06 +01:00
build.gradle.kts init backend 2026-01-09 18:35:06 +01:00
docker-compose.yml codex auto review 2026-01-09 18:40:59 +01:00
gradle.properties init backend 2026-01-09 18:35:06 +01:00
gradlew init backend 2026-01-09 18:35:06 +01:00
gradlew.bat init backend 2026-01-09 18:35:06 +01:00
README.md init backend 2026-01-09 18:35:06 +01:00
requests.http init backend 2026-01-09 18:35:06 +01:00
settings.gradle.kts init backend 2026-01-09 18:35:06 +01:00

Mosenioring Backend

Production-ready Kotlin/Spring Boot 3 modular monolith skeleton for patient-caregiver-doctor coordination.

Requirements

  • Java 21
  • Docker + Docker Compose

Local Dev

  1. Start dependencies:
docker compose up -d
  1. Run the API:
./gradlew :app:bootRun -Dspring.profiles.active=local
  1. Run the worker:
./gradlew :workers:notification-worker:bootRun

Auth (local profile)

For local development, add headers:

  • X-Local-User: user id
  • X-Local-Tenant: tenant id
  • X-Local-Roles: comma-separated roles (ADMIN, DOCTOR, CAREGIVER)

OpenAPI

Key services

Notes

  • Tenant ID is enforced via TenantFilter using JWT claim tenant_id, or X-Tenant-Id header (local).
  • Medication plan creation publishes a MedicationPlanCreated outbox event.
  • Worker consumes and emits NotificationRequested events with idempotency via Redis.