Skip to content

FlavorPath/front

Repository files navigation

🍽️ FlavorPath

Frame 1

  • 배포 URL:

  • ν…ŒμŠ€νŠΈ 아이디: test

  • ν…ŒμŠ€νŠΈ λΉ„λ°€λ²ˆν˜Έ: 12341234


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

  • FlavorPathλŠ” μ‚¬μš©μžλ“€μ—κ²Œ λ§žμΆ€ν˜• 식당 μΆ”μ²œ κ²½ν—˜λ₯Ό μ œκ³΅ν•˜λŠ” 데 μ΄ˆμ μ„ 맞좘 식당 탐색 μ• ν”Œλ¦¬μΌ€μ΄μ…˜μž…λ‹ˆλ‹€.
  • μ‚¬μš©μžλŠ” ν•œμ‹, 쀑식, λ””μ €νŠΈ λ“± μ„ ν˜Έν•˜λŠ” μΉ΄ν…Œκ³ λ¦¬λ₯Ό 선택해 ν•΄λ‹Ή μΉ΄ν…Œκ³ λ¦¬μ— κ°€μž₯ μ ν•©ν•œ 식당 정보λ₯Ό λΉ λ₯΄κ²Œ 찾을 수 μžˆμŠ΅λ‹ˆλ‹€.
  • λ˜ν•œ, 리뷰 κΈ°λŠ₯을 톡해 μ‚¬μš©μžλ“€μ΄ 직접 μž‘μ„±ν•œ 신뒰도 높은 후기와 평가λ₯Ό 확인할 수 μžˆμ–΄ 식당 선택에 도움을 μ€λ‹ˆλ‹€.
  • κ°„λ‹¨ν•œ μΈν„°νŽ˜μ΄μŠ€μ™€ 직관적인 μ‚¬μš©μ„±μ„ κ°–μΆ° μ‚¬μš©μžκ°€ μ›ν•˜λŠ” 식당 정보λ₯Ό λΉ λ₯΄κ³  μ •ν™•ν•˜κ²Œ μ œκ³΅ν•˜μ—¬ 졜적의 외식 κ²½ν—˜μ„ μ œκ³΅ν•©λ‹ˆλ‹€.

ν”„λ‘œμ νŠΈ μ‹€ν–‰ν•˜κΈ°

$ git clone https://github.com/FlavorPath/front.git
$ pnpm install
$ pnpm run dev

개발 ν™˜κ²½

ν”„λ‘ νŠΈμ—”λ“œ

React TypeScript Zustand PandaCSS React Query

λ°±μ—”λ“œ

JavaScript Express.js MySQL JWT Swagger AWS

ν˜‘μ—… 도ꡬ 및 배포

Slack Notion Swagger Vercel


폴더 ꡬ쑰

src/
β”œβ”€β”€ api/                 # API 호좜 및 κ΄€λ ¨ 둜직
β”œβ”€β”€ assets/              # 이미지 및 정적 μžμ‚°
β”œβ”€β”€ fonts/               # 폰트 파일
β”œβ”€β”€ hooks/               # μ»€μŠ€ν…€ ν›…
β”œβ”€β”€ mocks/               # Mock 데이터
β”œβ”€β”€ pages/               # νŽ˜μ΄μ§€ μ»΄ν¬λ„ŒνŠΈ
β”œβ”€β”€ routes/              # 라우트 μ„€μ •
β”œβ”€β”€ store/               # μƒνƒœ 관리 κ΄€λ ¨ μ½”λ“œ
    β”œβ”€β”€ queries
    └── stores
β”œβ”€β”€ styles/              # μŠ€νƒ€μΌ κ΄€λ ¨ 파일
β”œβ”€β”€ ui/                  # UI μ»΄ν¬λ„ŒνŠΈ
    β”œβ”€β”€ components
    └── view
        β”œβ”€β”€ atom
        β”œβ”€β”€ molecule
        └── template
└── utils/               # μœ ν‹Έλ¦¬ν‹° ν•¨μˆ˜ 및 λͺ¨λ“ˆ

νŠΈλŸ¬λΈ”μŠˆνŒ…

  • API 응닡 데이터 νƒ€μž… 뢈일치 문제 및 ν•΄κ²°

    labels ν•„λ“œκ°€ λ°°μ—΄λ‘œ 전달될 κ²ƒμœΌλ‘œ μ˜ˆμƒν–ˆμ§€λ§Œ, μ‹€μ œλ‘œλŠ” μ‰Όν‘œλ‘œ κ΅¬λΆ„λœ 단일 λ¬Έμžμ—΄λ‘œ λ°˜ν™˜λ˜μ—ˆμŠ΅λ‹ˆλ‹€. ν™•μΈν•΄λ³΄λ‹ˆ λ°±μ—”λ“œμ—μ„œ λ°°μ—΄ 데이터λ₯Ό JSON μ§λ ¬ν™”ν•˜λ©΄μ„œ μ‰Όν‘œλ‘œ κ΅¬λΆ„λœ λ¬Έμžμ—΄λ‘œ λ³€ν™˜λœ 것이 μ›μΈμ΄μ—ˆμŠ΅λ‹ˆλ‹€.

    이에 λŒ€ν•΄ μ•„λž˜μ˜ 과정을 톡해 이 문제λ₯Ό ν•΄κ²°ν–ˆμŠ΅λ‹ˆλ‹€.

    1. API 응닡 데이터λ₯Ό 확인해 labelsκ°€ λ°°μ—΄ λŒ€μ‹  λ¬Έμžμ—΄λ‘œ λ°˜ν™˜λœ 문제λ₯Ό λ°œκ²¬ν–ˆμŠ΅λ‹ˆλ‹€.
    2. λ°±μ—”λ“œμ— μˆ˜μ • μš”μ²­μ„ 보내 λ°°μ—΄ ν˜•νƒœλ‘œ λ°˜ν™˜ν•˜λ„λ‘ μ‘°μΉ˜ν–ˆμŠ΅λ‹ˆλ‹€.
    3. λ°±μ—”λ“œ μˆ˜μ • μ „κΉŒμ§€λŠ” μž„μ‹œλ‘œ μ‰Όν‘œλ‘œ κ΅¬λΆ„λœ λ¬Έμžμ—΄μ„ λ°°μ—΄λ‘œ λ°˜ν™˜ν•˜λŠ” λ‘œμ§μ„ μΆ”κ°€ν•˜μ—¬ μ²˜λ¦¬ν–ˆμŠ΅λ‹ˆλ‹€.

    결과적으둜, λ°±μ—”λ“œ μˆ˜μ • ν›„ labelsκ°€ λ°°μ—΄ ν˜•νƒœλ‘œ λ³€ν™˜λ˜λ©° ν”„λ‘ νŠΈμ—”λ“œμ—μ„œ μ˜ˆμƒλŒ€λ‘œ 데이터 μ²˜λ¦¬κ°€ κ°€λŠ₯ν•΄μ‘ŒμŠ΅λ‹ˆλ‹€.
    API λͺ…μ„Έμ„œλ₯Ό 톡해 데이터 νƒ€μž…μ„ λͺ…ν™•νžˆ μ •μ˜ν•˜κ³ , λ°©μ–΄ μ½”λ“œλ₯Ό μž‘μ„±ν•˜μ—¬ 데이터 νƒ€μž… 이상 μ‹œ 였λ₯˜λ₯Ό 사정에 κ²€μ§€ν•˜μ—¬ ν•΄λ‹Ή λ¬Έμ œκ°€ 더 이상 λ°œμƒν•˜μ§€ μ•Šλ„λ‘ μ˜ˆλ°©ν•  것 μž…λ‹ˆλ‹€.

  • 토큰 만료 μ²˜λ¦¬μ— λŒ€ν•œ 문제

    토큰이 만료된 μƒνƒœμ—μ„œ μ‚¬μš©μžκ°€ μ„œλ²„μ— μš”μ²­μ„ 보낼 경우, 인증 였λ₯˜κ°€ λ°œμƒν•˜μ˜€μŠ΅λ‹ˆλ‹€. ν”„λ‘œμ νŠΈ μ‹œκ°„ 상 λ¦¬λΈŒλ ˆμ‹œ 토큰을 κ΅¬ν˜„ν•˜κ±°λ‚˜ ν™œμš©ν•  수 μ—†μ—ˆκΈ° λ•Œλ¬Έμ— λ‹€λ₯Έ 방법을 μ°Ύμ•„μ•Όν–ˆμŠ΅λ‹ˆλ‹€.

    이λ₯Ό μ‹œλ„ν•˜λŠ” κ³Όμ •μ—μ„œ λ‹€μ–‘ν•œ μ—λŸ¬ 응닡을 μ •ν™•νžˆ κ΅¬λΆ„ν•˜λŠ” λ‘œμ§μ„ μž‘μ„±ν•˜λŠ” 것과, μ‚¬μš©μž μš”μ²­μ΄ μ€‘λ‹¨λ˜μ§€ μ•Šλ„λ‘ μ²˜λ¦¬ν•˜λŠ” 데 어렀움이 μžˆμ—ˆμŠ΅λ‹ˆλ‹€. 만료 μƒνƒœλ₯Ό status와 message둜 κ°μ§€ν•˜μ—¬ μžλ™μœΌλ‘œ 둜그인 νŽ˜μ΄μ§€λ‘œ μ΄λ™ν•˜κ³  토큰 만료 μ•Œλ¦Ό λ©”μ‹œμ§€λ₯Ό μ œκ³΅ν•˜μ—¬ μ‚¬μš©μž κ²½ν—˜μ„ κ°œμ„ ν•˜μ—¬ μ•ˆμ „ν•˜κ²Œ 토큰을 μ²˜λ¦¬ν•  수 μžˆμ—ˆμŠ΅λ‹ˆλ‹€.


μ£Όμš” κΈ°λŠ₯

νšŒμ›κ°€μž…/둜그인 νŽ˜μ΄μ§€ ν™ˆνŽ˜μ΄μ§€ μƒμ„ΈνŽ˜μ΄μ§€
κ²€μƒ‰νŽ˜μ΄μ§€ μŠ€ν¬λž©νŽ˜μ΄μ§€ λ§ˆμ΄νŽ˜μ΄μ§€

FlavorPath νŒ€

ν•œνƒœλ™ μ‹¬μ±„μœ€ μ‘°μ„±λ―Ό μ •λ™ν˜„

FE

FE

BE

BE

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors