Skip to content

Project-Trackly/Trackly-Backend

Repository files navigation

Trackly Backend

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: WorkspaceManagementServiceWorkspaceCommandProcessor, WorkspaceValidator 전략 목록에 의존해 워크스페이스 생성/수정 로직을 확장 가능하게 처리합니다. 신규 정책 추가 시 구현체만 정의하면 되어 OCP를 준수합니다.
  • BusinessException / ErrorCode: 모든 도메인 예외는 BusinessExceptionErrorCode 열거형으로 통일되어, GlobalExceptionHandler가 일관된 응답을 반환합니다.
  • Entity Builder Pattern: 주요 엔티티(User, Workspace, Project 등)는 Lombok @Builder(access = PRIVATE)를 사용해 팩토리 메서드에서만 생성되며, 추후 생성 인자 확장이 용이합니다.

API 문서

상세한 REST API 규격은 API_SPEC.md에서 확인할 수 있습니다.

환경 변수

기존 application.yml/secret.yaml 구조를 그대로 사용합니다. 데이터베이스, JWT, OAuth 공급자 설정을 환경 변수나 별도 시크릿 파일로 주입하세요.

마이그레이션 메모

  • 기존 모노레포의 backend/ 디렉터리 전체를 포함합니다.
  • 프론트엔드 문서/스크립트는 제거했으므로, 백엔드 자료는 README와 향후 AGENTS.md 등에서 관리하세요. .

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages