Stackoverflow Q&A 게시판 클론 코딩을 프론트엔드 측이랑 협업하는 pre-project를 시작했다.
이 화면을 클론 코딩해야 한다.
할 게 너무 많아 보여서 일단 사용자 요구사항 정의서를 작성하고 제출했다.
1. 사용자 요구사항 정의서
팀원들과 같이 작성한 정의서이기 때문에 내용은 모자이크 했다!
로그인 로그아웃 질문페이지 등등 사용자가 로그인하고 로그인 된 회원만 수정할 수 있게 하는 권한을 비고에 추가하였다.
2. branch 설정, commit 타이틀, pr template, merge 방식, README.md
→ 커밋 타이틀은 프론트엔드 분의 의견으로 gitmoji로 시작하기로 했다
→ branch는 세가지로 진행하기로 했다. main/ dev/ feature
main
⌙ front-dev ⌙ back-dev
⌙ feature/login ⌙ feature/filter
feature 브랜치는 해당 기능을 구현하면 squashandmerge 형식으로 진행되기 때문에 삭제하고 dev로 merge되면 프론트와 백엔드 서버에서 conflict 없이 잘 구동되면 최종적으로 main 브랜치에 merge 합니다!
깃허브 원툴이신 팀원분께서 너무나 좋은 기능들을 많이 알려주셨다.
→ 만약에 dev 브랜치에서 main으로 pr을 create하고 merge 하고 싶다 하면 최종 브랜치에 올리는 것이기 때문에 reviewers가 있으면 좋을 것 같다는 의견이 나왔다.
그래서 프론트는 프론트 팀원들끼리, 백엔드는 백엔드 팀원들끼리 review하고 ok되면 merge하기로 했는데 그 기능을 github에서 해주고 있었다는 사실..
저기 우측 상단에 Reviewers에 해당 팀원분들 깃헙 아이디를 넣으면 팀원분들이 approval 승인을 내줄때까지 최종 merge가 안된다. 마찬가지로 밑에 Labels랑 Milestone도 넣어주면 된다.
→ 그리고 특정 브랜치 깃허브 파일들 클론받고 싶으면 클론받고 싶은 폴더 터미널에서 열고
$ git clone -b <branch명> <remote_repo 주소>
명령어 입력해주면 그 브랜치 내용들만 잘 클론된다.
→ pull request template도 깃허브 디렉토리에 push하면 사용할 수 있다는 사실..도 오늘 알았다.
진짜 프로젝트의 중요성을 깨닫는다 ㅠㅠ 우리는 .github 디렉토리에 모든 template를 관리한다.
3. ERD Diagram 설계
ERDCloud
Draw ERD with your team members. All states are shared in real time. And it's FREE. Database modeling tool.
www.erdcloud.com
여기 사이트에서 진행했다. 팀원 분 중 한분이 소개해 줬는데 공유하면서 같이 고쳐나갈 수 있고 테이블 매핑도 쉽고 무엇보다 OneToMany와 같이 관계 매핑해주면 PK랑 FK를 알아서 지정해줘서 좋다.
전에 한 과제에서 Stamp와 Member가 종속적이고 일대일이라 OneToOne 관계로 매핑해줬는데
우리가 설계한 Vote가 Answer과 Question에 종속적인 관계이고 연관관계를 둘다 가져가 줘야 하는데 어떻게 매핑할지 고민이다.
'project' 카테고리의 다른 글
Querydsl 동적쿼리 실행계획 살펴보기 join(nested loop join, hash join)문과 인덱스 (0) | 2024.02.23 |
---|---|
[spring] Websocket Stomp 두번의 프로젝트 회고 (0) | 2023.09.15 |
중고거래 플랫폼 (당근마켓 클론) 개인 프로젝트 20일 챌린지 [0] (1) | 2023.01.31 |
[main-project] 회고 (0) | 2022.12.13 |