[Spring] 심화 팀프로젝트 -Trello 만들기!

JunWoo An·2023년 12월 26일
0

스파르타코딩클럽

목록 보기
40/46
post-thumbnail

최종 프로젝트 앞서 심화주간에 공부한것들과 기존의 공부한것들로 Trello와 같은 협업도구를 만드는 팀프로젝트가 발제되었다.

우선 여러번의 팀프로젝트가 진행되면서 코드나 깃의 컨벤션이 정해져있지않아 코드의 생산성이 저하되는 문제가 여러차례 발생하여 이번에는 팀프로젝트 SA작성때 해당 부분을 정하고 시작하였다.

컨벤션

깃 컨벤션

  • 브랜치 컨벤션 main dev feature HOTFIX refactor
  • 커밋 컨벤션 feat: 기능 추가 test: 테스트 코드 추가 refactor: 리팩토링 !HOTFIX: 메인 핫픽스 fix: 자잘한 이슈 픽스 이슈 등록 후 #이슈번호 feat: 기능 추가

코드 컨벤션

  • 구글 자바 스타일 사용
  • CRUD 메소드 명 (예시)
    • 유저 가입
      • createUser
    • 유저 정보 수정
      • updateUser
    • 유저 삭제
      • deleteUser
    • 유저 정보 보기
      • getUser
    • 유저들 정보 보기
      • getUserList
  • Entity 생성
    • 빌더 팩토리 패턴 사용
    • 매개변수 Dto 넣어서 사용 vs 원시타입 넣어서 사용
  • Dto 레코드 클래스 사용
  • ResponseDto
  • 메서드 규칙
public User saveUser(Long id) {
	// 논리별로 뭉치고 한칸 띄우는 식으로 나누기
	User user = new User(id)
	// 리턴 전에는 한 칸 개행
	return user;
}
  • 각 기능별 통합 테스트 코드 3개 작성 (정상, 예외 처리 등등)

와이어 프레임

다음으로는 Trello사이트를 토대로 어떠한 기능이 쓰일지에 대해 생각하며 와이어프레임을 작성하였다.

ERD

다음으로는 Trello 사이트를 분석하여 Trello에서 사용된 API들을 토대로 각 도메인에는 어떤 필드들이 필요하며 도메인간 어떤 연관관계로 묶여있는지에 대해 ERD로 작성하였다.

API 명세

마지막으로 REST API설계를 위해 최대한 구체적인 API 명세를 작성하였다. 아래는 내가 맡은 유저도메인에서 사용될 API명세이다.

이번 팀프로젝트는 팀원 모두가 의욕이 넘쳐 필수는 물론 선택기능까지 다 구현해버릴 기세여서 나도 뒤처지지않을려면 열심히 해야겠다는 긴장감이 생겼다. 최종프로젝트에 앞서 내가 어디까지 할수있는지 시험해보기에도 좋은 기회가 온것같아 열심히 도전해보려고한다.

profile
도전하는 사람

0개의 댓글