[Next+TS] πŸ“– BookSaeTong

초이·2024λ…„ 7μ›” 17일

πŸ’» ν”„λ‘œμ νŠΈ

λͺ©λ‘ 보기
13/13

πŸ“– BookSaeTong (λΆμƒˆν†΅)






πŸ“„ ν”„λ‘œμ νŠΈ μ†Œκ°œ


  • ν”„λ‘œμ νŠΈ λͺ… : πŸ“– λΆμƒˆν†΅

    저희 ν”„λ‘œμ νŠΈλŠ” 쀑고 λ„μ„œλ₯Ό κ±°λž˜ν•  수 μžˆλŠ” ν”Œλž«νΌμœΌλ‘œ ν˜„μž¬ λΆμƒˆν†΅μ— μ˜¬λΌμ™€ μžˆλŠ” μ±…μ˜ 정보와 μ§κ±°λž˜ν•  수 μžˆλŠ” μœ„μΉ˜κΉŒμ§€ λ³Ό 수 μžˆμ–΄μš”.

  • 배포 μ£Όμ†Œ

    λΆμƒˆν†΅ λ°”λ‘œκ°€κΈ°

  • GitHub μ£Όμ†Œ

    Github λ°”λ‘œκ°€κΈ°



πŸ‘₯ νŒ€μ†Œκ°œ

κΉ€μš΄μ„±λ°•μ΄ˆμ›μ„œμ˜ˆμ€μ—Όκ²½μ›μ΄ν•˜λ¦„λ°±ν˜„λͺ…
imageimageimageimageimageimage


πŸ› οΈ λ‚΄κ°€ 맑은 κΈ°λŠ₯

βœ… λ©”μΈνŽ˜μ΄μ§€

  • λ©”μΈνŽ˜μ΄μ§€ : swiperλ₯Ό μ‚¬μš©ν•΄ μ „μ²΄λ„μ„œλͺ©λ‘, λ‚΄ μœ„μΉ˜ λ„μ„œ, 이 두 λͺ©λ‘μ„ 10개 μ”© λ³Ό 수 있게 ν•˜μ˜€κ³  더 보기λ₯Ό 톡해 ν•΄λ‹Ή νŽ˜μ΄μ§€λ‘œ λ“€μ–΄κ°ˆ 수 μžˆκ²Œν•˜μ˜€μŠ΅λ‹ˆλ‹€. μž‘μ„±μž 근처의 판맀 글이 없을 경우 λŒ€μ‘ν•˜λŠ” μ»΄ν¬λ„ŒνŠΈλ₯Ό λ„£μ—ˆμŠ΅λ‹ˆλ‹€.

βœ… λ§ˆμ΄νŽ˜μ΄μ§€ - λ‚΄κ°€ μ°œν•œ λͺ©λ‘, λ‚΄ νŒλ§€κΈ€ λͺ©λ‘

  • λ‚΄κ°€ μ°œν•œ λͺ©λ‘, νŒλ§€κΈ€ λͺ©λ‘ : 둜그인 ν•œ μœ μ €μ˜ μœ μ € idλ₯Ό μ‚¬μš©ν•΄μ„œ supabaseμ—μ„œ userκ°€ μ°œν•œ κ²Œμ‹œκΈ€κ³Ό μž‘μ„±ν•œ κ²Œμ‹œκΈ€μ„ λΆˆλŸ¬μ™”μŠ΅λ‹ˆλ‹€.

βœ… 곡동 μ»΄ν¬λ„ŒνŠΈ - 헀더, PostList, PostCard, EmptyState

  • Header : cvaλ₯Ό μ‚¬μš©ν•˜μ—¬ νšŒμ›κ°€μž…, 둜그인, λ‘œκ·Έμ•„μ›ƒ, κΈ€μ“°κΈ° λ²„νŠΌμ„ props둜 λ°”κΏ€ 수 있게 ν–ˆμŠ΅λ‹ˆλ‹€.
  • PostList, PostCard : κ³΅ν†΅μœΌλ‘œ μ‚¬μš©λ˜λŠ” Card μ»΄ν¬λ„ŒνŠΈμ˜ μž¬μ‚¬μš©μ„±κ³Ό 톡일성을 μœ„ν•΄ card에 μ•Œλ§žμ€ props와 νƒ€μž…μ„ μ§€μ •ν•˜μ˜€μŠ΅λ‹ˆλ‹€.
  • EmptyState : dataκ°€ 없을 경우 보여쀄 수 μžˆλŠ” μ»΄ν¬λ„ŒνŠΈλ‘œ ν‹€ μ œμž‘μ€ 같은 νŒ€ ν•˜λ¦„λ‹˜μ΄ νŒλ§€κΈ€ 내역이 없을 λ•Œλ₯Ό 겨λƒ₯ν•΄ λ§Œλ“€μ–΄ μ£Όμ‹  것을 μ œκ°€ λͺ¨λ“ˆν™”λ₯Ό ν•˜μ—¬ λ‹€λ₯Έ νŒ€μ›λ„ 상황에 맞게 μ“Έ 수 있게 μ½”λ“œλ₯Ό λ¦¬νŒ©ν† λ§ν•˜μ˜€μŠ΅λ‹ˆλ‹€.


πŸ‘€ ν”„λ‘œμ νŠΈ 계기

μ£Όμ œμ— λŒ€ν•΄ λ…Όμ˜ 쀑에 쀑고 거래 ν”Œλž«νΌμ— λŒ€ν•΄ λ§Œλ“€μ–΄ λ³΄μžλŠ” 의견이 ν†΅μΌλ˜μ–΄μ„œ 주제λ₯Ό μ’ν˜€μ„œ 쀑고 μ±… 거래 ν”Œλž˜νΌμœΌλ‘œ μ±„νƒν–ˆμ–΄μš”!







πŸ› οΈ μ£Όμš”κΈ°λŠ₯


βœ… 쀑고 μ±… 판맀

μ€‘κ³ λ‘œ νŒ”κ³  싢은 책을 제λͺ©, λ‚΄μš©, 거래 μœ„μΉ˜, κΈˆμ•‘, 사진을 μž…λ ₯ν•΄μ„œ 올리고, λŒ“κΈ€λ‘œ κ΅¬λ§€μ˜μ‚¬λ₯Ό ν‘œν˜„ν•  수 μžˆμŠ΅λ‹ˆλ‹€.
λ˜ν•œ, λ‚΄κ°€ μž‘μ„±ν•œ κ²Œμ‹œκΈ€μ˜ μˆ˜μ •, μ‚­μ œκ°€ κ°€λŠ₯ν•˜κ³  λ‚΄κ°€ μž‘μ„±ν•œ λŒ“κΈ€μ˜ μˆ˜μ •, μ‚­μ œκ°€ κ°€λŠ₯ν•©λ‹ˆλ‹€.


πŸ”½ 쀑고 μ±… 등둝

πŸ”½ 쀑고 μ±… μˆ˜μ •, μ‚­μ œ

πŸ”½ λŒ“κΈ€ 등둝, μˆ˜μ •, μ‚­μ œ






βœ… λ‚΄ μœ„μΉ˜ 기반 μ€‘κ³ κ±°λž˜

κΈ€ μž‘μ„± μ‹œμ— μž…λ ₯ν•œ 지도 μœ„μΉ˜μ—μ„œ λ„μ‹œλͺ…κΉŒμ§€μ˜ μœ„μΉ˜λ₯Ό 기반으둜 ν•˜μ—¬ λ‚΄ μ£Όλ³€ 맀물을 확인 ν•  수 μžˆμŠ΅λ‹ˆλ‹€.






βœ… 거래 검색 κΈ°λŠ₯

μ±…μ˜ 제λͺ©, 거래 μœ„μΉ˜λ₯Ό κ²€μƒ‰ν•˜κ±°λ‚˜ μΉ΄ν…Œκ³ λ¦¬ λ³„λ‘œ νŒλ§€κΈ€μ„ ν•„ν„°λ§ν•΄μ„œ λ³Ό 수 μžˆμŠ΅λ‹ˆλ‹€.


πŸ”½ μΉ΄ν…Œκ³ λ¦¬ 필터링

πŸ”½ 검색 필터링






βœ… νšŒμ›κ°€μž…/둜그인

μœ μ €κ°€ μ΄λ©”μΌλ‘œ νšŒμ›μ„ κ°€μž…ν•  수 μžˆμŠ΅λ‹ˆλ‹€.






βœ… λ§ˆμ΄νŽ˜μ΄μ§€

νšŒμ›μΈ μœ μ €λ§Œ μƒμ„±λ˜λŠ” νŽ˜μ΄μ§€λ‘œ, ν”„λ‘œν•„ μˆ˜μ •, λ‚΄κ°€ μ°œν•œ λͺ©λ‘, λ‚΄κ°€ 올린 κ²Œμ‹œκΈ€μ„ λ³Ό 수 μžˆμŠ΅λ‹ˆλ‹€.






⏳ κ°œλ°œκΈ°κ°„


2024.07.08 ~ 2024.07.15 (총 7일간)







πŸ“š κΈ°μˆ μŠ€νƒ


μ–Έμ–΄


핡심 라이브러리


μŠ€νƒ€μΌ


νŒ¨ν‚€μ§€ λ§€λ‹ˆμ €


λ°μ΄ν„°λ² μ΄μŠ€


ν”„λ‘œμ νŠΈ 관리







πŸ–ΌοΈ 와이어 ν”„λ ˆμž„


image
image
image
image







🧩 ERD


image







πŸ—‚οΈ ν”„λ‘œμ νŠΈ 파일 ꡬ쑰


πŸ“¦src
 ┣ πŸ“‚api
 ┣ πŸ“‚app
 ┃ ┣ πŸ“‚(provider)
 ┃ ┃ ┣ πŸ“‚(root)
 ┃ ┃ ┃ ┣ πŸ“‚(auth)
 ┃ ┃ ┃ ┃ ┣ πŸ“‚login
 ┃ ┃ ┃ ┃ β”— πŸ“‚signup
 ┃ ┃ ┃ ┣ πŸ“‚(product)
 ┃ ┃ ┃ ┃ ┣ πŸ“‚detail
 ┃ ┃ ┃ ┃ ┃ β”— πŸ“‚[id]
 ┃ ┃ ┃ ┃ ┣ πŸ“‚edit
 ┃ ┃ ┃ ┃ ┃ β”— πŸ“‚[id]
 ┃ ┃ ┃ ┃ ┣ πŸ“‚list
 ┃ ┃ ┃ ┃ ┃ ┣ πŸ“‚all
 ┃ ┃ ┃ ┃ ┃ ┣ πŸ“‚around
 ┃ ┃ ┃ ┃ β”— πŸ“‚post
 ┃ ┃ ┃ ┣ πŸ“‚mypage
 ┃ ┃ ┃ ┃ ┣ πŸ“‚likes
 ┃ ┃ ┃ ┃ ┣ πŸ“‚mysell
 ┃ ┃ ┃ ┃ β”— πŸ“‚profile
 ┃ ┣ πŸ“‚api
 ┣ πŸ“‚components
 ┣ πŸ“‚contexts
 ┣ πŸ“‚types
 ┣ πŸ“‚utils
 ┣ πŸ“‚zustand
 β”— πŸ“œmiddleware.ts






🏹 Trouble Shooting


Swiper 였λ₯˜

className의 였λ₯˜λ‘œ ν•œ νŽ˜μ΄μ§€ μ•ˆμ—μ„œ λ‘κ°œμ˜ Swiperλ₯Ό μ‚¬μš©ν–ˆμ„λ•Œ ν•˜λ‚˜μ˜ Swiperκ°€ μ•ˆλ‚˜νƒ€λ‚˜λŠ” λ¬Έμ œκ°€ λ°œμƒν–ˆμ—ˆλ‹€. μ²˜μŒμ—λŠ” 데이터 λ‘œλ”©κ³Όμ •μ—μ„œμ˜ λ¬Έμ œμΈμ€„ μ•Œκ³  계속 λ°›μ•„μ˜€λŠ” λ‘œμ§λΆ€ν„° λͺ¨μ‘°λ¦¬ console.logλ₯Ό μ°μ—ˆλŠ”λ° dataλž‘ undefinedκ°€ λ²ˆκ°ˆμ•„μ„œ λ– μ„œ 이게 문제인 쀄 μ•Œμ•˜λ‹€. 근데 μ•Œκ³ λ³΄λ‹ˆ width 값을 μ•ˆμ€˜μ„œ 생긴 λ¬Έμ œμ˜€λ‹€..

profile
개발 일기μž₯

0개의 λŒ“κΈ€