GithubHelp home page GithubHelp logo

mminhou / thesalt Goto Github PK

View Code? Open in Web Editor NEW
0.0 1.0 0.0 118.44 MB

High Quality Select Shop (The Salt)

Home Page: http://the-salt.co.uk

Python 21.91% HTML 0.55% CSS 5.54% JavaScript 70.39% Sass 1.62%
react django djangorestframework djangorestframework-jwt react-redux redux-saga

thesalt's Introduction


๐ŸŒŸ THE SALT

logo

What is this project site?

'The Salt' is a shopping mall that sells a selected high quality products.

Services

THE SALT or http://the-salt.co.uk/

ํšŒ์›๊ฐ€์ž… or ํ…Œ์ŠคํŠธ ID๋ฅผ ํ†ตํ•ด ์„œ๋น„์Šค๋ฅผ ์ด์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

Test account
ID โ–บ [email protected]
PW โ–บ test1234

Tools


Architecture

Architecture


๐ŸŒŸ Main Function

๐Ÿ‘Œ SignIn, SignUp

Login

  • Django REST API ์™€ JWT authentication ํ†ต์‹ ์„ ํ•ฉ๋‹ˆ๋‹ค.
  • ๋กœ๊ทธ์ธ ์„ฑ๊ณต์‹œ Token, user ์ •๋ณด๋ฅผ ๋ฐ›์•„์™€ store์— ์ €์žฅํ•ฉ๋‹ˆ๋‹ค.
  • store์˜ Token, user ์ •๋ณด persist ํ•˜๊ฒŒ ์œ ์ง€ํ•ฉ๋‹ˆ๋‹ค.
  • login์„ ํ•œ ์ดํ›„ navigation์˜ login ๋ถ€๋ถ„์€ logout๊ณผ profile icon์œผ๋กœ ๋ณ€๊ฒฝ๋ฉ๋‹ˆ๋‹ค.
  • ํšŒ์›๊ฐ€์ž…์˜ email, password repeat field๋Š” validation ์ฒ˜๋ฆฌ ๋˜์–ด์žˆ์Šต๋‹ˆ๋‹ค.

๐Ÿ‘Œ MainPage

MainPage

  • the-salt url์„ ์ž…๋ ฅํ›„ ๊ฐ€์žฅ ๋จผ์ € ๋ณด๊ฒŒ๋˜๋Š” ํŽ˜์ด์ง€์ž…๋‹ˆ๋‹ค.
  • show more button์„ ํ†ตํ•ด home ํŽ˜์ด์ง€๋กœ ์ด๋™ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๐Ÿ‘Œ HomePage

HomePage

  • navigation์„ ํ†ตํ•ด ํ”Œ๋žซํผ์„ ์ด์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • scrollable navigation์œผ๋กœ ์Šคํฌ๋กค์„ ๋‚ด๋ฆด์‹œ shrink ๋ฉ๋‹ˆ๋‹ค.

๐Ÿ‘Œ ProductPage, ProductDetailPage

ProductPage ProductDetailPage

  • product page๋Š” category tab์„ ํ†ตํ•ด ์›ํ•˜๊ณ ์ž ํ•˜๋Š” ์˜๋ฅ˜๋ฅผ ๋ถ„๋ฅ˜ํ•ด ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • product ์ƒ์„ธ ํŽ˜์ด์ง€์—์„œ ์ œํ’ˆ์„ ์นดํŠธ์— ์ถ”๊ฐ€ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๐Ÿ‘Œ ShoppingCart

ShoppingCart

  • ์นดํŠธ ๋‚ด์˜ 'x'๋ฒ„ํŠผ์„ ํ†ตํ•ด ์ œํ’ˆ์„ ์นดํŠธ์—์„œ ์‚ญ์ œํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ๋™์ผํ•œ ์ œํ’ˆ์˜ ์ถ”๊ฐ€๋Š” ์ˆ˜๋Ÿ‰์œผ๋กœ ์—…๋ฐ์ดํŠธ ๋ฉ๋‹ˆ๋‹ค.
  • ์นดํŠธ๋‚ด์˜ ๋ฒ„ํŠผ์„ ํ†ตํ•ด ์ฃผ๋ฌธ์„œ ์ž‘์„ฑ ํŽ˜์ด์ง€๋กœ ๋„˜์–ด๊ฐˆ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๐Ÿ‘Œ Order

OrderPage

  • ์ฃผ๋ฌธ์„œ ์ž‘์„ฑํŽ˜์ด์ง€๋Š” ์ฃผ๋ฌธํ•  ์ œํ’ˆ๋“ค์˜ ์ด๊ฐ€๊ฒฉ, ๋ฐฐ์†ก๋น„(์ด ๊ฐ€๊ฒฉ์ด $150 ๋ฏธ๋งŒ์ผ์‹œ ์ ์šฉ)๋ฅผ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.
  • ์ด ํ›„์— ๋ฒ„ํŠผ์„ ํ†ตํ•ด ์ฃผ๋ฌธ์„œ ์ž‘์„ฑ์„ ์™„๋ฃŒํ•˜๊ธฐ ์œ„ํ•œ Shipping Page๋กœ ๋„˜์–ด๊ฐ‘๋‹ˆ๋‹ค.

๐Ÿ‘Œ Shipping

ShippingPage

  • ์ฃผ๋ฌธ์„œ ์ž‘์„ฑ ์™„๋ฃŒ ํŽ˜์ด์ง€(Shipping)๋Š” ๋กœ๊ทธ์ธ์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. -> ๋กœ๊ทธ์ธ์ด ์•ˆ๋˜์–ด์žˆ๋Š” ์‚ฌ์šฉ์ž๋Š” ๋กœ๊ทธ์ธ ํŽ˜์ด์ง€๋กœ ์ด๋™๋ฉ๋‹ˆ๋‹ค.
  • ์ฃผ๋ฌธ์„œ ์ž‘์„ฑ form์˜ field๋“ค์€ ๋ชจ๋‘ ์ž‘์„ฑํ•ด์•ผํ•ฉ๋‹ˆ๋‹ค.
  • ์ฃผ๋ฌธ์„œ ์ œ์ถœ์‹œ store์•ˆ์˜ token์„ ์‚ฌ์šฉํ•ด REST API ์ ‘๊ทผ๊ถŒํ•œ์„ ์–ป์–ด ํ•ด๋‹น ์œ ์ €์˜ ์ฃผ๋ฌธ์„œ๋ฅผ create ํ•ฉ๋‹ˆ๋‹ค.

๐Ÿ‘Œ Profile

ProfilePage

  • navigation์˜ ์–ผ๊ตด ์•„์ด์ฝ˜์„ ํ†ตํ•ด Profile ํŽ˜์ด์ง€๋กœ ์ด๋™ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • profile ํŽ˜์ด์ง€๋Š” ๋‚ด์ •๋ณด ์ˆ˜์ •ํŽ˜์ด์ง€์™€ ์ฃผ๋ฌธํ™•์ธ ํŽ˜์ด์ง€๋กœ ์ด๋™ํ•˜๊ธฐ ์œ„ํ•œ ๋ฒ„ํŠผ์ด ์žˆ์Šต๋‹ˆ๋‹ค.
  • ๋‚ด ์ •๋ณด ํŽ˜์ด์ง€๋Š” ๋กœ๊ทธ์ธํ•œ ์œ ์ €์˜ ์ •๋ณด๋ฅผ ์ˆ˜์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ์ฃผ๋ฌธํ™•์ธ ํŽ˜์ด์ง€๋Š” ์œ ์ €์˜ ์ฃผ๋ฌธ๋‚ด์—ญ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

Feature

  • Fix: ๋ฒ„๊ทธ ์ˆ˜์ • ๋ฐ ์˜ค๋ฅ˜ ๊ฐœ์„ 
  • Feat: ๊ธฐ๋Šฅ ์ถ”๊ฐ€, ๋ผ์ธ ์ •๋ฆฌ
  • Refactor: ํ•จ์ˆ˜, ์ปดํฌ๋„ŒํŠธ ์žฌ์ •์˜
  • Style: CSS ์—…๋ฐ์ดํŠธ
  • Init: Initializing
  • Build: Build ์ž‘์—…
  • Dependency: ์˜์กด์„ฑ ์ถ”๊ฐ€

Report

๐Ÿ‘Œ Backend - BE ๐Ÿ‘Œ Frontend - FE

โฑ 21. 9. 3.

Deploy demo version 1.0

โฑ 21. 9. 7.

  • BE. DRF permission, token authentication ๊ธฐ๋Šฅ ์ถ”๊ฐ€
  • FE. Account component ์ •์˜ ๋ฐ ์—…๋ฐ์ดํŠธ (action, reducers, saga)
  • update.. DRF์˜ user model view -> permission allow
  • update.. Token headers๋ฅผ ํ™œ์šฉํ•œ Authentication

โฑ 21. 9. 8.

  • BE. Create Account view ์ƒ์„ฑ => http://.../register
  • BE. Order ๋ชจ๋ธ ์ •์˜ ๋ฐ ์—…๋ฐ์ดํŠธ (id, user, orderProducts)
  • FE. Order component ์ •์˜ ๋ฐ ์—…๋ฐ์ดํŠธ (ํŽ˜์ด์ง€ ๊ตฌ์„ฑ ๋ฐ cart item ์ฒ˜๋ฆฌ)
  • FE. Screen, Profile, Account component responsible UI ์—…๋ฐ์ดํŠธ
  • FE. react-hook-form version ์—…๋ฐ์ดํŠธ์— ๋”ฐ๋ฅธ ์ˆ˜์ •์‚ฌํ•ญ ์ ์šฉ
  • ----> input={register(...)} => {...register('...')}

โฑ 21. 9. 9.

  • FE. SignUp ๊ธฐ๋Šฅ ์—…๋ฐ์ดํŠธ (signUp action, reducers(with signIn), signUp saga, signUp api)
  • FE. TextField validation ์ฒ˜๋ฆฌ in SignUp component -> react-hook-form
  • FE. Home, HomePagination, Products, Footer, Order component responsible UI ์—…๋ฐ์ดํŠธ
  • FE. HomePagination hover effect ์ ์šฉ

โฑ 21. 9. 10.

  • BE. Order, OrderProduct ๋ชจ๋ธ ์žฌ์ •์˜
  • FE. Order, Shipping Component ์ •์˜ ๋ฐ ๊ธฐ๋Šฅ ์—…๋ฐ์ดํŠธ (pusOrder action, order reducers, orderSaga, order api)
  • BE. Order request์— ๋”ฐ๋ฅธ backend create method ์ •์˜
  • FE. Order request ํ›„ cart initialized action ์—…๋ฐ์ดํŠธ (REMOVE_PRODUCT_FROM_CART)
  • FE. Error Handling (Console Err)
  • # 1. Strict Mode Issues -> Delete `React.strictMode>` tag in App.js
  • # 2. Grid issues justify -> justifyContent
  • # 3. Typography descendant issues
Version 2.0 Update

โฑ 21. 9. 11.

  • FE. Apply webkit line clamp -> Products, Screen
  • FE. Appending status in Order request data
  • FE. Fixed computedMatch Err -> App.js
  • FE. Fixed pagination length
  • BE. Apply authentication, permission class to OrderView

โฑ 21. 9. 12.

  • FE. MyOrder component ์ •์˜ ๋ฐ ๊ธฐ๋Šฅ ์—…๋ฐ์ดํŠธ (show order, orderProducts list)

โฑ 21. 9. 28.

  • FE. Logo size ์ˆ˜์ •
  • FE. Footer navigation isLoggedIn state ์ ์šฉ

thesalt's People

Contributors

mminhou avatar

Watchers

 avatar

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.