1.1 KiB
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
- Start dependencies:
docker compose up -d
- Run the API:
./gradlew :app:bootRun -Dspring.profiles.active=local
- Run the worker:
./gradlew :workers:notification-worker:bootRun
Auth (local profile)
For local development, add headers:
X-Local-User: user idX-Local-Tenant: tenant idX-Local-Roles: comma-separated roles (ADMIN, DOCTOR, CAREGIVER)
OpenAPI
Key services
- Postgres: localhost:5432 (mosenioring/mosenioring)
- Keycloak: http://localhost:8081 (admin/admin)
- RabbitMQ: http://localhost:15672 (guest/guest)
- MinIO: http://localhost:9001 (minio/minio123)
Notes
- Tenant ID is enforced via
TenantFilterusing JWT claimtenant_id, orX-Tenant-Idheader (local). - Medication plan creation publishes a
MedicationPlanCreatedoutbox event. - Worker consumes and emits
NotificationRequestedevents with idempotency via Redis.