앞으로 경험이 쌓일수록 계속 업데이트될 글일 것 같아요...!
1. 기획서 작성 및 문서화 기반 만들기 + 팀문화 만들기
Notion 등을 통해 문서화할 수 있도록 만들어두기
코드 리뷰, 팀 규칙 등을 정하기
회의 시간 / 회고 시간 등을 정하기
2. 일정 관리
Jira, Notion, Zenhub 등을 사용하여 일정관리를 할 수 있도록 세팅하기
일정 단위를 어떻게 산정할 것인지
- 일주일 단위로 업무를 산정할 것인지
- 하루 단위로 업무를 산정할 것인지
3. 프로젝트 컨벤션
1) ESLint, Prettier 설정
2) 코드 컨벤션
- 이벤트 핸들러 함수명을 어떻게 지을 것인지 등...
3) 디렉토리 구조 (아키텍처)
- FSD, ...
- 서로가 진행했었던 프로젝트의 디렉토리 구조를 공유해보고, 맞춰나가기
- 클린 아키텍처
4) Git 관련
- Git Flow, GitLab Flow, GitHub Flow
- Git Commit 메시지 컨벤션
- 커밋, PR 단위에 대한 일관성을 위해 이에 대한 의견 공유하기
- Pull Request 관련 보일러플레이트 만들기
- Issue 관련 보일러플레이트 만들기
- Git 커밋 메시지 자동화 툴 사용 여부 고민
- Commitlint: Git 커밋 메시지를 검사하여 컨벤션을 따르는지 체크
- Husky: Git Hook을 설정하여 커밋 및 푸시 전에 자동화된 작업을 설정해줌
4. 프로젝트 세팅
1) Github 레포지토리 생성
README.md 파일 관리 잘하기
- 서비스 소개
- 링크
- 팀원 소개
- 이슈들에 대해서 공부한 기록들
- 기술 아키텍처
- 팀문화
Releases 노트
2) 사용할 기술들 정리
기술 스택들
- UI 라이브러리: React, Vue, Angular, ...
- 상태 관리: Recoil, Redux, Zustand, React Query, ...
- 영상 처리: ffmpeg, Web assemly, WebRTC ...
- 스타일: SCSS, TailwindCSS, Emotion,...
- 테스트: MSW, Jest, Vitest, RTL, ...
- 모니터링: GA, Sentry, Slack, ...
협업 도구
- 일정 관리: Jira, Github Project
- 메신저도구: Slack, KaKaoTalk
- 문서화: Notion ...
3) 프로젝트 환경 세팅
- create-next-app, vite 등이 제공해주는 보일러플레이트를 그대로 사용할 것인지
- 직접 세팅할 것인지
옵션) Docker
5. CI / CD 환경, 배포
1) Github Action
2) 배포할 클라우드 서비스 결정
Vercel, AWS, GCP, Netlify, Azure