Skip to content

5team-gn/GlobalNomad

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

667 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

๐ŸŽค ๊ธ€๋กœ๋ฒŒ๋…ธ๋งˆ๋“œ (Global Nomad)

์บ˜๋ฆฐ๋”์™€ ์ง€๋„ ๋ทฐ๋ฅผ ํ™œ์šฉํ•ด ์˜ˆ์•ฝ ๊ฐ€๋Šฅํ•œ ๋‚ ์งœ๋ฅผ ์„ค์ •ํ•˜๊ณ , ์ฒดํ—˜ ์ƒํ’ˆ์„ ์˜ˆ์•ฝํ•˜๋Š” ์›น ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜

๐ŸŒŸ ํ”„๋กœ์ ํŠธ ์†Œ๊ฐœ

๊ธ€๋กœ๋ฒŒ๋…ธ๋งˆ๋“œ(Global Nomad)๋Š”
์ฒดํ—˜ํ˜• ์—ฌํ–‰ ์ƒํ’ˆ์„ ์‰ฝ๊ณ  ์ง๊ด€์ ์œผ๋กœ ์˜ˆ์•ฝํ•  ์ˆ˜ ์žˆ๋„๋ก ๋•๋Š” ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ž…๋‹ˆ๋‹ค.

์บ˜๋ฆฐ๋”์™€ ์ง€๋„ ๊ธฐ๋ฐ˜ UI๋ฅผ ํ†ตํ•ด
์‚ฌ์šฉ์ž๋Š” ์˜ˆ์•ฝ ๊ฐ€๋Šฅํ•œ ๋‚ ์งœ๋ฅผ ํ•œ๋ˆˆ์— ํ™•์ธํ•˜๊ณ ,
์›ํ•˜๋Š” ์ฒดํ—˜ ์ƒํ’ˆ์„ ์„ ํƒํ•˜์—ฌ ๊ฐ„ํŽธํ•˜๊ฒŒ ์˜ˆ์•ฝํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋ณธ ํ”„๋กœ์ ํŠธ๋Š” ์‹ค์ œ ์„œ๋น„์Šค ํ๋ฆ„์„ ๊ณ ๋ คํ•œ
์˜ˆ์•ฝ ์‹œ์Šคํ…œ ์„ค๊ณ„, ์ƒํƒœ ๊ด€๋ฆฌ, ๊ณตํ†ต ์ปดํฌ๋„ŒํŠธํ™”๋ฅผ ๋ชฉํ‘œ๋กœ ํ•˜์—ฌ
ํŒ€ ํ˜‘์—…์„ ํ†ตํ•ด ๊ตฌํ˜„๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

๐Ÿ—“๏ธ ํ”„๋กœ์ ํŠธ ๊ธฐ๊ฐ„

2025/12/20 (ํ† ) ~ 2025/01/19 (์›”)

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

  • ์ฒดํ—˜ ์ƒํ’ˆ ํƒ์ƒ‰

    • ๋ฉ”์ธ ํŽ˜์ด์ง€์—์„œ ์ฒดํ—˜ ์ƒํ’ˆ ๋ฆฌ์ŠคํŠธ ์กฐํšŒ
    • ์ง€๋„ ๋ทฐ๋ฅผ ํ†ตํ•ด ์ฒดํ—˜ ์œ„์น˜๋ฅผ ์ง๊ด€์ ์œผ๋กœ ํ™•์ธ
  • ์บ˜๋ฆฐ๋” ๊ธฐ๋ฐ˜ ์˜ˆ์•ฝ ์‹œ์Šคํ…œ

    • ์บ˜๋ฆฐ๋” UI๋กœ ์˜ˆ์•ฝ ๊ฐ€๋Šฅํ•œ ๋‚ ์งœ ๋ฐ ์‹œ๊ฐ„ ํ™•์ธ
    • ์„ ํƒํ•œ ์ผ์ •์— ๋”ฐ๋ผ ์ฒดํ—˜ ์˜ˆ์•ฝ ์ง„ํ–‰
  • ์ฒดํ—˜ ์ƒ์„ธ ํŽ˜์ด์ง€

    • ์ฒดํ—˜ ์ƒ์„ธ ์ •๋ณด(์„ค๋ช…, ๊ฐ€๊ฒฉ, ์œ„์น˜, ์ผ์ •) ์ œ๊ณต
    • ์˜ˆ์•ฝ ๊ฐ€๋Šฅ ์ผ์ • ํ™•์ธ ๋ฐ ์˜ˆ์•ฝ ํ”Œ๋กœ์šฐ ์—ฐ๊ฒฐ
  • ์˜ˆ์•ฝ ๋ฐ ์˜ˆ์•ฝ ๋‚ด์—ญ ๊ด€๋ฆฌ

    • ์ฒดํ—˜ ์˜ˆ์•ฝ ์‹ ์ฒญ ๊ธฐ๋Šฅ
    • ์˜ˆ์•ฝ ์ƒํƒœ(๋Œ€๊ธฐ, ์Šน์ธ, ์ทจ์†Œ, ์™„๋ฃŒ)์— ๋”ฐ๋ฅธ ์˜ˆ์•ฝ ๋‚ด์—ญ ๊ด€๋ฆฌ
  • ์ฒดํ—˜ ๋“ฑ๋ก ๊ธฐ๋Šฅ

    • ์ฒดํ—˜ ์ œ๊ณต์ž๋ฅผ ์œ„ํ•œ ์ฒดํ—˜ ์ƒํ’ˆ ๋“ฑ๋ก
    • ์ผ์ •, ๊ฐ€๊ฒฉ, ์ธ์› ๋“ฑ ์ฒดํ—˜ ์ •๋ณด ์„ค์ •
  • ํšŒ์› ์ธ์ฆ ๋ฐ ๋‚ด์ •๋ณด ๊ด€๋ฆฌ

    • ๋กœ๊ทธ์ธ ๊ธฐ๋Šฅ์„ ํ†ตํ•œ ์‚ฌ์šฉ์ž ์ธ์ฆ
    • ๋‚ด์ •๋ณด ํŽ˜์ด์ง€์—์„œ ์‚ฌ์šฉ์ž ์ •๋ณด ๋ฐ ์˜ˆ์•ฝ ๋‚ด์—ญ ํ™•์ธ
  • ๊ณตํ†ต ์ปดํฌ๋„ŒํŠธ ๊ธฐ๋ฐ˜ UI ์„ค๊ณ„

    • Button, Input, Modal ๋“ฑ ๊ณตํ†ต ์ปดํฌ๋„ŒํŠธ ๋ถ„๋ฆฌ
    • ์žฌ์‚ฌ์šฉ์„ฑ๊ณผ ์œ ์ง€๋ณด์ˆ˜๋ฅผ ๊ณ ๋ คํ•œ UI ๊ตฌ์กฐ ์„ค๊ณ„

๐ŸŒ ๋ฐฐํฌ ์ฃผ์†Œ

โžก๏ธ GlobalNomad

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

๊ตฌ๋ถ„ ์‚ฌ์šฉ ๊ธฐ์ˆ 
Frontend Next.js React TypeScript
Styling Tailwind CSS
์„œ๋ฒ„ ์ƒํƒœ ๊ด€๋ฆฌ React Query
HTTP ํด๋ผ์ด์–ธํŠธ axios
Routing Next.js (App Router)
๋ฐฐํฌ Vercel
ํ˜‘์—… Discord Notion

๐Ÿš€ ์‹œ์ž‘ํ•˜๊ธฐ

ํ•„์ˆ˜ ์กฐ๊ฑด

  • Node.js 18.0 ์ด์ƒ
  • npm

์„ค์น˜ ๋ฐ ์‹คํ–‰

# ์ €์žฅ์†Œ ํด๋ก 
git clone https://github.com/5team-gn/GlobalNomad.git

# ์˜์กด์„ฑ ์„ค์น˜
npm install

# ๊ฐœ๋ฐœ ์„œ๋ฒ„ ์‹คํ–‰
npm run dev

๐Ÿ“ ํ”„๋กœ์ ํŠธ ๊ตฌ์กฐ

GLOBALNOMAD
 โ”ฃ app/                 # Next.js App Router ๊ธฐ๋ฐ˜ ํŽ˜์ด์ง€ ๋ฐ ๋ ˆ์ด์•„์›ƒ
 โ”ฃ components/          # ๊ณตํ†ต UI ์ปดํฌ๋„ŒํŠธ
 โ”ฃ feature/             # ๋„๋ฉ”์ธ(๊ธฐ๋Šฅ) ๋‹จ์œ„ ์ปดํฌ๋„ŒํŠธ ๋ฐ ๋กœ์ง
 โ”ฃ hooks/               # ๊ณตํ†ต ์ปค์Šคํ…€ ํ›…
 โ”ฃ adapters/            # API ์‘๋‹ต โ†’ ํ”„๋ก ํŠธ์—”๋“œ ๋ฐ์ดํ„ฐ ๋ณ€ํ™˜ ๋กœ์ง
 โ”ฃ lib/                 # API ์„ค์ •, ๊ณตํ†ต ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ
 โ”ฃ constants/           # ์ „์—ญ ์ƒ์ˆ˜ ๊ด€๋ฆฌ
 โ”ฃ types/               # TypeScript ํƒ€์ž… ์ •์˜
 โ”ฃ utils/               # ๊ณตํ†ต ์œ ํ‹ธ ํ•จ์ˆ˜
 โ”ฃ style/               # ์ „์—ญ ์Šคํƒ€์ผ ๋ฐ ์Šคํƒ€์ผ ์„ค์ •
 โ”ฃ public/              # ์ •์  ๋ฆฌ์†Œ์Šค
 โ”ฃ Mocks/               # ๋ชฉ ๋ฐ์ดํ„ฐ
 โ”— .env.local           # ํ™˜๊ฒฝ ๋ณ€์ˆ˜

๐Ÿ”— API ๋ฌธ์„œ

๐ŸŽฏ ์ฃผ์š” ํŽ˜์ด์ง€

๋ฉ”์ธ ํŽ˜์ด์ง€

๋ฉ”์ธ๋กœ๊ทธ์ธx

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

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

์ฒดํ—˜ ์ƒ์„ธ ํŽ˜์ด์ง€

์˜ˆ์•ฝ ์ƒ์„ธ1

๋‚ด์ •๋ณด ํŽ˜์ด์ง€

๋‚ด์ •๋ณดํŽ˜์ด์ง€

์ฒดํ—˜๋“ฑ๋ก ํŽ˜์ด์ง€

์ฒดํ—˜๋“ฑ๋กํŽ˜์ด์ง€

๐Ÿ‘ฅ ํŒ€์›

๊น€์žฌ์Šน ๋ฐฐ์ •๋ฏผ ์ตœํฌ๋ฝ ํ™ฉํƒœ์šฐ ์„ ๊ธฐํ›ˆ
๊น€์žฌ์Šน ๋ฐฐ์ •๋ฏผ ์ตœํฌ๋ฝ ํ™ฉํƒœ์šฐ ์„ ๊ธฐํ›ˆ
๊น€์žฌ์Šน ๋ฐฐ์ •๋ฏผ ์ตœํฌ๋ฝ ํ™ฉํƒœ์šฐ ์„ ๊ธฐํ›ˆ

๐Ÿท๏ธ์—ญํ• 

๐Ÿ–ฅ๏ธ ๊น€์žฌ์Šน

  • ๊ณตํ†ต ์ปดํฌ๋„ŒํŠธ

    • ๊ณตํ†ต Header ์ปดํฌ๋„ŒํŠธ ๊ตฌํ˜„
    • ๊ณตํ†ต Footer ์ปดํฌ๋„ŒํŠธ ๊ตฌํ˜„
  • ๋กœ๊ทธ์ธ ํŽ˜์ด์ง€

    • ๋กœ๊ทธ์ธ ํŽ˜์ด์ง€ ๊ตฌํ˜„
  • ๋ฐฐํฌ

  • ๋ฐœํ‘œ ๋ฐ ๋ฐœํ‘œ ์ž๋ฃŒ ์ œ์ž‘

๐Ÿ–ฅ๏ธ ๋ฐฐ์ •๋ฏผ

  • ์ „์—ญ ์„ธํŒ…

  • axios ์ธ์Šคํ„ด์Šค ์„ธํŒ…

  • ์ธ์ฆ/ํ† ํฐ ๋ฐ ํ—ค๋” ๋™๊ธฐํ™”

  • Header ์•Œ๋ฆผ ๊ธฐ๋Šฅ ๋ฐ ui ์„ธํŒ…

  • ๋ฆฌ์—‘ํŠธ ์ฟผ๋ฆฌ ์ „์—ญ ์„ธํŒ…

  • kakao ์ง€๋„ ๊ตฌํ˜„

  • ๋กœ๋”ฉ ux ๊ฐœ์„ 

  • ๊ณตํ†ต ์ปดํฌ๋„ŒํŠธ

    • ๊ณตํ†ต Card ์ปดํฌ๋„ŒํŠธ ๊ตฌํ˜„
  • ์ฒดํ—˜ ์ƒ์„ธ ํŽ˜์ด์ง€

  • ์ฒดํ—˜ ์ƒ์„ธ UI ๋ฐ ๊ธฐ๋Šฅ ๊ตฌํ˜„

  • ์˜ˆ์•ฝ ์ƒํƒœ(๋Œ€๊ธฐ / ์Šน์ธ / ์ทจ์†Œ / ์™„๋ฃŒ)๋ฅผ ๊ธฐ์ค€์œผ๋กœ ํ•œ ๋„๋ฉ”์ธ ์ƒํƒœ ๊ด€๋ฆฌ

  • ์˜ˆ์•ฝ ๋ชจ๋‹ฌ โ†’ ์˜ˆ์•ฝ ํ™•์ • โ†’ ์˜ˆ์•ฝ ๋‚ด์—ญ ๋ฐ˜์˜๊นŒ์ง€์˜ ์˜ˆ์•ฝ ํ”Œ๋กœ์šฐ ์„ค๊ณ„

  • React Query๋ฅผ ํ™œ์šฉํ•œ ์˜ˆ์•ฝ ๋ฐ์ดํ„ฐ ์บ์‹ฑ ๋ฐ ์ƒํƒœ ๋ณ€๊ฒฝ ์‹œ ์ž๋™ ๋™๊ธฐํ™” ์ฒ˜๋ฆฌ

  • ์บ˜๋ฆฐ๋” UI ๊ตฌํ˜„์„ ํ†ตํ•œ ์˜ˆ์•ฝ ๊ฐ€๋Šฅ ์ผ์ • ์‹œ๊ฐํ™”

๐Ÿ–ฅ๏ธ ์ตœํฌ๋ฝ

  • ์ „์—ญ ์„ธํŒ… / ์ธํ”„๋ผ

    • AuthProvider ๊ธฐ๋ฐ˜ ์ „์—ญ ์ธ์ฆ ์ƒํƒœ ๊ด€๋ฆฌ ๋ฐ ์ดˆ๊ธฐํ™” ์ฒ˜๋ฆฌ
    • ์Šคํฌ๋กค ์ž ๊ธˆ ๊ธฐ๋Šฅ ๊ตฌํ˜„
    • ToastProvider ์ „์—ญ ์„ธํŒ… ๋ฐ ๊ณตํ†ต ์œ ํ‹ธ ๊ตฌ์„ฑ
  • ๊ณตํ†ต ์ปดํฌ๋„ŒํŠธ

    • ๊ณตํ†ต Input ์ปดํฌ๋„ŒํŠธ ์„ค๊ณ„ ๋ฐ ๊ตฌํ˜„
  • ๋‚ด์ •๋ณด(MyInfo) ํŽ˜์ด์ง€

    • ๋‚ด์ •๋ณด ํŽ˜์ด์ง€ UI ๋ฐ ์‚ฌ์šฉ์ž ์ •๋ณด ์กฐํšŒยท์ˆ˜์ • ๊ธฐ๋Šฅ ๊ตฌํ˜„
  • ์˜ˆ์•ฝ๋‚ด์—ญ(ReservationView) ํŽ˜์ด์ง€

    • ์˜ˆ์•ฝ๋‚ด์—ญ ํŽ˜์ด์ง€ UI ๋ฐ ๊ธฐ๋Šฅ ์ „๋ฐ˜ ๊ตฌํ˜„
    • ์˜ˆ์•ฝ/๋ฆฌ๋ทฐ ํƒ€์ž… ์ •์˜ ๋ฐ API ์‘๋‹ต ๋งคํ•‘ ๊ตฌ์กฐ ์ •๋ฆฌ
    • ์˜ˆ์•ฝ ๊ด€๋ จ ์ปค์Šคํ…€ ํ›… ๋ฐ ์ƒํƒœ ๊ด€๋ฆฌ ๊ตฌ์„ฑ
    • ์ธํ”ผ๋‹ˆํ‹ฐ ์Šคํฌ๋กค ๋„์ž… ๋ฐ ์„ฑ๋Šฅ/์•ˆ์ •์„ฑ ๊ฐœ์„ 
    • ํ•„ํ„ฐ ์ „ํ™˜ ๋ฐ Empty ์ƒํƒœ ์ฒ˜๋ฆฌ ๋กœ์ง ์•ˆ์ •ํ™”

๐Ÿ–ฅ๏ธ ํ™ฉํƒœ์šฐ

  • ๊ณตํ†ต ์ปดํฌ๋„ŒํŠธ

    • ๊ณตํ†ต Modal ์ปดํฌ๋„ŒํŠธ ๊ตฌํ˜„
  • ์ฒดํ—˜ ๋“ฑ๋ก ํŽ˜์ด์ง€

    • ์ฒดํ—˜ ๋“ฑ๋ก ํŽ˜์ด์ง€ ๊ตฌํ˜„
  • ๋žœ๋”ฉ ํŽ˜์ด์ง€

    • ๋žœ๋”ฉ ํŽ˜์ด์ง€ ๊ตฌํ˜„

๐Ÿ–ฅ๏ธ ์„ ๊ธฐํ›ˆ

  • ์ „์—ญ ์„ธํŒ…

  • ์ปฌ๋Ÿฌ ํ† ํฐ, ํ…์ŠคํŠธ ํ† ํฐ ์„ธํŒ…

  • ๊ณตํ†ต ์ปดํฌ๋„ŒํŠธ

    • ๊ณตํ†ต Button ์ปดํฌ๋„ŒํŠธ ์‹œ์Šคํ…œ ๊ตฌ์ถ•
    • ๊ณตํ†ต ์ปดํฌ๋„ŒํŠธ/์ฝ”๋“œ ์ •๋ฆฌ ๋ฐ ๋ฆฌํŒฉํ† ๋ง
  • ์˜ˆ์•ฝ ํŽ˜์ด์ง€

    • App ๋ผ์šฐํŠธ ๊ธฐ๋ณธ layout
    • ๋‚ด ์ •๋ณด ํŽ˜์ด์ง€ spa ๊ตฌํ˜„ ๋ฐ ์‚ฌ์ด๋“œ ๋ฐ”
    • ์—์•ฝ ๋ชจ๋‹ฌ ๊ตฌํ˜„ ๋‚ด ์ฒดํ—˜๊ด€๋ฆฌ ํŽ˜์ด์ง€
    • ๋‚ด ์ฒดํ—˜๊ด€๋ฆฌ ํŽ˜์ด์ง€ ๊ตฌํ˜„
    • ๋‚ด ์ฒดํ—˜ ๋“ฑ๋ก ๋ฐ ์ˆ˜์ • ํŽ˜์ด์ง€ ๊ตฌํ˜„ ์˜ˆ์•ฝ ํ˜„ํ™ฉ ํŽ˜์ด์ง€
    • ์˜ˆ์•ฝ ํ˜„ํ™ฉ ํŽ˜์ด์ง€ ๊ตฌํ˜„
    • ์˜ˆ์•ฝ ํ”Œ๋กœ์šฐ ๋กœ์ง ๊ตฌํ˜„
    • ์˜ˆ์•ฝ ๊ด€๋ จ API ์—ฐ๋™

๐ŸŽ“ ํ•™์Šต ํฌ์ธํŠธ

  • React ์ปดํฌ๋„ŒํŠธ ์„ค๊ณ„: ์žฌ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ์ปดํฌ๋„ŒํŠธ ๊ฐœ๋ฐœ
  • ํŒ€ ํ˜‘์—…: Git ๋ธŒ๋žœ์น˜ ์ „๋žต ๋ฐ ์ฝ”๋“œ ๋ฆฌ๋ทฐ ํ”„๋กœ์„ธ์Šค
  • SDK ํ™œ์šฉ: ์˜ˆ์•ฝ ์‹œ์Šคํ…œ, ์ง€๋„ ๊ธฐ๋Šฅ, UI/UX ๊ฐœ์„ ์— SDK ํ™œ์šฉ์„ ํ†ตํ•ด ๋ณต์žกํ•œ ๊ธฐ๋Šฅ์„ ๊ตฌํ˜„ํ•ด๋ณด๊ณ ์ž ํ•˜๋Š” ๊ฐœ๋ฐœ

๐Ÿ“œ ๋ผ์ด์„ผ์Šค

This project is licensed under the MIT License - see the LICENSE file for details.

๐Ÿ™ ๊ฐ์‚ฌ์˜ ๊ธ€

์ด ํ”„๋กœ์ ํŠธ๋Š” ์ฝ”๋“œ์ž‡ ์Šคํ”„๋ฆฐํŠธ Front-End 19๊ธฐ ๊ต์œก ๊ณผ์ •์˜ ํŒ€ ํ”„๋กœ์ ํŠธ๋กœ ์ œ์ž‘๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

Releases

No releases published

Packages

No packages published

Contributors 6

Languages