6개월이라는 대장정을 거치고 첫번째 프로젝트를 시작하게 되었다.
프로젝트라는 것 자체가 나에게 처음이었기 때문에,
아이디어 기획이나, 실제 코드 구현 뿐만 아니라,
다양한 협업툴들 또한 익숙하지 않은 듯 하다.
나중에 사이드 프로젝트를 할 때도 참고하면 좋을 듯해서, 그 플로우를 한 번 정리해보고자 한다.
3. 기능 리스트 업 : 우선 필요한 기능들을 두서없이 쭉 나열해보자.
-> 그리고 세가지 단계로 나눠서 구현 기능들을 정리해본다.
a. requirement b. advanced c. nightmare
4. 시스템 아키텍쳐 구성하기
: 즉, 해당 서비스를 구성하는 다양한 페이지를 나눠 보는 것이다.
-> 이 때 주로 사용하는 툴은 miro와 figma 이다.
둘다, UIUX 구현을 위해 전체적인 구조를 짜는 툴이라고 보면 된다.
개인적으로 피그마를 좀 더 추천!
한 때 스케치도 많이 썼다고 하는데, 요즘 피그마로 많이 넘어오는 듯한다.
미로는 무료로는 3개 보드만 제작 허용하고, 이상은 유료여야 한다고 함.
5. 각 페이지 내의 컴포넌트를 논의, 그리고 기능 플로우 작성
-> 위에서는 페이지들을 구성했으면, 각 페이지 내의 세부적인 구성을 짬
6. 스키마 작성 : 데이터 베이스의 구성을 짠다.**
-> dbdiagram 일반적으로 해당 프로그램을 사용하는 것을 추천!
7. API 작성 : 완전 제일 중요한 작업!!!!
한 번 보고 , 두 번 다시 보고 아무리 꼼꼼하게 봐도 부족하지 않을 작업이다!
-> git book 해당 프로그램을 활용해보자.
8. 마일스톤 작성하기
9. 팀룰 정하기
-> commit message / branch 규칙 / PR 관리 / 이슈 관리
/코딩 스타일 / 변수 이름 / 파일, 생성자 이름
/ 디자인 패턴 (MVC 패턴,Atomic 패턴,등등) / lint
/버전관리 / 이외에도 필요하다 생각되는 팀 룰들
프로젝트 협업에 대해 관리하는 다양한 방법이 있겠지만(ex.노션, 트렐로 등)
코드 작업 자체를 git으로 진행하다보니 git으로 협업 관리를 진행하는 것이 좋다고 생각한다.
프로젝트 진행할 레포에 프로젝트를 생성한다.
-> 여기서 생성하는 프로젝트는 프로젝트 안의 프로젝트로,
주차별 계획으로 생각하면 좀 더 편할 것이다. 물론 이러한 세부적인 계획의 기준이 꼭 주차별일 필요는 없다.
프로젝트 내에, 세부적인 태스크 카드를 생성한다.
-> 일종의 스터디 플래너를 짤 때, 구체적인 투두리스트를 작성한다고 보면 된다. 담당자와 예상 소요시간을 설정해둔다.
-> 태스크 카드는 뉴 이슈를 생성하여, 프로젝트와 연결하여 관리하면 된다.
해당 태스크카드 진행 시에, 이슈번호와 동일하게 브랜치명을 적용하여 브랜치를 만든 후에, 코드를 작성한다.
그리고 PR후에 해당 이슈와 연동한다.