1.5 KiB
1.5 KiB
Meldestelle - Self-Contained Systems Architecture
This is a Kotlin JVM backend project implementing a Self-Contained Systems (SCS) architecture for an equestrian sport management system.
Architecture Overview
The project follows Domain-Driven Design (DDD) principles with clearly separated bounded contexts:
Implemented Modules
shared-kernel- Common domain types, enums, serializers, validation utilities, and base DTOsmaster-data- Master data management (countries, regions, age classes, venues)member-management- Person and club/association managementhorse-registry- Horse registration and managementapi-gateway- Central API gateway aggregating all services
Module Dependencies
api-gateway
├── shared-kernel
├── master-data
├── member-management
└── horse-registry
horse-registry
├── shared-kernel
└── member-management
member-management
├── shared-kernel
└── master-data
master-data
└── shared-kernel
Technology Stack
- Kotlin JVM - Primary programming language
- Ktor - Web framework for REST APIs
- Exposed - Database ORM
- PostgreSQL - Database
- Kotlinx Serialization - JSON serialization
- Gradle - Build system
Getting Started
Prerequisites
- JDK 17 or higher
- PostgreSQL database
Building the Project
./gradlew build
Running the API Gateway
./gradlew :api-gateway:run
Documentation
See the docs/ directory for detailed architecture documentation and diagrams.