- 상품 목록 페이지에서 상품을 보고, 장바구니에 상품을 추가할 수 있으며 장바구니 페이지에서 그 목록을 볼 수 있다.
- 상품 목록 페이지에서는
4개
의 상품씩페이징
처리를 한다. - 장바구니에는
최대 3개
의 상품만 담을 수 있다. - 장바구니에 담긴 상품은 브라우저를
새로고침(reload)
해도 유지된다. - 상품은 최소한
1개
의 수량을 가지고 있으며, 그 이상으로 설정할 수 있다. - 상품에는 쿠폰을 적용할 수 있는 상품과 없는 상품이 존재한다.
- 만약 쿠폰 적용이 가능한 상품이라면,
자동으로 해당 쿠폰을 적용
한 화면을 보여준다. - 자동으로 쿠폰을 적용했더라도, 소비자는 쿠폰을 선택할 수 있다.
정액 쿠폰
과정률 쿠폰
의 할인액이 같을 경우,정액 쿠폰
으로 처리한다.- 모바일 이용자를 고려하여 버튼, 페이지네이션 등을 전체 UI를 유지하는 선에서
오른쪽
에 위치시킨다. - 모달, 툴팁, 아이콘 등을 이용하여
UX
를 향상 시킨다.
2020.01.17 ~ 2020.01.23 (총 7일)
npm i
npm start
If you enter npm start
or npm run start
, your browser open http://localhost:3001/products
.
└── src
├── components
├── containers
├── models
├── pages
├── reducers
├── routes
└── services
- 컴포넌트의 경우
Atomic Design
을 간소화시켜 (components
,containers
/PascalCase
) models
에는entity model
정의pages
는 라우팅이 되는 가장 최상위 컴포넌트를 정의(kebab-case
)reducers
는reducer
,action
,selector
정의(camelCase
)routes
는 라우팅 정의, 라우팅 관련 상수 정의services
는 데이터에 대한 비즈니스 로직 처리(camelCase
),dummy data
위치
- 메인 라이브러리: React
- 메인 언어 및 문법: Typescript, RxJS, Javascript ES6+, JSX
- 상태 관리: redux, redux-observable
- 서버: webpack-dev-server
- UI Library: Ant Design
- 기타: git, Babel, eslint, prettier, lodash, local storage
Please PR.
정규현(JungKyuHyun)
My Development Blog: https://code-masterjung.tistory.com