mosenioring/back001/README.md
2026-01-09 18:35:06 +01:00

1.1 KiB

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.