# acquire-core-migration 카드 **매입·정산** 레거시 C 슬라이스를 **Spring Boot** 멀티모듈로 전환하기 위한 **마이그레이션 모노레포**(테스트 픽스처). 소스(레거시)와 타겟(Spring 스켈레톤)을 한 저장소에 두고, `MIGRATION.md` 의 규칙표를 따라 에이전트가 증분 이식한다. ## 레이아웃 ``` acquire-core-migration/ ├── legacy/ # SOURCE — 빌드되는 레거시 C 슬라이스 (TxCore 프레임워크 + 매입/정산 앱). 읽기 전용. ├── boot/ # TARGET — Spring Boot 멀티모듈 스켈레톤 (Java 17, Spring Boot 3.3.x) │ ├── pom.xml # 부모 (packaging pom) │ ├── common-framework/ # 모듈 1 — TxCore 의 Spring 대체 스타터 (라이브러리 jar) │ └── modules/acquiring/ # 모듈 2 — 매입 업무 (@SpringBootApplication), common-framework 의존 ├── MIGRATION.md # 전환 플레이북 (레거시→Spring 규칙표 + 배치 규약) ├── .forgejo/workflows/ci.yml # CI — Spring 타겟 빌드/테스트 └── .gitignore ``` ## 두 단계 전환 계획 1. **공통 프레임워크 우선.** TxCore(`legacy/framework/txcore/`) → `boot/common-framework/`. 서비스 디스패처·TXBUF·트랜잭션·로깅·전문 코덱 규약을 먼저 착지시킨다. 2. **업무 모듈.** 매입/정산(`legacy/app/`) → `boot/modules/acquiring/`. `common-framework` 에 의존하며 매입접수 → 정산집계 → 대사 배치 순으로 채운다. 자세한 매핑은 [`MIGRATION.md`](./MIGRATION.md). ## 빌드 ### 타겟 (Spring Boot 스켈레톤) ```sh docker run --rm -v "$PWD":/src -w /src/boot maven:3.9-eclipse-temurin-17 \ bash -lc "mvn -q -B -DskipTests=false test" ``` 빈 스켈레톤이 컴파일되고 스모크 테스트가 초록이면 성공. DB 불필요. ### 소스 (레거시 C, 참고용) ```sh docker run --rm -v "$PWD/legacy":/src -w /src debian:12 bash -lc \ "apt-get update -qq && apt-get install -y -qq build-essential libecpg-dev libpq-dev postgresql-server-dev-all >/dev/null 2>&1; make clean; make" ``` 레거시 슬라이스의 상세는 [`legacy/README.md`](./legacy/README.md).