TravelTech 스타트업 '라이크어로컬'의 기업과제로 여행 상품 목록과 장바구니를 구현하며 모범사례 도출과 동료학습을 목적으로 했습니다.
git clone https://github.com/wanted-pre-onboarding-internship-team-6/pre-onboarding-9th-2-6.git
cd pre-onboarding-9th-2-6
npm install
npm start
https://pre-onboarding-9th-2-6.vercel.app/
📦src
┣ 📂components
┃ ┣ 📂Modal
┃ ┃ ┣ 📂ModalContents
┃ ┃ ┃ ┗ 📜ProductDetail.jsx
┃ ┃ ┗ 📜index.jsx
┃ ┣ 📂ProductCard
┃ ┃ ┗ 📜index.jsx
┃ ┣ 📂ProductFilter
┃ ┃ ┗ 📜index.jsx
┃ ┣ 📂ProductList
┃ ┃ ┗ 📜index.jsx
┃ ┣ 📜Footer.jsx
┃ ┣ 📜index.js
┃ ┣ 📜Layout.jsx
┃ ┣ 📜NavBar.jsx
┃ ┣ 📜Payment.jsx
┃ ┣ 📜ReservedProduct.jsx
┃ ┗ 📜ReservedProductList.jsx
┣ 📂constants
┃ ┗ 📜index.js
┣ 📂hooks
┃ ┣ 📜index.js
┃ ┣ 📜useModal.js
┃ ┗ 📜useProduct.js
┣ 📂pages
┃ ┣ 📜index.js
┃ ┣ 📜MainPage.jsx
┃ ┗ 📜ReservationsPage.jsx
┣ 📂router
┃ ┗ 📜index.js
┣ 📂store
┃ ┣ 📂slices
┃ ┃ ┣ 📜categorySlice.js
┃ ┃ ┣ 📜index.js
┃ ┃ ┣ 📜modalSlice.js
┃ ┃ ┣ 📜productSlice.js
┃ ┃ ┗ 📜reservationSlice.js
┃ ┗ 📜index.js
┣ 📂styles
┃ ┗ 📜index.css
┣ 📂utils
┃ ┗ 📜index.js
┣ 📜App.js
┗ 📜index.js
- 프로젝트의 전반적인 이해와 모범사례 도출을 위해 각자 요구사항 전체를 구현해보는 시간을 가졌습니다.
- 구현해본 경험을 바탕으로 구현시 고민했던 사항들에 대해 토론하며 UI, 컨벤션, 구조 등 각 항목의 모범 사례를 선정했습니다.
- 선정 사항을 기반으로 프로젝트 초기 셋팅을 마치고, 둘로 나뉘는 주요 기능에 따라 두 팀으로 나뉘어 라이브 쉐어 기능을 활용해 페어프로그래밍을 수행했습니다.
/main
페이지-
사용자의 방문시
/
으로부터 리다이렉트 -
여행 상품 목록 출력
-
예약 버튼 클릭시 장바구니에 상품 데이터 저장
-
여행 상품 정보 클릭 시 모달창으로 상세 정보 표시
-
여행 상품 리스트의 가격(price), 공간(spaceCategory) 필터링
- 개별 필터링, 다중 필터링
- 예시) [0 ~ 3000] 또는 [서울, 부산] 또는 [0 ~ 3000] && [서울, 부산]
-
/reservations
페이지- 예약한 여행 상품 목록 출력
- 예약한 상품 삭제
- 여행 상품의 구매 수량 변경 가능
- 장바구니 여행 상품의 총 결제액수 계산 및 표시
- 공지사항 및 일반 채팅:
discord
- 페어 프로그래밍:
live share
- 워크플로우
- 각 팀이 수행해야 하는 일을 이슈로 만들어 발행
- 이슈에 따르는 브랜치를 만들어 작업 (feature/#이슈번호)
- 커밋 컨벤션을 준수해 커밋한 뒤 오리진에 푸쉬
- 업스트림의 develop에 풀 리퀘스트 및 머지
김채현 |
이동건 |
박수빈 |
이춘구 |
박종익 |
진형빈 |
이준석 |
한성린 |