refactor: Migrate from monolithic to modular architecture
- Restructure project into domain-specific modules (core, masterdata, members, horses, events, infrastructure) - Create shared client components in common-ui module - Implement CI/CD workflows with GitHub Actions - Consolidate documentation in docs directory - Remove deprecated modules and documentation files - Add cleanup and migration scripts for transition - Update README with new project structure and setup instructions
This commit is contained in:
@@ -0,0 +1,45 @@
|
||||
plugins {
|
||||
`java-platform`
|
||||
`maven-publish`
|
||||
}
|
||||
|
||||
javaPlatform {
|
||||
allowDependencies()
|
||||
}
|
||||
|
||||
dependencies {
|
||||
api(platform("org.springframework.boot:spring-boot-dependencies:3.2.0"))
|
||||
api(platform("org.jetbrains.kotlin:kotlin-bom:2.1.20"))
|
||||
api(platform("org.jetbrains.kotlinx:kotlinx-coroutines-bom:1.10.1"))
|
||||
|
||||
constraints {
|
||||
api("com.github.ben-manes.caffeine:caffeine:3.1.8")
|
||||
api("io.projectreactor.kafka:reactor-kafka:1.3.22")
|
||||
api("org.springdoc:springdoc-openapi-starter-webmvc-ui:2.3.0")
|
||||
api("org.springdoc:springdoc-openapi-starter-webflux-ui:2.3.0")
|
||||
api("org.springdoc:springdoc-openapi-starter-common:2.3.0")
|
||||
api("org.redisson:redisson:3.27.1")
|
||||
api("io.lettuce:lettuce-core:6.3.1.RELEASE")
|
||||
api("io.github.microutils:kotlin-logging-jvm:3.0.5")
|
||||
api("org.jetbrains.exposed:exposed-core:0.52.0")
|
||||
api("org.jetbrains.exposed:exposed-dao:0.52.0")
|
||||
api("org.jetbrains.exposed:exposed-jdbc:0.52.0")
|
||||
api("org.jetbrains.exposed:exposed-kotlin-datetime:0.52.0")
|
||||
api("org.postgresql:postgresql:42.7.3")
|
||||
api("com.zaxxer:HikariCP:5.1.0")
|
||||
api("com.h2database:h2:2.2.224")
|
||||
api("org.jetbrains.kotlinx:kotlinx-serialization-json:1.8.1")
|
||||
api("org.jetbrains.kotlinx:kotlinx-datetime:0.6.1")
|
||||
api("com.benasher44:uuid:0.8.2")
|
||||
api("com.ionspin.kotlin:bignum:0.3.8")
|
||||
api("com.orbitz.consul:consul-client:1.5.3")
|
||||
}
|
||||
}
|
||||
|
||||
publishing {
|
||||
publications {
|
||||
create<MavenPublication>("maven") {
|
||||
from(components["javaPlatform"])
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,16 @@
|
||||
plugins {
|
||||
`java-library`
|
||||
kotlin("jvm")
|
||||
}
|
||||
|
||||
dependencies {
|
||||
api(platform(projects.platform.platformBom))
|
||||
|
||||
api("org.jetbrains.kotlin:kotlin-stdlib")
|
||||
api("org.jetbrains.kotlin:kotlin-reflect")
|
||||
api("org.jetbrains.kotlinx:kotlinx-coroutines-core")
|
||||
api("org.jetbrains.kotlinx:kotlinx-coroutines-reactor")
|
||||
api("io.github.microutils:kotlin-logging-jvm")
|
||||
api("org.jetbrains.kotlinx:kotlinx-serialization-json")
|
||||
api("org.jetbrains.kotlinx:kotlinx-datetime")
|
||||
}
|
||||
@@ -0,0 +1,35 @@
|
||||
plugins {
|
||||
`java-library`
|
||||
kotlin("jvm")
|
||||
}
|
||||
|
||||
dependencies {
|
||||
api(platform(projects.platform.platformBom))
|
||||
|
||||
// Kotlin Test
|
||||
api("org.jetbrains.kotlin:kotlin-test")
|
||||
api("org.jetbrains.kotlin:kotlin-test-junit")
|
||||
|
||||
// JUnit
|
||||
api("org.junit.jupiter:junit-jupiter-api")
|
||||
api("org.junit.jupiter:junit-jupiter-engine")
|
||||
api("org.junit.jupiter:junit-jupiter-params")
|
||||
|
||||
// Mocking and Assertions
|
||||
api("io.mockk:mockk:1.13.8")
|
||||
api("org.assertj:assertj-core:3.24.2")
|
||||
|
||||
// Coroutines Testing
|
||||
api("org.jetbrains.kotlinx:kotlinx-coroutines-test")
|
||||
|
||||
// Spring Boot Testing
|
||||
api("org.springframework.boot:spring-boot-starter-test")
|
||||
|
||||
// Database Testing
|
||||
api("com.h2database:h2")
|
||||
|
||||
// Test Containers
|
||||
api("org.testcontainers:testcontainers:1.19.5")
|
||||
api("org.testcontainers:junit-jupiter:1.19.5")
|
||||
api("org.testcontainers:postgresql:1.19.5")
|
||||
}
|
||||
Reference in New Issue
Block a user