init: 클린 아키텍처 백엔드

This commit is contained in:
DongHyeonka
2026-07-24 14:29:36 +09:00
parent 9eed16d097
commit 821fe00c32
971 changed files with 74769 additions and 1 deletions
@@ -0,0 +1,27 @@
// Driven adapter: NoSQL persistence scaffolding via Spring Data MongoDB. This is a LIGHTWEIGHT,
// opt-in skeleton — it wires the Mongo driver + a demonstrative document/repository/adapter that
// shows the document<->domain mapping boundary a fork would follow. It does NOT reimplement
// idempotency/outbox/lock on Mongo (those stay JPA-only). Mongo auto-configuration is imported and
// the repositories enabled ONLY when ca-skeleton.persistence-mongo.enabled=true
// (MongoPersistenceConfig), so the driver never connects when the module is merely on the classpath.
//
// spring-boot-starter-data-mongodb's version is managed by the Spring Boot BOM (applied to every
// module in src/build.gradle), so no module-scoped platform is needed. The Testcontainers MongoDB
// integration test uses the BOM-managed Testcontainers, and is skipped when Docker is unavailable.
description = 'Outbound adapter: NoSQL persistence scaffolding (Spring Data MongoDB)'
dependencies {
implementation project(':application-core')
implementation project(':shared-contract')
implementation 'org.springframework.boot:spring-boot-starter-data-mongodb'
annotationProcessor 'org.springframework.boot:spring-boot-configuration-processor'
// test-only: Testcontainers MongoDB integration test for the repository round-trip. Uses the core
// GenericContainer (no dedicated module) so the repository save/find runs against a real MongoDB
// when Docker is available and is skipped (disabledWithoutDocker) otherwise — mirroring the
// object-storage module's MinIO integration test.
testImplementation 'org.testcontainers:testcontainers'
testImplementation 'org.testcontainers:testcontainers-junit-jupiter'
}