본문 바로가기

project

[pre-project] 1일차

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 설계

https://www.erdcloud.com/

 

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에 종속적인 관계이고 연관관계를 둘다 가져가 줘야 하는데 어떻게 매핑할지 고민이다.