Project
Project Day 2 : S.A 작성
우 석
2024. 3. 27. 21:36
주제: 포인트를 사용한 영화 할인 티켓 교환(주제명은 추후 수정)
- 관리자게시글에 선착순 댓글 10명 포인트(동시성이슈)
- 상품 등록 시 이미지(s3)
- 관리자 게시글 조회(캐싱) -> 회원로그인(캐싱)
- CICD를 이용한 자동 테스트 구축
- CICD와 Docker이미지를 이용한 배포
기능 구현 회의

코드컨벤션
1. JDK version
- JAVA 17
2. Code Style
https://github.com/google/styleguide/
GitHub - google/styleguide: Style guides for Google-originated open-source projects
Style guides for Google-originated open-source projects - google/styleguide
github.com
Intellij 설정 → Editor → General → Ensure every saved file ends with a line break 체크!
3. 코딩 컨벤션 변수명은 카멜 표기법으로 작성 (userName)
- 리스트는 복수형으로
- 클래스명은 파스칼 표기법으로 작성 (UserName)
- DB 컬럼명은 스네이크 표기법으로 작성 (user_name)
- Ctrl + Alt + L 정렬
- Ctrl + Alt + O 사용하지 않는 import 제거
- → Ctrl + S
4. Commit Convension
기능 단위로 커밋
{type}({scope}): {한글 커밋 메시지}
ex) feat(user): 로그인 기능 개발
(body) ~~
5. 검증 메서드
void validate() // 내부에서 검증 실패 시 exception
boolean is~ / has~ / can~ () 값을 받아서 결과값에 따라 익셉션 또는 정상 로직 수행
public isUserExists(Long id){
return repository.existsById(id);
}
6. repository rule
- 반환 타입이 Optional일 경우 find____ 사용
- 반환 타입이 @NotNull Entity일 경우 get___ 사용
- 존재여부 확인은 exists____ 사용
와이어프레임

ERD

API 명세서
https://teamsparta.notion.site/17b7d0c1b7be44a2bf0141b6109ed30d?v=74bc6889cd284f53b7224afaa274f123
API 명세서 | Notion
Built with Notion, the all-in-one connected workspace with publishing capabilities.
teamsparta.notion.site