Code Monkey home page Code Monkey logo

wondu-market's Introduction

๐Ÿ“š wondu-market

๐Ÿ“– ๊ฐœ์š”(Summary)

๊ฐœ๋ณ„ ํŒ๋งค์ž๊ฐ€ ์ปคํ”ผ์™€ ๊ด€๋ จ๋œ ๋ฌผํ’ˆ์„ ํŒŒ๋Š” ์˜จ๋ผ์ธ ์˜คํ”ˆ๋งˆ์ผ“



๐ŸŽฏ ๋ชฉํ‘œ(Objectives)

  • ํŒ€ํ”„๋กœ์ ํŠธ ๋ฐ ํ˜‘์—… ๊ฒฝํ—˜
  • NextJS skill ํ–ฅ์ƒ


๐Ÿ“† ๊ฐœ๋ฐœ๊ธฐ๊ฐ„(Develop period)

2022.03 ~ ์ง„ํ–‰์ค‘



๐Ÿ’ป ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ๋ฐ ๊ธฐ์ˆ  ์Šคํƒ(Library & Stack)

  • Language : Typescript
  • Framework : NextJS
  • Style : Styled-components



โœจ ์ฃผ์š” ๊ธฐ๋Šฅ

  • SSR
  • ๋กœ๊ทธ์ธ, ํšŒ์›๊ฐ€์ž…
  • ์—๋””ํ„ฐ๋ฅผ ์ด์šฉํ•œ ์ƒํ’ˆ ๋“ฑ๋ก
  • ์ฃผ์†Œ๋ฅผ ๋“ฑ๋กํ•˜์—ฌ ์ƒํ’ˆ ์ฃผ๋ฌธ
  • ์ฃผ๋ฌธ ์ •๋ณด ๋ฐ ์žฅ๋ฐ”๊ตฌ๋‹ˆ ๊ด€๋ฆฌ
  • ํŒ๋งค์ž ํ…Œ์ด๋ธ” ๊ด€๋ฆฌ


https://www.figma.com/file/7hEVItZtV1MnydvEulKcix/%EC%87%BC%ED%95%91%EB%AA%B0?node-id=0%3A1 https://github.com/WannaReact/wondu-market/wiki/API-%EB%AA%85%EC%84%B8

wondu-market's People

Contributors

tesseractjh avatar chun-gu avatar jma1020 avatar skgml0 avatar

wondu-market's Issues

๐Ÿฉน API ์ˆ˜์ •

MODIFY FEATURE

๋ชฉ๋ก

  • POST/PUT ์š”์ฒญ์‹œ body๋ฅผ ๊ทธ๋Œ€๋กœ ์‚ฌ์šฉํ•˜์ง€ ๋ง๊ณ  ๋“ฑ๋ก/์ˆ˜์ •ํ•˜๊ณ ์žํ•˜๋Š” field ๊ฐ’๋งŒ ๋„˜๊ธฐ๋„๋ก ๋ณ€๊ฒฝ

  • POST/PUT ์š”์ฒญ์‹œ Request Body๋กœ ObjectId๋ฅผ ์ „๋‹ฌํ•˜๋Š” ๊ฒฝ์šฐ, ObjectId๊ฐ€ ์กด์žฌํ•˜๋Š”์ง€ ํ™•์ธํ•œ ํ›„์— ๋“ฑ๋กํ•˜๊ธฐ

  • api ์š”์ฒญ ์ค‘์— ์—๋Ÿฌ๊ฐ€ ๋‚ฌ๋‹ค๋ฉด, ๊ตฌ์ฒด์ ์œผ๋กœ ์–ด๋–ค ์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒํ–ˆ๋Š”์ง€๋ฅผ ์‘๋‹ต์œผ๋กœ ๋ณด๋‚ด๋„๋ก ๋ณ€๊ฒฝ

  • response์—์„œ version key ์ˆจ๊ธฐ๊ธฐ

  • POST/PUT/DELETE ์š”์ฒญ์— ๋Œ€ํ•œ ์‘๋‹ต์œผ๋กœ ๋“ฑ๋ก๋œ ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ™์ด ๋ณด๋‚ด๋„๋ก ๋ณ€๊ฒฝ

  • ObjectId ๋ฐฐ์—ด์˜ ๊ฐ’๋“ค์— unique๋ฅผ true๋กœ ์„ค์ •ํ•˜๊ธฐ

  • ์ผ๋ถ€ GET ์š”์ฒญ์‹œ ObjectId๋ฅผ populateํ•˜๊ธฐ

  • API ์š”์ฒญ์‹œ ์ฟผ๋ฆฌ๋ฅผ ํ†ตํ•ด ํŽ˜์ด์ง€๋„ค์ด์…˜์„ ํ•  ์ˆ˜ ์žˆ๋„๋ก ๊ธฐ๋Šฅ ์ถ”๊ฐ€

  • User, Review, Product์— ์ด๋ฏธ์ง€๋„ ๋“ฑ๋ก/์ˆ˜์ • ๋˜๋„๋ก ๊ธฐ๋Šฅ ์ถ”๊ฐ€

  • User์— ๋น„๋ฐ€๋ฒˆํ˜ธ ์ถ”๊ฐ€ ๋ฐ bcrypt๋ฅผ ํ†ตํ•ด ์•”ํ˜ธํ™”ํ•˜๊ธฐ

  • Order์— ์ฃผ๋ฌธ ์ฒ˜๋ฆฌ ์ƒํƒœ๋ฅผ enum์œผ๋กœ ์„ค์ •ํ•˜๊ธฐ

  • Product์—์„œ options field ์‚ญ์ œํ•˜๊ธฐ

  • Product์— image๋ฅผ images๋กœ ๋ณ€๊ฒฝํ•˜๊ณ  ํƒ€์ž…์„ String ๋ฐฐ์—ด๋กœ ์„ค์ •ํ•˜๊ธฐ

  • Review๋ฅผ GETํ•  ๋•Œ Review์˜ comments๋ฅผ populateํ•˜๊ณ , populate๋œ comment ์•ˆ์— ์žˆ๋Š” userId๋„ populateํ•˜๊ธฐ

๐Ÿ› API ์š”์ฒญ์‹œ ReferenceError ๋ฐœ์ƒํ•˜๋Š” ๋ฒ„๊ทธ ์ˆ˜์ •

BUG REPORT

๋ชฉ๋ก

  • API ์š”์ฒญ์‹œ ReferenceError๊ฐ€ ๋ฐœ์ƒํ•˜๋Š” ๋ฒ„๊ทธ ์ˆ˜์ •

ETC

  • ReferenceError: Cannot access '__WEBPACK_DEFAULT_EXPORT__' before initialization๋ผ๋Š” ์—๋Ÿฌ ๋ฐœ์ƒ
  • ํ•ด๋‹น ์—๋Ÿฌ๋Š” ์ˆœํ™˜ ์ฐธ์กฐ๊ฐ€ ์ผ์–ด๋‚ฌ์„ ๋•Œ ๋ฐœ์ƒํ•˜๋Š” ์—๋Ÿฌ๋ผ๊ณ  ํ•ฉ๋‹ˆ๋‹ค.

๐Ÿฉน GlobalNavBar ๋“œ๋กญ ๋‹ค์šด ๋ฉ”๋‰ด ์ˆ˜์ •

MODIFY FEATURE

๋ชฉ๋ก

  • ๋“œ๋กญ๋‹ค์šด ๋ฉ”๋‰ด๋ฅผ ๊ฐ๊ฐ์˜ ๋ฉ”๋‰ด๊ฐ€ ์•„๋‹Œ ๋ชจ๋“  ๋ฉ”๋‰ด๊ฐ€ ํ•œ ๋ฒˆ์— ๋‹ค ๋ณด์ด๋„๋ก UI ๋ณ€๊ฒฝ
  • ๋“œ๋กญ๋‹ค์šด ์Šคํƒ€์ผ ๋ณ€๊ฒฝ
  • ๋“œ๋กญ๋‹ค์šด ์• ๋‹ˆ๋ฉ”์ด์…˜ ์ถ”๊ฐ€

๐Ÿฉน Category, Courier API ์‚ญ์ œ

MODIFY FEATURE

๋ชฉ๋ก

  • Category API ์‚ญ์ œ
  • Courier API ์‚ญ์ œ

ETC

  • Category์™€ Courier๋ฅผ ์ƒ์ˆ˜๋กœ ์ •์˜ํ•˜๊ณ  ๋”ฐ๋กœ ๋“ฑ๋ก/์ˆ˜์ •/์‚ญ์ œํ•˜๋Š” API๋ฅผ ๋งŒ๋“ค์ง€ ์•Š๊ธฐ๋กœ ๊ฒฐ์ •ํ•˜์˜€์Šต๋‹ˆ๋‹ค.

โœจ DB Collection ์ถ”๊ฐ€

NEW FEATURE

๋ชฉ๋ก

  • ๋ฌธ์˜์‚ฌํ•ญ(Inquiry) Collection ์ถ”๊ฐ€
  • ์ƒํ’ˆ ์นดํ…Œ๊ณ ๋ฆฌ(Category) Collection ์ถ”๊ฐ€
  • ์ฃผ๋ฌธ(Order) Collection ์ถ”๊ฐ€
  • ์ฟ ํฐ(Coupon) Collection ์ถ”๊ฐ€
  • ์ฟ ํฐ ์ข…๋ฅ˜(CouponType) Collection ์ถ”๊ฐ€
  • ์ƒˆ๋กœ์šด ์ปฌ๋ ‰์…˜ ์ถ”๊ฐ€์— ๋”ฐ๋ฅธ ๊ธฐ์กด ์ปฌ๋ ‰์…˜ ์Šคํ‚ค๋งˆ ๋ณ€๊ฒฝ

ETC

ERD

๐Ÿฉน API ์ˆ˜์ •

MODIFY FEATURE

๋ชฉ๋ก

  • ๋” ์—„๊ฒฉํ•œ ์œ ํšจ์„ฑ ๊ฒ€์‚ฌ
  • ObjectId๋กœ๋งŒ ๊ฒ€์ƒ‰ํ•˜๋Š” ๊ฒฝ์šฐ findOne ๋Œ€์‹  findById๋กœ ๋ณ€๊ฒฝ
  • unique ์†์„ฑ์ด ์žˆ๋Š” field์˜ ์ค‘๋ณต ๋ฐฉ์ง€
  • put, delete ์ถ”๊ฐ€

โœจ API ์ˆ˜์ •

MODIFY FEATURE

๋ชฉ๋ก

  • ํŠน์ • ์ƒํ’ˆ์˜ ๋ฆฌ๋ทฐ์™€ ๋ฌธ์˜ ์ •๋ณด๋ฅผ ์กฐํšŒํ•˜๋Š” API๋ฅผ ๋ถ„๋ฆฌ
  • ๋งˆ์ดํŽ˜์ด์ง€์™€ ๊ด€๋ฆฌ์žํŽ˜์ด์ง€๋ฅผ ์œ„ํ•œ ๋ฒ„ํŠผ badge ์ •๋ณด๋ฅผ ๊ฐ€์ ธ์˜ค๋Š” API ์ถ”๊ฐ€

โœจ ํšŒ์›๊ฐ€์ž… API ์—ฐ๊ฒฐ

NEW FEATURE

ํšŒ์›๊ฐ€์ž… API ์—ฐ๊ฒฐ

๋ชฉ๋ก

  • ํšŒ์›๊ฐ€์ž… ์•„์ด๋”” ์กฐํšŒ API get ์ด์šฉ
  • ํšŒ์›๊ฐ€์ž… ํผ ์ œ์ถœ API post ์ด์šฉ

๊ฐœ์„ 

  • ์ด๋ฉ”์ผ ์ฃผ์†Œ select | input ์„ ํƒ์‹œ ๊ฐ’ ์ „๋‹ฌ ์ˆ˜์ •์ค‘
  • input ๊ทœ์น™ ํ†ต๊ณผ์‹œ ์ดˆ๋ก์ƒ‰ ์›์œผ๋กœ ๋ฐ”๊พธ๊ธฐ
    ์ฒซ๋ฒˆ์งธ ํ™•์ธ(์œ ํšจ์„ฑ๊ฒ€์‚ฌ ํ†ต๊ณผ์‹œ ์ฒดํฌ) / ๋‘๋ฒˆ์งธ ํ™•์ธ (PW ์ผ์น˜์‹œ isValid ๊ฐ’

ETC

  • ๊ธฐํƒ€ ์ฐธ๊ณ  ์‚ฌํ•ญ ์ž‘์„ฑ

โœจ ์ œํ’ˆ ์ƒ์„ธ ํŽ˜์ด์ง€์—์„œ ์ œํ’ˆ ์ด๋ฏธ์ง€์— ๊ธฐ๋Šฅ ์ถ”๊ฐ€

NEW FEATURE

๋ชฉ๋ก

  • ์ œํ’ˆ ์ด๋ฏธ์ง€ ํ•˜๋‹จ ์ธ๋„ค์ผ ํด๋ฆญํ•˜๋ฉด ํฐ ์ด๋ฏธ์ง€๋กœ ์ถœ๋ ฅ
  • ํฐ ์ด๋ฏธ์ง€์— ๋งˆ์šฐ์Šค๋ฅผ ์˜ฌ๋ฆฌ๋ฉด ์ด๋ฏธ์ง€๋ฅผ ์ขŒ์šฐ๋กœ ๋„˜๊ธธ ์ˆ˜ ์žˆ๋Š” ๋ฒ„ํŠผ ํ‘œ์‹œ
  • ํฐ ์ด๋ฏธ์ง€๋ฅผ ํด๋ฆญํ•˜๋ฉด ํŒ์—… ์ฐฝ์œผ๋กœ ํ™•๋Œ€ ์ด๋ฏธ์ง€ ํ‘œ์‹œ

โœจ Buttons ์ปดํฌ๋„ŒํŠธ ์ค‘ L, M, MS, S ๋ฅผ Custom ํ•˜๋‚˜๋กœ ํ†ตํ•ฉ

REFACTORING

๋ชฉ๋ก

  • Buttons ์ปดํฌ๋„ŒํŠธ ์ค‘ L, M, MS, S ๋ฅผ Custom ํ•˜๋‚˜๋กœ ํ†ตํ•ฉ
  • Buttons ์ปดํฌ๋„ŒํŠธ์˜ ๋ Œ๋” ์˜ˆ์‹œ๋ฅผ ๋ณด์—ฌ์ฃผ๋˜ ํŽ˜์ด์ง€๋ฅผ ๋ณ„๋„์˜ ํŽ˜์ด์ง€๋กœ ์˜ฎ๊น€

โœจ modal ๊ตฌํ˜„

NEW FEATURE

๋ชจ๋‹ฌ Container๋ฅผ ๋งŒ๋“ค์–ด, Contents๋Š” ๋ณ€๊ฒฝํ•  ์ˆ˜ ์žˆ๋„๋ก ์ปดํฌ๋„ŒํŠธ ์ œ์ž‘

๋ชฉ๋ก

  • Modal Container UI ๊ตฌํ˜„
  • ์™ธ๋ถ€ ํด๋ฆญ ์‹œ ๋‹ซ๊ธฐ ๊ธฐ๋Šฅ ๊ตฌํ˜„
  • Contents ๋ณ€๊ฒฝ๊ฐ€๋Šฅํ•˜๋„๋ก ๊ตฌํ˜„

๐Ÿฉน ๋ฐ˜์‘ํ˜• ๋ฏธ์ง€์›

MODIFY FEATURE

๋ชฉ๋ก

  • ๋ฐ˜์‘ํ˜• ๊ด€๋ จ ์ฝ”๋“œ ์‚ญ์ œ

ETC

  • ๊ฐœ๋ฐœ ์ผ์ • ๋•Œ๋ฌธ์— ๋ฐ˜์‘ํ˜•์„ ์ง€์›ํ•˜์ง€ ์•Š๊ธฐ๋กœ ๊ฒฐ์ •ํ•˜์˜€์Šต๋‹ˆ๋‹ค. ๊ทธ์— ๋”ฐ๋ผ ๋ฐ˜์‘ํ˜• ๊ด€๋ จ ์ฝ”๋“œ๋ฅผ ์‚ญ์ œํ•ฉ๋‹ˆ๋‹ค.

๐Ÿฉน Coupon, CouponType API ์‚ญ์ œ

MODIFY FEATURE

๋ชฉ๋ก

  • Coupon, CouponType API ์‚ญ์ œ

ETC

  • ํ”„๋กœ์ ํŠธ ์ผ์ •์ƒ ์ฟ ํฐ ๊ธฐ๋Šฅ์„ ๊ตฌํ˜„ํ•˜๊ธฐ ์–ด๋ ต๋‹ค๊ณ  ํŒ๋‹จ๋˜์–ด ์ฟ ํฐ ๊ธฐ๋Šฅ์„ ์‚ญ์ œํ•ฉ๋‹ˆ๋‹ค.

โœจ ๋™์ ์ธ TabMenu์™€ PriceCalculator ์ปดํฌ๋„ŒํŠธ ๊ตฌํ˜„ ๋ฐ src ํด๋”๋กœ ์ด๋™

NEW FEATURE

๋ชฉ๋ก

  • TabMenu ํด๋ฆญ ์‹œ ํ•ด๋‹น section์œผ๋กœ ์ด๋™ํ•˜๋„๋ก ๊ตฌํ˜„
  • ์Šคํฌ๋กค ์‹œ section์— ๋”ฐ๋ผ TabMenu ์Šคํƒ€์ผ ๋ณ€๊ฒฝ๋˜๋„๋ก ๊ตฌํ˜„
  • ์ œํ’ˆ ์ฃผ๋ฌธ ์ˆ˜๋Ÿ‰๊ณผ ๊ทธ์— ๋”ฐ๋ฅธ ์ด ๊ธˆ์•ก ๊ณ„์‚ฐํ•ด์„œ ๋‚˜ํƒ€๋‚ด๋Š” ์ปดํฌ๋„ŒํŠธ ๊ตฌํ˜„
  • ๋งก์€ ํŒŒ์ผ๋“ค src ํด๋” ๋‚ด๋ถ€๋กœ ์ด๋™

โœจ API ์ถ”๊ฐ€

NEW FEATURE

๋ชฉ๋ก

  • ํšŒ์›๊ฐ€์ž…, ์•„์ด๋”” ์ฐพ๊ธฐ, ๋น„๋ฐ€๋ฒˆํ˜ธ ์ฐพ๊ธฐ
  • ๋ฆฌ๋ทฐ ์กฐํšŒ

โœจ ์œ ํšจ์„ฑ ๊ฒ€์‚ฌ

NEW FEATURE

๋กœ๊ทธ์ธ, ํšŒ์›๊ฐ€์ž… ํŽ˜์ด์ง€์˜ input ์ปดํฌ๋„ŒํŠธ์—์„œ ์˜ค๋ฅ˜ ๊ฒ€์ฆ, ํ‘œ์ค€ ์ ํ•ฉ ๊ฒ€์ฆ์„ ์œ„ํ•œ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

๋ชฉ๋ก

  • ๋กœ๊ทธ์ธ ํŽ˜์ด์ง€

  • ์•„์ด๋”” : ํŠน์ˆ˜๋ฌธ์ž ์ œ์™ธ, ์˜์–ด ๋Œ€๋ฌธ์ž, ์†Œ๋ฌธ์ž, ์ˆซ์ž 0-9
  • ํšŒ์›๊ฐ€์ž… ํŽ˜์ด์ง€

  • ์•„์ด๋”” : min: 3 | max: 15 |
  • ๋น„๋ฐ€๋ฒˆํ˜ธ : 8-16 | ์˜๋ฌธ/์ˆซ์ž/ํŠน์ˆ˜๋ฌธ์ž ์ž…๋ ฅ
  • ๋น„๋ฐ€๋ฒˆํ˜ธ ์žฌํ™•์ธ
  • ์ด๋ฉ”์ผ : ์ด๋ฉ”์ผ์•„์ด๋””์™€ ์ด๋ฉ”์ผ์ฃผ์†Œ ๋ถ„๋ฆฌํ•ด์„œ pattern๊ฒ€์‚ฌ (ํผ ์ œ์ถœํ•  value์— ํฌํ•จ๋˜์–ด์žˆ์Œ)
  • ํ•ธ๋“œํฐ ๋ฒˆํ˜ธ : ์ˆซ์ž๋กœ 3์ž๋ฆฌ, 4์ž๋ฆฌ, 4์ž๋ฆฌ

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.