Spring Boot 3 기반 OAuth 및 API 서버 코드베이스입니다. 기존 모노레포에서 분리되었으며, 이 저장소만으로 백엔드 빌드와 배포가 가능합니다.
- Java 17 / Spring Boot 3
- Spring Security, OAuth2 Client, JWT 기반 인증
- JPA/Hibernate, PostgreSQL
- Gradle Wrapper
.
├── app/ # Spring Boot 애플리케이션 모듈
├── auth/ # 인증/인가 서비스 모듈
├── common/ # 공통 설정 및 유틸리티 (ErrorCode, HttpStatus 등)
├── domain/ # 도메인 엔티티 모듈
├── persistence/ # 저장소 모듈
└── build.gradle 등 # 멀티모듈 빌드 스크립트
./gradlew build # 전체 빌드
./gradlew test # 테스트 실행
./gradlew :app:bootRun # 로컬 실행- Workspace Command Pipeline:
WorkspaceManagementService는WorkspaceCommandProcessor,WorkspaceValidator전략 목록에 의존해 워크스페이스 생성/수정 로직을 확장 가능하게 처리합니다. 신규 정책 추가 시 구현체만 정의하면 되어 OCP를 준수합니다. - BusinessException / ErrorCode: 모든 도메인 예외는
BusinessException과ErrorCode열거형으로 통일되어,GlobalExceptionHandler가 일관된 응답을 반환합니다. - Entity Builder Pattern: 주요 엔티티(
User,Workspace,Project등)는 Lombok@Builder(access = PRIVATE)를 사용해 팩토리 메서드에서만 생성되며, 추후 생성 인자 확장이 용이합니다.
상세한 REST API 규격은 API_SPEC.md에서 확인할 수 있습니다.
기존 application.yml/secret.yaml 구조를 그대로 사용합니다. 데이터베이스, JWT, OAuth 공급자 설정을 환경 변수나 별도 시크릿 파일로 주입하세요.
- 기존 모노레포의
backend/디렉터리 전체를 포함합니다. - 프론트엔드 문서/스크립트는 제거했으므로, 백엔드 자료는 README와 향후
AGENTS.md등에서 관리하세요. .