본문 바로가기
Project

Project Day 2 : S.A 작성

by 우 석 2024. 3. 27.

주제: 포인트를 사용한 영화 할인 티켓 교환(주제명은 추후 수정)

  • 관리자게시글에 선착순 댓글 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