휴지통
⛳ 팀 마일스톤
✍️ 팀 회의록
🏁 개인 목표
- 곽연경 : 1. 투박하지 않은 UI 2. 상태관리에 대한 고민, 선택 3. 코드 퀄리티 4. 협업 경험
- 김나현 : 기획부터 배포까지 협업의 전체적인 프로세스를 이해하는 것.
- 박종운 : 협업 경험과 실제 서비스 경험 쌓기, 디자인 시스템 적용해보기
- 신지희 : 이번 목표는 1. styled-components에 익숙해지기 2. 컴포넌트 재사용성에 집중해 구현하기. 3. 유저가 ‘사용할만한’ 프로젝트를 만들기. 완성도 높은 프로젝트가 되었으면 한다.
- 최용재 : 겉이 이쁜 프로젝트보다는 코드 완성도가 높은 결과물 만들기. 팀원들이 게을러질 수 있도록 재사용성 높이기.
🤝 팀 문화
Agile하게! ⇒ 여러 번의 짧은 스프린트로 개발 진행하자
- 스프린트 단위
- 권장 4~5일, 최대 1주 단위 스프린트
- 4번 개발 스프린트
- QA 스프린트
- 시간 남으면
- 하루 이틀
- 스프린트 과정
- 스프린트 첫날
- 스프린트 목표 세우기
- 팀 목표
- 역할 분담
- 본인이 하고 싶은 일 선정
- 예상 시간 산정
- 다 나뉘어지면 회의
- 둘째날부터
- 오픈 스크럼 (최대 25분)
- 컨디션 점수 + TMI
- 오늘 할 거
- 깃헙 칸반보드 화면공유
- 각자 지금 맡은 기능 진행상황을 %로 얘기
- 질문사항
- 고민되는 부분
- 에러 트러블슈팅 도와주세용
- 클로징 스크럼
- 오늘 한 거
- 체크리스트 체크
- 질문사항
- 고민되는 부분
- 에러 트러블슈팅 도와주세용
👥 팀원 역할
개발환경세팅 : 기획서 대로 초기 개발 환경 구성 후 깃헙에 push, 다른 사람들은 해당 push pull로 동일 환경 구성 ⇒ 1명
노션 관리(회의록 작성, 팀 마일스톤(일정) 관리, 등) ⇒ 1명
깃허브 관리 (PR 리뷰 누락 확인 및 알림, issue+PR 템플릿, label 관리, 깃헙 Readme 파일 관리…) ⇒ 1명
디자인(와이어프레임, 컴포넌트, 디자인 시스템(디자인 토큰 관리), 시퀀스 다이어그램), ⇒ 2명 정도??
기획 : 시퀀스 다이어그램 (UML) + UX 고민 + (상태관리)
🔧 프로젝트 기술 스택
📚 테스크
💬 프로젝트 컨벤션
PR 템플릿
커밋 규칙
형식
commit태그: commit내용
커밋 태그
태그 | 설명 |
Init | 프로젝트 세팅 |
Feat | 새로운 기능 추가 |
Docs | 문서 수정, Storybook stories 관련 변경 |
Style | css ui만 변경 |
Fix | 버그 수정 (코드 수정 O) |
Refactor | 파일명 폴더명 이동 등 변경, 버그 수정 외의 코드 수정 |
Test | 테스트 관련 코드 추가 |
Chore | 라이브러리 설치, 설정 변경, 기타 |
Comment | 주석 |
네이밍
- TS 타이핑 시 Type 접미사 추가
- props 타입 네이밍 형식
컴포넌트명 + Props + Type
- 배열 데이터 네이밍 형식
- 배열은 복수로 네이밍
- 요소는 단수로 네이밍
- 네이밍 규칙
- 이벤트 객체 네이밍
- e
- 이벤트 핸들러
- handle 접두사
- 핸들러를 props로 넘길 때 on 접두사
- boolean 변수 네이밍
- is 접두사
- CRUD 네이밍
타이핑
- 컴포넌트 props 타입 정의 위치 → 해당 파일에서 named export 로 정의
- 나머지 타입 (API 타이핑, …) → 별도의 파일에 named export로 정의
- 컴포넌트 children props 타입→ React.ReactNode로 통일
- interface vs type 사용 조건
- interface : 객체
- type: 나머지
- type: 나머지
- type: 나머지
기타 코드
- 경로 alias
~
: /src
- import 경로 정책
- 같은 폴더에 있는 파일은 상대 경로(
./*
)를 사용한다. - 다른 폴더에 있는 파일은 절대 경로(
~/*
)를 사용한다.
- import 순서
- react > 라이브러리 > component > hook > atoms > utils > types > constants > css
- 함수 작성 방식
- 기본적으로 함수 표현식
- 예외: this binding 등 필요한 경우 function 으로 정의
export default
는 코드 마지막 줄에 추가
폴더구조 + 컴포넌트 분류
CSS
리코일
폴더 구조
atom들은
recoil/도메인/atoms.ts
selector들은 recoil/도메인/selectors.ts
에러 메시지 컨벤션
도메인: 에러 메시지 (에러가 발생한 메서드/[상세])