Skip to content

FS2-Part4-Team3/2-Moving-3-FE

Repository files navigation

๋กœ๊ณ 

3ํŒ€-Moving-FE

๐Ÿ“… 2025.01.06 ~ 2025.02.25

๐Ÿ“ฃ Overview

๐Ÿ“– ์†Œ๊ฐœ (Introduction)

Moving์€ ์‚ฌ์šฉ์ž๋“ค์ด ๋‹ค์–‘ํ•œ ์ด์‚ฌ ์„œ๋น„์Šค๋ฅผ ํŽธ๋ฆฌํ•˜๊ฒŒ ์š”์ฒญํ•˜๊ณ , ์ด์‚ฌ ์—…์ฒด๋กœ๋ถ€ํ„ฐ ๊ฒฌ์ ์„ ๋ฐ›์„ ์ˆ˜ ์žˆ๋„๋ก ๋•๋Š” ์˜จ๋ผ์ธ ํ”Œ๋žซํผ์ž…๋‹ˆ๋‹ค.

  • ์‚ฌ์šฉ์ž๋Š” ์ž์‹ ์˜ ์ด์‚ฌ ์œ ํ˜•(์†Œํ˜• ์ด์‚ฌ, ๊ฐ€์ • ์ด์‚ฌ, ๊ธฐ์—…ยท์‚ฌ๋ฌด์‹ค ์ด์‚ฌ ๋“ฑ)์— ๋งž๋Š” ์„œ๋น„์Šค๋ฅผ ์„ ํƒํ•œ ํ›„, ๊ฐ„ํŽธํ•˜๊ฒŒ ๊ฒฌ์  ์š”์ฒญ์„ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ์›ํ•˜๋Š” ์ด์‚ฌ ์—…์ฒด๋ฅผ ๊ฒ€์ƒ‰ํ•˜๊ณ  ์›ํ•˜๋Š” ์—…์ฒด์— ์ง์ ‘ ๊ฒฌ์  ์š”์ฒญ์„ ํ•  ์ˆ˜ ์žˆ๋Š” ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.
  • ๊ฐœ์ธ์ •๋ณด๋ฅผ ๋…ธ์ถœ์‹œํ‚ค์ง€ ์•Š๊ณ  ์›ํ•˜๋Š” ์—…์ฒด์™€ ์‹ค์‹œ๊ฐ„ ์ฑ„ํŒ…์œผ๋กœ ์ด์‚ฌ ์ •๋ณด์— ๋Œ€ํ•ด์„œ ์†Œํ†ตํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ๊ฐ ์—…์ฒด์˜ ๋ฆฌ๋ทฐ๋ฅผ ๋ชจ๋‘ ๋ณผ ์ˆ˜ ์žˆ์œผ๋ฉฐ, ์š”์•ฝ๋œ ๋ฆฌ๋ทฐ, ๋ฆฌ๋ทฐ ํ‚ค์›Œ๋“œ ๋ถ„์„ ๋“ฑ ๋งŽ์€ ์ •๋ณด๋ฅผ ํ† ๋Œ€๋กœ ์—…์ฒด๋ฅผ ์„ ์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ์—…์ฒด๋„ ๊ณ ๊ฐ๋‹˜๋“ค์˜ ์ด์‚ฌ ์ •๋ณด์— ๋Œ€ํ•ด์„œ ์นด์นด์˜ค ๋งต์„ ํ†ตํ•ด ์›น์‚ฌ์ดํŠธ ๋‚ด์—์„œ ๋ฐ”๋กœ ์œ„์น˜๋ฅผ ํŒŒ์•…ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๐Ÿšš ๋ฐฐ๊ฒฝ (Background)

์ด์‚ฌ ์„œ๋น„์Šค ์‹œ์žฅ์€ ๊ธฐ์กด์— ์˜คํ”„๋ผ์ธ ์ค‘์‹ฌ์œผ๋กœ ์šด์˜๋˜์—ˆ์œผ๋ฉฐ, ๊ณ ๊ฐ๋“ค์€ ์—ฌ๋Ÿฌ ์—…์ฒด์— ์ผ์ผ์ด ์—ฐ๋ฝํ•˜์—ฌ ๊ฒฌ์ ์„ ๋น„๊ตํ•˜๋Š” ๋ถˆํŽธํ•จ์„ ๊ฒช์—ˆ์Šต๋‹ˆ๋‹ค. Moving์€ ์ด๋Ÿฌํ•œ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด ์˜จ๋ผ์ธ์—์„œ ์†์‰ฝ๊ฒŒ ์ด์‚ฌ ๊ฒฌ์ ์„ ๋น„๊ตํ•˜๊ณ , ์‹ ๋ขฐํ•  ์ˆ˜ ์žˆ๋Š” ์ด์‚ฌ ์—…์ฒด๋ฅผ ์ฐพ์„ ์ˆ˜ ์žˆ๋„๋ก ์ง€์›ํ•˜๋Š” ํ”Œ๋žซํผ์œผ๋กœ ๋“ฑ์žฅํ•˜์˜€์Šต๋‹ˆ๋‹ค.

๋””์ง€ํ„ธํ™”๋œ ์ด์‚ฌ ๊ฒฌ์  ์‹œ์Šคํ…œ์„ ํ†ตํ•ด ๊ณ ๊ฐ๋“ค์€ ๋ณด๋‹ค ํšจ์œจ์ ์ธ ๋น„์šฉ ๋น„๊ต์™€ ์—…์ฒด ์„ ํƒ์ด ๊ฐ€๋Šฅํ•˜๋ฉฐ, ์ด์‚ฌ ์—…์ฒด๋“ค๋„ ์˜จ๋ผ์ธ์„ ํ†ตํ•ด ๋” ๋งŽ์€ ๊ณ ๊ฐ์„ ๋งŒ๋‚  ์ˆ˜ ์žˆ๋Š” ๊ธฐํšŒ๋ฅผ ์–ป๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.

์ด์ œ ์‚ฌ์šฉ์ž๋Š” Moving์„ ํ†ตํ•ด ๋ณด๋‹ค ๊ฐ„ํŽธํ•˜๊ณ  ํˆฌ๋ช…ํ•œ ์ด์‚ฌ ๊ฒฝํ—˜์„ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.


๐Ÿ”— ๊ด€๋ จ ๋งํฌ

๐ŸŒ Moving ํ™ˆํŽ˜์ด์ง€ ๋ฐ”๋กœ๊ฐ€๊ธฐ
๐Ÿ“„ API ๋ช…์„ธ์„œ ๋ฐ”๋กœ๊ฐ€๊ธฐ
๐Ÿ“‚ Back-End Repository
๐Ÿ“˜ Moving team ํ˜‘์—… ๋ฌธ์„œ


๐Ÿ”Ž ๋ชฉ์ฐจ

  1. ํŒ€์› ๊ตฌ์„ฑ
  2. ๊ธฐ์ˆ  ์Šคํƒ
  3. R&R
  4. ํŒ€์›๋ณ„ ๊ตฌํ˜„ ๊ธฐ๋Šฅ ์ƒ์„ธ
  5. ํ”„๋กœ์ ํŠธ ํ™˜๊ฒฝ ๋ณ€์ˆ˜ ์„ค์ •

๐Ÿ‘จโ€๐Ÿ‘จโ€๐Ÿ‘ง ํŒ€์› ๊ตฌ์„ฑ


๐Ÿ“š ๊ธฐ์ˆ  ์Šคํƒ

FrontEnd
Node.js React Next.js App Router TypeScript Tailwind CSS PostCSS Storybook
Jest Redux Toolkit React Query React Chart.js React Kakao Maps React Daum Postcode
Redux Persist React Swiper Datepicker Framer Motion React Spring Socket.io

Infrastructure
AWS Route 53 AWS Amplify

Tools
Git GitHub Slack Discord Notion Gather Zoom

Etc
npm Prettier ESLint FSD Architecture


๐Ÿ™‹โ€โ™‚๏ธ R&R

๊น€์žฌ์›

  • ํ”„๋ก ํŠธ์—”๋“œ ํšŒ์˜ ์ •๋ฆฌ
  • ์ด๊ด„

์ด๋„์—ฝ

  • ๋…ธ์…˜ ํ”„๋ก ํŠธ์—”๋“œ ํŽ˜์ด์ง€ ์ •๋ฆฌ
  • ํ”„๋ก ํŠธ์—”๋“œ ์ผ์ • ๊ด€๋ฆฌ
  • ํ”„๋ก ํŠธ์—”๋“œ ๊นƒํ—ˆ๋ธŒ README.md

๋ฐ•ํšจ๋นˆ

  • PPT ์ œ์ž‘
  • ๋ฐœํ‘œ
  • ํ”ผ๊ทธ๋งˆ ์ œ์ž‘ ๋ฐ ์ˆ˜์ •
  • ์ดˆ๊ธฐ ์„ธํŒ… & ๋ฐฐํฌ ์ž๋™ํ™”

๐Ÿ–ฅ ํŒ€์›๋ณ„ ๊ตฌํ˜„ ๊ธฐ๋Šฅ ์ƒ์„ธ

๊น€์žฌ์›

๋žœ๋”ฉ ํŽ˜์ด์ง€
  • ๋น„ํšŒ์›
  • ์ผ๋ฐ˜ ์œ ์ €
  • ๊ธฐ์‚ฌ๋‹˜
๊ธฐ์‚ฌ๋‹˜ ์ƒ์„ธ ํŽ˜์ด์ง€
  • ๋น„ํšŒ์›
  • ์ผ๋ฐ˜ ์œ ์ €
  • ๊ธฐ์‚ฌ๋‹˜
๋‚ด ๊ฒฌ์  ๊ด€๋ฆฌ ํŽ˜์ด์ง€
  • ๋Œ€๊ธฐ ์ค‘์ธ ๊ฒฌ์  ์ƒ์„ธ ํŽ˜์ด์ง€ (์ผ๋ฐ˜์œ ์ €)
  • ๋ฐ›์•˜๋˜ ๊ฒฌ์  ์ƒ์„ธ ํŽ˜์ด์ง€ (์ผ๋ฐ˜ ์œ ์ €)
  • ํ™•์ • ๊ฒฌ์  ์ƒ์„ธ ํŽ˜์ด์ง€ (๋“œ๋ผ์ด๋ฒ„)
๋งˆ์ด ํŽ˜์ด์ง€
  • ๊ธฐ์‚ฌ๋‹˜
ํŽ˜์ด์ง€ ์™ธ ๊ณ ๋„ํ™”
  • ReactQuery hook
  • Storybook ์ž‘์„ฑ
  • Jest ์œ ๋‹› ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ž‘์„ฑ
  • web share api ๊ณต์œ ํ•˜๊ธฐ ๊ธฐ๋Šฅ ์ถ”๊ฐ€
  • ๋žœ๋”ฉ ํŽ˜์ด์ง€ ๊ถŒํ•œ ์„ค์ •(๋น„ํšŒ์›, ์ผ๋ฐ˜์œ ์ €, ๊ธฐ์‚ฌ๋‹˜) ๋ฐ ์ด์‚ฌ ์ •๋ณด ์ƒ์„ฑ UX
  • ๋ผ์ดํŠธ/๋‹คํฌ ๋ชจ๋“œ ๊ธฐ๋Šฅ
  • Framer-Motion + React-Spring ๊ธฐ๋Šฅ
  • Skeleton UI ๊ธฐ๋Šฅ

์ด๋„์—ฝ

ํ”„๋กœํ•„ ๋“ฑ๋ก & ์ˆ˜์ • ํŽ˜์ด์ง€
  • ์ผ๋ฐ˜ ์œ ์ €
  • ๊ธฐ์‚ฌ๋‹˜
๊ธฐ๋ณธ ์ •๋ณด ์ˆ˜์ • ํŽ˜์ด์ง€
  • ๊ธฐ์‚ฌ๋‹˜
๊ฒฌ์  ์š”์ฒญ & ์ˆ˜์ • ํŽ˜์ด์ง€
  • ์ผ๋ฐ˜ ์œ ์ €
๋ฆฌ๋ทฐ ํŽ˜์ด์ง€
  • ์ž‘์„ฑ ๊ฐ€๋Šฅํ•œ ๋ฆฌ๋ทฐ ํŽ˜์ด์ง€ (์ผ๋ฐ˜์œ ์ €)
  • ๋‚ด๊ฐ€ ์ž‘์„ฑํ•œ ๋ฆฌ๋ทฐ ํŽ˜์ด์ง€ (์ผ๋ฐ˜์œ ์ €)
์‹ค์‹œ๊ฐ„ ์ฑ„ํŒ… ํŽ˜์ด์ง€
  • ์ผ๋ฐ˜ ์œ ์ €
  • ๊ธฐ์‚ฌ๋‹˜
ํŽ˜์ด์ง€ ์™ธ ๊ณ ๋„ํ™”
  • Storybook ์ž‘์„ฑ
  • Jest ์œ ๋‹› ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ž‘์„ฑ
  • ํ”„๋กœํ•„ ์ˆ˜์ • ํŽ˜์ด์ง€ ๋น„๋ฐ€๋ฒˆํ˜ธ ํ™•์ธ ui & ๊ธฐ๋Šฅ ๊ตฌํ˜„ (์ผ๋ฐ˜์œ ์ € || ์†Œ์…œ๋กœ๊ทธ์ธ ์œ ์ €)
  • ํ”„๋กœํ•„ ๋“ฑ๋ก ํŽ˜์ด์ง€ ๊ฒฝ๋ ฅ ์‹œ์ž‘ calendar ui & ๊ธฐ๋Šฅ ๊ตฌํ˜„
  • ๊ฒฌ์  ์š”์ฒญ ํŽ˜์ด์ง€ ์‹œ๊ฐ„ ์„ ํƒ ui & ๊ธฐ๋Šฅ ๊ตฌํ˜„
  • ์œ ์ € & ์†Œ์…œ๋กœ๊ทธ์ธ ์œ ์ €์— ๋Œ€ํ•œ ๊ณ„์ • ๊ฒ€์ฆ ui ๋ฐ ๊ธฐ๋Šฅ ๊ตฌํ˜„
  • ๊ฒฌ์  ์š”์ฒญ ํŽ˜์ด์ง€ ๋žœ๋”ฉ ํŽ˜์ด์ง€ ์ด์‚ฌ ์œ ํ˜• ์—ฐ๊ฒฐ
  • ์ฑ„ํŒ… ํŽ˜์ด์ง€ ์‹ค์‹œ๊ฐ„ ์›น์†Œ์ผ“ ํ†ต์‹  & ์˜จ๋ผ์ธ ์œ ๋ฌด & ์ž‘์„ฑ์ค‘ ์œ ๋ฌด & ์‚ฌ์ง„ ์‚ฝ์ž… ui & ๋ฌดํ•œ์Šคํฌ๋กค ๊ธฐ๋Šฅ ๊ตฌํ˜„
  • social login verify page

๋ฐ•ํšจ๋นˆ

๋กœ๊ทธ์ธ & ํšŒ์›๊ฐ€์ž… ํŽ˜์ด์ง€
  • ์ผ๋ฐ˜ ์œ ์ €
  • ๊ธฐ์‚ฌ๋‹˜
๊ธฐ์‚ฌ๋‹˜ ์ฐพ๊ธฐ ํŽ˜์ด์ง€
  • ๋น„ํšŒ์›
  • ์ผ๋ฐ˜ ์œ ์ €
๋ฐ›์€ ์š”์ฒญ ํŽ˜์ด์ง€
  • ๊ธฐ์‚ฌ๋‹˜
๋‚ด ๊ฒฌ์  ๊ด€๋ฆฌ ํŽ˜์ด์ง€
  • ๋Œ€๊ธฐ์ค‘์ธ ๊ฒฌ์  ํŽ˜์ด์ง€ (์ผ๋ฐ˜ ์œ ์ €)
  • ๊ฒฌ์  ์š”์ฒญ ์ˆ˜์ • ๋ฐ ์ทจ์†Œ ํŽ˜์ด์ง€ (์ผ๋ฐ˜ ์œ ์ €)
  • ๋ฐ›์•˜๋˜ ๊ฒฌ์  ํŽ˜์ด์ง€ (์ผ๋ฐ˜ ์œ ์ €)
  • ํ™•์ • ๊ฒฌ์  ํŽ˜์ด์ง€ (๋“œ๋ผ์ด๋ฒ„)
  • ๋‚ด ๊ฒฌ์  ๊ด€๋ฆฌ - ๋ฐ˜๋ ค ๊ฒฌ์  ์š”์ฒญ ํŽ˜์ด์ง€ (๋“œ๋ผ์ด๋ฒ„)
์ฐœํ•œ ๊ธฐ์‚ฌ๋‹˜ ํŽ˜์ด์ง€
  • ์ผ๋ฐ˜ ์œ ์ €
์†Œ์…œ๋กœ๊ทธ์ธ ์ฝœ๋ฐฑ ํŽ˜์ด์ง€
  • naver
  • google
  • kakao
NotFound ํŽ˜์ด์ง€
๊ณตํ†ต
  • Headless ์ปดํฌ๋„ŒํŠธ ์ œ์ž‘
  • Nav ui
  • Empty ui
ํŽ˜์ด์ง€ ์™ธ ๊ณ ๋„ํ™”
  • Storybook ์ž‘์„ฑ
  • Jest ์œ ๋‹› ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ž‘์„ฑ
  • ์นด์นด์˜ค๋งต API & ui
  • PWA ๊ธฐ๋Šฅ ์ œ์ž‘
  • ์Œ์„ฑ์ธ์‹ ๊ธฐ๋Šฅ ์ œ์ž‘
  • Skeleton UI ๊ธฐ๋Šฅ
  • ๋ฆฌ๋ทฐ ์š”์•ฝ API ์—ฐ๊ฒฐ ๋ฐ ui ์ถ”๊ฐ€
  • ํ‚ค์›Œ๋“œ ๋ถ„์„ API ์—ฐ๊ฒฐ ๋ฐ ui ์ถ”๊ฐ€
  • access token middleware ์ž‘์„ฑ
  • ์•Œ๋ฆผ & ํ”„๋กœํ•„ ๋ชจ๋‹ฌ ui
  • useGeolocation hook
  • ์‹ค์‹œ๊ฐ„ ์•Œ๋ฆผ ์›น์†Œ์ผ“ ํ†ต์‹ 

๐Ÿ”‘ ํ”„๋กœ์ ํŠธ ํ™˜๊ฒฝ ๋ณ€์ˆ˜ ์„ค์ •

ํ”„๋กœ์ ํŠธ์˜ ๋ฃจํŠธ ๋””๋ ‰ํ† ๋ฆฌ์— .env ํŒŒ์ผ์„ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค.
์ด ํŒŒ์ผ์— ์•„๋ž˜์™€ ๊ฐ™์€ ํ™˜๊ฒฝ ๋ณ€์ˆ˜ ํ•ญ๋ชฉ์„ ์ถ”๊ฐ€ํ•ด์ฃผ์„ธ์š”.
(์‹ค์ œ ๊ฐ’์€ ์—ฌ๋Ÿฌ๋ถ„์˜ ํ™˜๊ฒฝ์— ๋งž๊ฒŒ ์ž…๋ ฅํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.)

NEXT_PUBLIC_BASE_URL=<your-backend-api-url>
NEXT_PUBLIC_KAKAO_API_KEY=<your-kakao-api-key>
NEXT_PUBLIC_KAKAO_MAP_KEY=<your-kakao-map-api-key>
NEXT_PUBLIC_KAKAO_REST_KEY=<your-kakao-rest-api-key>

Releases

No releases published

Packages

 
 
 

Contributors

Languages