Skip to content

bunderLikeLion/sellon_frontend

Repository files navigation

πŸ‘¨πŸΌβ€βš–οΈ Sellon (Frontend)

πŸ™‡β€β™‚οΈ contributors

πŸ’πŸ»β€β™‚οΈ Github for Backend

https://github.com/bunderLikeLion/sellon_backend

πŸ“„ Description

λ©‹μŸμ΄ μ‚¬μžμ²˜λŸΌ 10κΈ° 전체 해컀톀 λ‹Ήμ‹œμ— ν˜„λŒ€ μ‚¬νšŒμ—μ„œ μ§€μ†μ μœΌλ‘œ μŒ“μ—¬κ°€λŠ” μž‘λ™μ‚¬λ‹ˆμ— λŒ€ν•œ 곡간적 문제λ₯Ό ν•΄κ²° ν•˜κ³ μž κΈ°μ‘΄ λ¬Όν’ˆκ³Ό 돈이 κ±°λž˜λ˜λŠ” μ‹œμž₯μ—μ„œ νƒˆν”Όν•˜μ—¬ λ³ΈμΈμ—κ²Œ ν˜„μž¬ ν•„μš”μ—†λŠ” μž‘λ™μ‚¬λ‹ˆμ™€ μž‘λ™μ‚¬λ‹ˆλ₯Ό κ²½λ§€μ‹μœΌλ‘œ κ΅ν™˜ν•˜λŠ” ν”Œλž«νΌμ„ κ°œλ°œν•˜μ˜€μŠ΅λ‹ˆλ‹€. (πŸ₯‰ μ•½ 900 λͺ… μ°Έμ—¬, 150νŒ€ 쀑 동상 μˆ˜μƒ)

πŸ–₯ Demo

πŸ•Έ Infrastructure

🎠 κΈ°λŠ₯

πŸ‘©β€πŸŒΎ User

  • νšŒμ› κ°€μž…
  • 둜그인
  • λ‘œκ·Έμ•„μ›ƒ
  • νšŒμ› 정보 μˆ˜μ •
  • νšŒμ› νƒˆν‡΄

🧧 Item

  • μ•„μ΄ν…œ 등둝
  • μ•„μ΄ν…œ 상세보기
  • μ•„μ΄ν…œ μˆ˜μ •
  • μ•„μ΄ν…œ μ‚­μ œ

πŸ‘¨πŸΌβ€βš–οΈ Auction

  • 경맀 등둝
  • μ•„μ΄ν…œ 묢음 채택
  • 경맀 철회
  • μ±„νŒ…

πŸ† Statistics

  • μ΅œλ‹€ 거래자 및 각쒅 톡계 λ„μΆœ

❌ Probs & How we resolved 'em

πŸ€” μ²˜λ¦¬ν•΄μ•Ό ν•  μƒνƒœκ°€ λ§Žμ•„λ„ λ„ˆλ¬΄ λ§Žμ•˜λ‹€.

  1. μœ μ € 정보
  2. μ§€μ†μ μœΌλ‘œ μ—…λ°μ΄νŠΈλ˜λŠ” μ„œλ²„λ‘œλΆ€ν„° λ°›μ•„μ˜€λŠ” 데이터
  3. 각각의 데이터듀에 λŒ€ν•œ pagination 정보
  4. etc....

πŸ’‘ μ ‘κ·Ό 방식:

  • recoil 둜 client μƒνƒœ λ₯Ό μ²˜λ¦¬ν•˜κ³  react-query 둜 server μƒνƒœ λ₯Ό μ²˜λ¦¬ν•˜λŠ” λ°©μ‹μœΌλ‘œ λΆ„λ¦¬ν•˜μ˜€μœΌλ©°, query문듀에 λŒ€ν•œ dependencies 듀을 μ΄μš©ν•˜μ—¬ μ΅œλŒ€ν•œ κ°„κ²°ν•˜κ²Œ 처리 및 μ‚¬μš©ν•˜μ˜€λ‹€.

πŸ€” λ°©λŒ€ν•œ API 둜 μΈν•œ request 및 response κ³Όμ •μ—μ„œμ˜ 전체적인 μ½”λ“œ 길이 증가 및 같은 μ½”λ“œμ˜ 반볡이 μ΄λ£¨μ–΄μ‘Œλ‹€.

πŸ’‘ μ ‘κ·Ό 방식:

  • μš”μ²­κ³Ό 응닡에 λŒ€ν•œ react-query λ₯Ό μ‚¬μš©ν•œ custom hook μ œμž‘ 및 λΆ„λ¦¬μž‘μ—…μ„ ν†΅ν•˜μ—¬ μ‹€μ œ μ»΄ν¬λ„ŒνŠΈ λ Œλ”λ§μ— λŒ€ν•œ μ½”λ“œμ™€ μš”μ²­ 및 응닡을 μ²˜λ¦¬ν•˜λŠ” μ½”λ“œλ₯Ό λΆ„λ¦¬ν•˜μ˜€λ‹€.

πŸ€” λͺ¨λ‹¬ 및 λ°•μŠ€μ™€ 같은 기본적인 μ»΄ν¬λ„ŒνŠΈλ“€μ— λŒ€ν•΄ μœ μ‚¬ν•œ μ½”λ“œλ“€μ΄ μ§€μ†μ μœΌλ‘œ λ°˜λ³΅λ˜μ—ˆκ³  μ΄μ—λŒ€ν•œ ν•΄κ²°μ±…κ³Ό κ°œμ„ μ μ΄ μ‹œκΈ‰ν–ˆλ‹€.

πŸ’‘ μ ‘κ·Ό 방식:

  • 반볡적으둜 μ‚¬μš©λ˜λŠ” μ»΄ν¬λ„ŒνŠΈλ“€μ— λŒ€ν•΄μ„œλŠ” λ”°λ‘œ μ΅œλŒ€ν•œ λ„“κ²Œ μ‚¬μš©ν•  수 μžˆλŠ” μž¬μ‚¬μš©μ„±μ΄ μžˆλŠ” μ»΄ν¬λ„ŒνŠΈλ₯Ό λ”°λ‘œ μ œμž‘ν•˜μ—¬ ν•„μš”μ— μ˜ν•΄ props 듀을 ν†΅ν•˜μ—¬ μ‚¬μš©ν•  수 있게 μ ‘κ·Όν•˜μ˜€λ‹€.

πŸ€” 해컀톀 행사μž₯의 λ‹Ήμ‹œ 인터넷이 맀우 느렸고 이에 λŒ€ν•΄ 우리의 product λ₯Ό μ œλŒ€λ‘œ 보여쀄 수 μžˆμ„μ§€μ— λŒ€ν•΄ λΆˆν™•μ‹€μ„±μ΄ μžˆμ—ˆλ‹€.

πŸ’‘ μ ‘κ·Ό 방식:

  • 초기 ν™”λ©΄ μ‘°μ°¨ λ Œλ”λ§μ΄ μ•ˆλ˜μ–΄ ν•˜μ–€ ν™”λ©΄λ§Œ λ‚˜μ˜€λŠ” νŒ€λ“€μ΄ 9ν• μ΄μ˜€κ³ , 이에따라 νŽ˜μ΄μ§€ μ»΄ν¬λ„ŒνŠΈ λ³„λ‘œ code splitting 을 ν†΅ν•˜μ—¬ 초기 rendering bundle을 μ΅œμ†Œν™” ν•˜κ³ μž λ…Έλ ₯ν•˜μ˜€λ‹€. λ˜ν•œ, js bundle λ₯Ό μ½λŠ” κ³Όμ •μ—μ„œ suspense λ₯Ό μ‚¬μš©ν•˜μ—¬ λ‘œλ”© μ»΄ν¬λ„ŒνŠΈλ₯Ό λ³΄μ—¬μ£Όκ²Œ μ²˜λ¦¬ν•˜μ˜€κ³ , μš”μ²­ 및 응닡 κ³Όμ •μ—μ„œλ„ suspense λ₯Ό μ μš©ν•˜μ—¬ λ‘œλ”© μ»΄ν¬λ„ŒνŠΈλ₯Ό 보여주어 μš°λ¦¬νŒ€μ€ μ½”λ“œκ°€ 계속 μ •μƒμ μœΌλ‘œ λŒμ•„κ°€μ§€λ§Œ, 인터넷 ν™˜κ²½μœΌλ‘œ 인해 속도가 λŠλ¦°κ²ƒμ΄λ‹€λ₯Ό ν™•μ‹€νžˆ μ–΄ν•„ν•˜λ„λ‘ λ…Έλ ₯ν•˜μ˜€λ‹€.

  • 느린 μΈν„°λ„·μœΌλ‘œ μΈν•œ μ„œλ²„μ— λŒ€ν•œ μš”μ²­κ³Ό 응닡에 λŒ€ν•œ process λ₯Ό μ΅œμ†Œν™” ν•˜κ³ μž 해컀톀 ν˜„μž₯μ—μ„œ κΈ‰ν•˜κ²Œ react-query μ—μ„œ μ œκ³΅ν•˜λŠ” staleTime 을 μ΄μš©ν•˜μ—¬ μΊμ‹±μ „λž΅μ„ 적극적으둜 μ‚¬μš©ν•˜λ € λ…Έλ ₯ν•˜μ—¬ 즉각적인 λ³€ν™”λ₯Ό μ‹œκ°μ μœΌλ‘œ 보여주어야 ν•˜λŠ” 데이터λ₯Ό μ œμ™Έν•˜κ³ λŠ” ν•œλ²ˆ λ°›μ•„μ˜¨ 데이터λ₯Ό μš”μ²­κ³Ό 응닡과정 없이 μž¬μ‚¬μš© ν•˜λŠ” λ°©μ‹μœΌλ‘œ λ Œλ”λ§μ„ ν•˜κ³ , ν•„μš”ν• λ•Œλ§Œ 데이터λ₯Ό refetching ν•˜λŠ” λ°©μ‹μœΌλ‘œ μ ‘κ·Όν•˜μ˜€λ‹€.

πŸ“€ Setup Locally

git clone https://github.com/bunderLikeLion/sellon_frontend
npm install
npm run start

πŸ“š Used packages

"@ant-design/icons": "4.0.0",
"@emotion/react": "^11.10.0",
"@emotion/styled": "^11.10.0",
"@hookform/resolvers": "^2.9.6",
"@material-ui/core": "^4.12.4",
"@material-ui/lab": "^4.0.0-alpha.61",
"@mui/icons-material": "^5.8.4",
"@mui/joy": "^5.0.0-alpha.38",
"@mui/lab": "^5.0.0-alpha.92",
"@mui/material": "^5.9.2",
"@tanstack/react-query": "^4.0.10",
"@tanstack/react-query-devtools": "^4.0.10",
"antd": "^4.22.5",
"axios": "^0.27.2",
"moment": "^2.29.4",
"prettier": "^2.7.1",
"react": "^17.0.2",
"react-cookie": "^4.1.1",
"react-dom": "^17.0.2",
"react-dropzone": "^14.2.2",
"react-hook-form": "^7.33.1",
"react-hot-toast": "^2.3.0",
"react-loadingg": "^1.7.2",
"react-router-dom": "^6.3.0",
"react-scripts": "^5.0.0",
"react-slick": "^0.29.0",
"recoil": "^0.7.4",
"slick-carousel": "^1.8.1",
"styled-components": "^5.3.5",
"styled-reset": "^4.4.2",
"yup": "^0.32.11"

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published