- 프로젝트 수행 결과
- 팀 컨벤션 결정
- 커밋, PR , 팀 규칙, 코드 스타일, 패키지 구조, 기술 스택 등 공통적으로 정해야 할 규칙에 대한 결정
- 깃헙 이슈 및 마일 스톤 활용
- 컨벤션으로 결정된 사항들은 노션으로 정리
- 기획안에 따른 MosCow 작성
- 프론트의 입장에서와 백엔드에서의 입장을 고려하여 양측 모두 기존의 유저스토리를 활용한 MosCow를 작성
- 이후, 회의를 통해 서로에게 공유
- 할 수 있는 분량을 선정하면서 계획을 잡음
- 전체적인 큰 틀을 결정
- API 명세서 작성
- 전체적인 API 명세서 작성
- ERD 작성
- 기본적으로 루틴과 미션 그리고 회원이라는 3가지 개념이 중점이기에 이를 기반으로 하여 작성
- 멘토님과의 미팅을 기반으로 지속적으로 피드백 및 수정
- 어려웠던 부분
- 가변 및 불변의 데이터를 분리
- 테이블을 조회할 때 어떠한 개념으로 접근 해야하는지에 대한 고민이 생김 -> 구현을 하면서 기획에서 수정되는 부분, 추가되는 부분을 지속적으로 추가 및 수정
- 구현 시작
- 기본 엔티티 생성 & 기본 설정 구축
- 팀원들과 함께 기본 엔티티 생성 -> env 파일 및 profile 활용
- 기본 CI 설정 구축
- 각자 맡을 도메인 구분 및 구현 시작
- 중점 이슈 내용
- 표준 예외 vs 사용자 정의 예외
- → 멘토님에게 질문 및 팀원들간의 의견 공유
- → 더 나아가, 예외처리의 위치에 대해서 공유
- @Where 의 사용 및 @FilterDef에 대한 이해
- → 도메인에 대한 @Where의 사용 여부에 대해 회의
- Soft-Delete와 Hard-Delete의 사용
- → 도메인에 대한 이해를 기반으로 선택적 적용
- Js와 Java의 시간에 대한 형식 이해
- JSON 배열 구현
- Swagger와 SpringBoot, guava의 Dependency 버전 충돌
- 도메인 구현
- 응답 구조를 컨벤션에 맞게 Custom하게 구현
- 설계되는 부분에 대해서는 API 명세서에 지속적으로 작성(응답구조, 요청구조)
- 각 도메인 별 유효성 검사를 할 수 있도록 함께 구현
- 인프라 구축
- EC2 생성
- RDS(MySQL) 세팅
- 테스트 DB로는 H2 동시 사용
- S3 설정
- 회원의 프로필 사진을 업로드 할 수 있도록 S3 버킷 설정
- CI/CD에 S3 관련 스크립트 작성
- CD에 대한 스크립트 추가
- CI / CD 마무리
- 프론트와 API 및 화면 연동
- 프론트 개발자들과 함께 협의를 하며 지속적으로 API에 대한 수정 진행
- HTTPS 적용
- 도메인 구입
- EC2 로드밸런서 + Route53 + SSL
- 테스트 코드 작성
- 도메인 별 테스트 코드 작성



