2026.02.27(금) 13시 - 2026.03.23(월) 14시
1. 설계 및 그라운드 룰 정하기
- 프로젝트 요구사항 정독
- ISBN 매칭 로직, 비즈니스 목표 파악 + TDD(Red-Green-Refactor) 사이클 숙지
- 팀 규칙 정하기 (Ground Rule)
- 데일리스크럼 규칙, Git 전략, 코드 컨벤션, PR 리뷰 규칙, 의사소통 등
- 각자 맡을 파트 정하고, 테이블 및 데이터 모델링
- 통합 ERD 제작
- 연관관계, 인덱스 최적화, Enum 상태값 등 포함
- 팀 & 개인별 상세 일정 수립 → TDD 진행 및 테스트 커버리지 80% 달성을 고려해서 일정 수립하기
2. 공통 인프라 및 기반 코드
- 공통 프로젝트 구조(보일러 플레이트) 제작
Entity / Repository / Service / Controller 기본 패키징 + JaCoCo 테스트 커버리지 설정(CodeCov 뱃지 포함)
외부 API 호출 모듈 추상화
~~Naver API, OCR Space API 를 사용하므로, Mock 테스트 등을 대비해서 외부 API 통신 인터페이스 미리 정의~~
공통 ResponseDTO , ErrorCode Enum, GlobalExceptionHandler
- 설정 파일 :
yml , CI(Github Actions→PR시 테스트 및 커버리지 80% 검증), Dockerfile, schema.sql, QuerydslConfig 등
- AWS 깡통 배포하기
-
기능이 없는 상태에서 AWS EC2/RDS 환경 세팅 후 CI와 CD(선택) 파이프라인을 통해서 배포 확인
→ 인프라 설정 리스크 조기에 제거해서 중간에 배포 장애 방지
3. 기본 기능 및 API 명세
- 기본 CRUD 구현 및 API 명세(Swagger) 작성
- TDD 준수 : Red(실패) → Green(성공) → Refactor 사이클에 따른 단계별 커밋 남기기.
- 추상화된 모듈을 기반으로 기본 기능 개발
Github flow : Main ↔ Dev ↔ Feat
- 통합 검증 및 Main 배포
- CI 검증 : PR 시 테스트 통과 및 커버리지 80% 미달 시 머지 불가 설정 확인
- dev 브랜치에서 기능 작동 확인 후 main으로 머지해서 실제 AWS 환경에서의 동작 점검
4. 심화 기능 고도화
- 심화 기능 구현
- ISBN 정보는 이미지 OCR을 통해 입력할 수 있다. → OCR Space API 활용
- 날짜 별 로그를 S3에 주기적으로 적재하기
- Spring Batch를 활용한 안정적인 배치 관리
- Spring Batch를 활용해 배치 작업을 관리
- 커스텀 메트릭을 정의해 Spring Actuator를 통해 배치 작업 데이터를 모니터링하기
5. 추가 기능 및 마무리
- 추가 기능 구현(선택)
- 각자 해보고 싶은 추가 기능을 구현.
- ex. 비동기 알림 처리 (@Async), 성능 모니터링 대시보드, Redis 등
- 최종 점검 및 트러블 슈팅 문서화
- 발생했던 이슈, 해결과정 정리 → 발표 자료에 넣기
- README 업데이트 : 메인 브랜치 README에 테스트 커버리지 뱃지(CodeCov) 표시
- 트러블 슈팅, 기술적 결정기록은 평상시에 그때그때 작성.