야놀자와 에어비앤비를 벤치마킹한 숙박 웹 프로젝트
TEST용 ID: [email protected]
TEST용 PASSWORD: 12345678
노션은 이곳을 클릭해주세요.
피그마는 이곳을 클릭해주세요
백엔드 레포지토리는 이곳을 클릭해주세요.
- 기능명세를 기반으로
Issue
생성 - 생성한
Issue
번호로 로컬에서 브랜치 생성(feature/#이슈번호) dev
의 최신변경사항을 pull 받아서 동기화- 구현완료후
dev
로 push후 Pull Request 생성 - 14:00에 팀원들과 함께 conflict 해결 후
dev
로 merge - 브랜치 삭제후 1번으로
Feat : 새로운 기능 추가
Fix : 버그 수정
Style : 코드 스타일 수정 (세미 콜론, 인덴트 등의 스타일적인 부분만)
Refactor : 코드 리팩토링 (더 효율적인 코드로 변경 등)
Design : CSS 등 디자인 추가/수정
Comment : 주석 추가/수정
Docs : 내부 문서 추가/수정
Test : 테스트 추가/수정
Chore : 빌드 관련 코드 수정, 개발 환경 관련 설정
Move : 파일 및 폴더명 수정
Remove : 파일 삭제
feature/#이슈번호
- 소비자가 사용하는 제품이 존재하는 (배포될 코드가 있는) 브랜치
- PR받는 브랜치:
dev
- Pull Request merge 완료후
dev
push 받기
- PR받는 브랜치:
- 개발 단계의 코드가 있는 (개발의 중심) 브랜치
- 개발 자체는 feature 브랜치에서 진행
- PR받는 브랜치:
feature/#이슈번호
- 14:00에 다같이 Pull Request merge
- PR받는 브랜치:
- 특정한 기능 (단위 기능) 을 구현하는 브랜치
- 기능 구현이 완료되면,
dev
로 pr- PR나가는 브랜치: dev
- 구현완료시 Push후 Pull Request 생성
📦src
┣ 📂api
┣ 📂assets
┣ 📂components
┃ ┣ 📂layout
┃ ┣ 📂template
┃ ┃ ┣ 📂account
┃ ┃ ┣ 📂cart
┃ ┃ ┣ 📂main
┃ ┃ ┣ 📂mypage
┃ ┃ ┣ 📂notFound
┃ ┃ ┣ 📂payment
┃ ┃ ┗ 📂products
┃ ┃ ┃ ┣ 📂GuestModal
┣ 📂hooks
┣ 📂interfaces
┣ 📂pages
┃ ┣ 📂cart
┃ ┣ 📂main
┃ ┣ 📂mypage
┃ ┣ 📂payment
┃ ┗ 📂products
┣ 📂router
┣ 📂states
┣ 📂style
┃ ┣ 📂account
┃ ┣ 📂cart
┃ ┣ 📂common
┃ ┣ 📂header
┃ ┣ 📂main
┃ ┣ 📂mypage
┃ ┣ 📂payment
┃ ┣ 📂products
┣ 📂util
┣ 📜App.tsx
┣ 📜constant.ts
┣ 📜constants.ts
┣ 📜index.css
┣ 📜main.tsx
┗ 📜vite-env.d.ts
- 숙소/객실 별 리뷰 정렬 기능 추가 (최신순 /오래된순/평점 높은순/ 평점 낮은순)
- 숙소/객실 별 리뷰 페이지네이션 추가
- 로딩 스피너 적용
-
msw 사용 api 완성 전까지는 퍼블리싱 작업만 계획되어있었는데, 생각보다 api 완성이 늦어져 갑작스레 msw 도입을 결정하게 되었다. 처음부터 msw를 도입하기로 계획했다면 작업 시간의 공백을 더욱 효율적으로 활용할 수 있었을 것 같다. 또한 초반 api 명세서를 보며 msw 사용하여 작업하였는데, 백엔드 작업의 변동사항들이 공유되지 않아 변수명, 인터페이스의 수정사항들이 많이 생기게 되어 msw의 이점을 많이 활용하지 못한 점이 아쉽다.
-
react query 작업 후반부에 use Effect를 사용하여 가져오던 데이터를 모두 react query를 사용한 코드로 바꾸었다. 급하게 변경된 탓에 리액트 쿼리의 다양한 기능들을 충분히 숙지하고 사용하지 못한 것 같아 아쉽다. Suspense, error boundary에 대해 더 공부해 본 뒤 다음프로젝트에 적용할 수 있으면 좋을 것 같다. 또한 컴포넌트 내에서 리액트쿼리를 사용하였는데, 커스텀훅으로 분리했다면 재사용성 측면에서 더욱 좋았을 것 같다는 아쉬움이 남는다.
-
기능별 커밋 커밋을 더 자주, 작은 기능 단위로 할 수 있도록 신경쓰는 것이 좋겠다.
그동안은 기능 구현에만 치우쳐 코드를 작성했는데, useMemo, useCallback와 같은 성능 최적화 훅들을 적절히 사용하고, 코드 가독성, 유지보수, 재사용 측면에 대해서도 깊이 고민해보며 클린코드를 작성할 수 있도록 하는 것이 좋겠다.
## 🧑🏻💻 팀 소개 및 역할
장호진 (FE) 팀장 |
심정아 (FE) 팀원 |
지홍규 (FE) 팀원 |
윤지영 (FE) 팀원 |
이재준 (FE) 팀원 |
---|---|---|---|---|
leHiHo | joanShim | JiHongkyu | developer-jyyun | Gaoridang |
|
|
|
|
|
2023.11.20 ~ 2023.12.01