Giter Club home page Giter Club logo

shopping-cart's Introduction

📖 Shopping-Cart Project

TypeScript-v3.7.5 React-v16.12.0 Redux-v4.0.5 Webpack-v4.41.5 made-for-VSCode PRs Welcome MIT license

  • 상품 목록 페이지에서 상품을 보고, 장바구니에 상품을 추가할 수 있으며 장바구니 페이지에서 그 목록을 볼 수 있다.
  • 상품 목록 페이지에서는 4개의 상품씩 페이징 처리를 한다.
  • 장바구니에는 최대 3개의 상품만 담을 수 있다.
  • 장바구니에 담긴 상품은 브라우저를 새로고침(reload)해도 유지된다.
  • 상품은 최소한 1개의 수량을 가지고 있으며, 그 이상으로 설정할 수 있다.
  • 상품에는 쿠폰을 적용할 수 있는 상품과 없는 상품이 존재한다.
  • 만약 쿠폰 적용이 가능한 상품이라면, 자동으로 해당 쿠폰을 적용한 화면을 보여준다.
  • 자동으로 쿠폰을 적용했더라도, 소비자는 쿠폰을 선택할 수 있다.
  • 정액 쿠폰정률 쿠폰의 할인액이 같을 경우, 정액 쿠폰으로 처리한다.
  • 모바일 이용자를 고려하여 버튼, 페이지네이션 등을 전체 UI를 유지하는 선에서 오른쪽에 위치시킨다.
  • 모달, 툴팁, 아이콘 등을 이용하여 UX를 향상 시킨다.

🕒 Project Period

2020.01.17 ~ 2020.01.23 (총 7일)

🔨 Installation

npm i

🔔 Usage

npm start

If you enter npm start or npm run start, your browser open http://localhost:3001/products.

🔎 Directory Structure

└── src
    ├── components
    ├── containers
    ├── models
    ├── pages
    ├── reducers
    ├── routes
    └── services
  • 컴포넌트의 경우 Atomic Design을 간소화시켜 (components, containers / PascalCase)
  • models에는 entity model 정의
  • pages는 라우팅이 되는 가장 최상위 컴포넌트를 정의(kebab-case)
  • reducersreducer, action, selector 정의(camelCase)
  • routes는 라우팅 정의, 라우팅 관련 상수 정의
  • services는 데이터에 대한 비즈니스 로직 처리(camelCase), dummy data 위치

🐧 Preview

1-1. 상품 목록 페이지

image

1-2. 상품 목록 페이지 - 상품 장바구니에 넣기/빼기

2020-01-23_01-04-38 (1)

2-1. 장바구니 페이지 - 상품이 없을 경우

image

2-2. 장바구니 페이지 - 상품이 있을 경우

image

2-3. 장바구니 페이지 - 상품 수량 수정

2020-01-23_01-20-10 (1)

2-4. 장바구니 페이지 - 쿠폰 적용 불가 상품 선택(체크)시, 최종 결제 금액 변경 및 쿠폰 미적용(선택 불가)

2020-01-23_01-25-07 (1)

2-5. 장바구니 페이지 - 쿠폰 적용 상품 선택(체크)시, 최종 결제 금액 변경 및 할인 높은 쿠폰 자동 적용

2020-01-23_01-28-40 (1)

2-6. 장바구니 페이지 - 쿠폰 적용/미적용 상품 같이 선택(체크)시, 쿠폰은 적용 가능 상품에만 적용

image

🔍 Thchnical Skills

  • 메인 라이브러리: React
  • 메인 언어 및 문법: Typescript, RxJS, Javascript ES6+, JSX
  • 상태 관리: redux, redux-observable
  • 서버: webpack-dev-server
  • UI Library: Ant Design
  • 기타: git, Babel, eslint, prettier, lodash, local storage

🙏 Contributing

Please PR.

🔱 Collaboraters

정규현(JungKyuHyun)

👀 See also

My Development Blog: https://code-masterjung.tistory.com

©️ License

MIT

shopping-cart's People

Contributors

jungkyuhyun avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

shopping-cart's Issues

버그: 장바구니에서 상품 체크 후 페이지 이동시, 최종 결제 금액 표시 오류

버그

  1. 장바구니 상품 체크 > 페이지 이동 - 장바구니 상품 체크는 해제 되어 있으나(의도한 부분), 최종 결제 금액은 그대로 남아있음(의도하지 않은 부분)

원인

장바구니로 이동시 상품 체크 리스트는 초기화가 되지만, 최종금액 관련 리듀서에는 아무런 dispatch가 일어나고 있지 않아 셀렉터에서 잘못된 값을 가져오고 있음

해결

624371f에서 버그 해결

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.