Skip to content

[๐Ÿ†2025 kakao X groom ์‹œ์ฆŒํ†ค ์šฐ์ˆ˜์ƒ ์ˆ˜์ƒ์ž‘] 29ํŒ€ [ Wedit ] ํ”„๋ก ํŠธ์—”๋“œ ๋ ˆํฌ์ง€ํ† ๋ฆฌ

Notifications You must be signed in to change notification settings

9oormthon-univ/2025_SEASONTHON_TEAM_29_FE

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

๊ฒฐํ˜ผ์ค€๋น„๋ฅผ ๋‚ด ๋งˆ์Œ๋Œ€๋กœ ํŽธ์ง‘ํ•˜๋‹ค, ์›จ๋”ง

์›จ๋”ง๊ณผ ํ•จ๊ป˜๋ผ๋ฉด ๋”์ด์ƒ์˜ ์ŠคํŠธ๋ ˆ์Šค๋Š” ์—†์Šต๋‹ˆ๋‹ค!


โœจ ํ”„๋กœ์ ํŠธ ์†Œ๊ฐœ

์›จ๋”ฉ ์ค€๋น„๋Š” ๊ฐ€๊ฒฉ ๋น„๊ณต๊ฐœ์™€ ๋“œ๋ ˆ์Šค ํ”ผํŒ… ์ดฌ์˜ ๊ธˆ์ง€ ๋•Œ๋ฌธ์— ๋งŽ์€ ๋ถ€๋ถ€๋“ค์—๊ฒŒ ์ŠคํŠธ๋ ˆ์Šค๋ฅผ ์ค๋‹ˆ๋‹ค.
Wedit์€ ์˜ˆ๋น„๋ถ€๋ถ€๋ฅผ ์œ„ํ•œ ์›จ๋”ฉ์—…์ฒด ๊ฐ€๊ฒฉ ๋น„๊ต ํ”Œ๋žซํผ์œผ๋กœ,

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

๐Ÿš€ ์ฃผ์š” ๊ธฐ๋Šฅ

  • ๐Ÿ“… ์—ฐ๋™์บ˜๋ฆฐ๋” ๊ด€๋ฆฌ โ€“ ์›จ๋”ฉ ๊ด€๋ จ ์ผ์ •์„ ์›”๋ณ„/๋ฆฌ์ŠคํŠธ๋กœ ๊ด€๋ฆฌ
  • ๐Ÿข ์กฐ๊ฑด๊ฒ€์ƒ‰ โ€“ ์—…์ฒด ์„ฑ๊ฒฉ์— ๋”ฐ๋ฅธ ํ•„ํ„ฐ ์„ ํƒ์œผ๋กœ ๋‚˜์—๊ฒŒ ๋งž๋Š” ์—…์ฒด๋งŒ ์„œ์น˜
  • ๐Ÿ“ ๋ฆฌ๋ทฐ ๊ด€๋ฆฌ โ€“ ๋‚ด๊ฐ€ ๊ณ„์•ฝํ•œ ์—…์ฒด ํ›„๊ธฐ, ์›จ๋”ง์œ ์ €๋“ค์˜ ์†”์งํ•œ ํ›„๊ธฐ
  • ๐Ÿ“ฐ ๋งค๊ฑฐ์ง„ โ€“ ์›จ๋”ง์ด ์ œ๊ณตํ•˜๋Š” ๊ฒฐํ˜ผ์ค€๋น„ ํŒ
  • ๐Ÿ™ ๋“œ๋ ˆ์Šค ์Šค์ผ€์น˜ โ€“ ์†๊ทธ๋ฆผ ๋Œ€์‹  ์•„์ด์ฝ˜ ํด๋ฆญ์œผ๋กœ ๋“œ๋ ˆ์Šค ๊ธฐ๋ก
  • ๐Ÿ›’ ๊ฒฌ์ ์„œ โ€“ ๊ฐ€๊ฒฉ์„ ๋น„๊ตํ•˜๊ณ  ์‹ถ์€ ์—…์ฒด๋งŒ ๋‹ด์•„์„œ ์˜ˆ์‚ฐ ๊ด€๋ฆฌ
  • ๐Ÿ‘ฐ๐Ÿปโ€โ™€๏ธ ์ฒญ์ฒฉ์žฅ - ์›จ๋”ง์—์„œ ํŽธ๋ฆฌํ•˜๊ฒŒ ๋ชจ๋ฐ”์ผ ์ฒญ์ฒฉ์žฅ ๋งŒ๋“ค๊ธฐ
  • ๐Ÿ’ณ ์ƒ๋‹ด ์˜ˆ์•ฝ / ์—…์ฒด ๊ณ„์•ฝ - ์›จ๋”ง์—์„œ ํ•œ๋ฒˆ์— ์—…์ฒด ๊ณ„์•ฝ , ์ƒ๋‹ด ์˜ˆ์•ฝํ•˜๊ธฐ

KakaoTalk_Photo_2025-09-07-07-23-15 001 KakaoTalk_Photo_2025-09-07-07-23-16 002

์›จ๋”ง ์ž…์žฅํ•˜๊ธฐ


แ„‹แ…ฐแ„ƒแ…ตแ†บ แ„‘แ…ณแ„…แ…ฉแ†ซแ„แ…ณแ„‹แ…ฆแ†ซแ„ƒแ…ณ แ„€แ…ตแ„‰แ…ฎแ†ฏแ„‰แ…ณแ„แ…ขแ†จ:แ„‹แ…กแ„แ…ตแ„แ…ฆแ†จแ„Žแ…ง

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

Frontend

  • React 19
  • Next.js 15.5 โ€“ App Router, Server Components, Dynamic Routing
  • TypeScript 5
  • React DOM 19

UI & ์Šคํƒ€์ผ๋ง

  • Tailwind CSS 4 โ€“ ์œ ํ‹ธ๋ฆฌํ‹ฐ ํผ์ŠคํŠธ ์Šคํƒ€์ผ๋ง
  • shadcn/ui (Radix ๊ธฐ๋ฐ˜, lucide-react์™€ ํ•จ๊ป˜ ์‚ฌ์šฉ)
  • lucide-react 0.542.0 โ€“ ์•„์ด์ฝ˜ ์ปดํฌ๋„ŒํŠธ
  • Embla Carousel 8.6
    • embla-carousel-react
    • embla-carousel-autoplay
    • embla-carousel (core)

์ƒํƒœ ๊ด€๋ฆฌ & ์œ ํ‹ธ

  • clsx 2.1.1 โ€“ ์กฐ๊ฑด๋ถ€ ํด๋ž˜์Šค ๋„ค์ž„ ๊ด€๋ฆฌ
  • js-cookie 3.0.5 โ€“ ์ฟ ํ‚ค ๊ธฐ๋ฐ˜ ์ƒํƒœ ๊ด€๋ฆฌ
  • tanstack-query - ์„œ๋ฒ„ ์ƒํƒœ์™€ ์บ์‹ฑ์„ ์ž๋™ ๊ด€๋ฆฌ UI์™€ ๋ฐ์ดํ„ฐ ๋™๊ธฐํ™”๋ฅผ ์œ„ํ•œ ์ƒํƒœ๊ด€๋ฆฌ
  • zustand - ์œ ์ € ์ •๋ณด ๊ด€๋ฆฌ๋ฅผ ์œ„ํ•œ ์ƒํƒœ๊ด€๋ฆฌ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ

PWA

  • next-pwa 5.6.0 โ€“ ์„œ๋น„์Šค ์›Œ์ปค ๋ฐ ์˜คํ”„๋ผ์ธ ๋ชจ๋“œ ์ง€์› / ํฐ์œผ๋กœ๋„ ์‰ฝ๊ฒŒ ์ ‘๊ทผํ•˜๋„๋ก mobile-first ๋””์ž์ธ ๊ตฌํ˜„

๊ฐœ๋ฐœ ๋„๊ตฌ

  • Storybook 9.1.3 โ€“ ์ปดํฌ๋„ŒํŠธ ๋ฌธ์„œํ™” ๋ฐ ๋””์ž์ธ ์‹œ์Šคํ…œ ๊ตฌ์ถ•
  • ESLint 9 + eslint-config-next + eslint-plugin-storybook
  • Prettier 3.6.2 โ€“ ์ฝ”๋“œ ํฌ๋งทํŒ…
  • @tailwindcss/postcss 4 โ€“ Tailwind PostCSS ํ”Œ๋Ÿฌ๊ทธ์ธ

ํƒ€์ž… ์ง€์›

  • @types/react, @types/react-dom, @types/node, @types/js-cookie

Architecure

  • API ํ˜ธ์ถœ โ†’ services/http.ts
  • ํ† ํฐ ๋งŒ๋ฃŒ ์‹œ โ†’ reissueOnce() โ†’ refreshStore
  • ์ƒˆ access token ๋ฐœ๊ธ‰ ํ›„ ์žฌ์š”์ฒญ
  • ์ตœ์ข…์ ์œผ๋กœ UI์— ์ •์ƒ ์‘๋‹ต ์ „๋‹ฌ

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

src/
โ”œโ”€ app/                # Next.js App Router ํŽ˜์ด์ง€
โ”‚  โ”œโ”€ home/            # ํ™ˆ
โ”‚  โ”œโ”€ calendar/        # ์บ˜๋ฆฐ๋”
โ”‚  โ”œโ”€ cart/            # ๊ฒฌ์ ์„œ
โ”‚  โ”œโ”€ reservation/     # ์˜ˆ์•ฝ/์ƒ๋‹ด ํ”Œ๋กœ์šฐ
โ”‚  โ”œโ”€ mypage/          # ๋งˆ์ดํŽ˜์ด์ง€ (์˜ˆ์•ฝ, ํ›„๊ฐ€ ์ž‘์„ฑ, ์—ฐ๊ฒฐ, ์ฒญ์ฒฉ์žฅ)
โ”‚  โ”œโ”€ editorials/      # ์›จ๋”ฉ ์—๋””ํ† ๋ฆฌ์–ผ
โ”‚  โ”œโ”€ search/          # ๊ฒ€์ƒ‰/ํ•„ํ„ฐ/๊ฒฐ๊ณผ
โ”‚  โ”œโ”€ tours/           # ํˆฌ์–ด/๊ฒฌ์ 
โ”‚  โ”œโ”€ vendor/          # ์—…์ฒด ์ƒ์„ธ
โ”‚  โ”œโ”€ todo/            # ํ• ์ผ ํ”Œ๋กœ์šฐ
โ”‚  โ”œโ”€ review/          # ํ›„๊ธฐ ํ™•์ธ
โ”‚  โ”œโ”€ auth/            # ๋กœ๊ทธ์ธ / ํšŒ์›๊ฐ€์ž…
โ”‚  โ””โ”€ comming-soon/    # ๊ณง ๊ตฌํ˜„๋  ํ™”๋ฉด 
โ”‚
โ”œโ”€ components/         # ์žฌ์‚ฌ์šฉ UI ์ปดํฌ๋„ŒํŠธ
โ”‚  โ”œโ”€ common/          # ๊ณต์šฉ (ํ—ค๋”, ๋ฐ”ํ…€ํƒญ ๋“ฑ)
โ”‚  โ”œโ”€ forms/           # ์ž…๋ ฅ ํผ
โ”‚  โ”œโ”€ Mypage/          # ๋งˆ์ดํŽ˜์ด์ง€ ์„น์…˜
โ”‚  โ”œโ”€ tours/           # ๋“œ๋ ˆ์Šค ํˆฌ์–ด ์ผ์ง€ ๊ด€๋ จ ์ปดํฌ๋„ŒํŠธ
โ”‚  โ”œโ”€ admin/           # ์—…์ฒด ๋“ฑ๋ก(๊ด€๋ฆฌ์ž) ๊ด€๋ จ ์ปดํฌ๋„ŒํŠธ
โ”‚  โ”œโ”€ Calendar/        # ์บ˜๋ฆฐ๋” ๊ด€๋ จ ์ปดํฌ๋„ŒํŠธ
โ”‚  โ”œโ”€ onboading/       # ์˜จ๋ณด๋”ฉ ๊ด€๋ จ ์ปดํฌ๋„ŒํŠธ
โ”‚  โ”œโ”€ reservation/     # ์—…์ฒด ์˜ˆ์•ฝ ๊ด€๋ จ ์ปดํฌ๋„ŒํŠธ
โ”‚  โ”œโ”€ search/           # ์กฐ๊ฑด ๊ฒ€์ƒ‰ ๊ด€๋ จ ์ปดํฌ๋„ŒํŠธ
โ”‚  โ”œโ”€ vendor/           # ์—…์ฒด ๊ด€๋ จ ์ปดํฌ๋„ŒํŠธ
โ”‚  โ”œโ”€ anim/            # todo ์• ๋‹ˆ๋ฉ”์ด์…˜ ๊ด€๋ จ ์ปดํฌ๋„ŒํŠธ
โ”‚  โ””โ”€ invitation/      # ์ฒญ์ฒฉ์žฅ ๊ด€๋ จ ์ปดํฌ๋„ŒํŠธ
โ”‚
โ”œโ”€ services/           # API ํ†ต์‹  ๋ชจ๋“ˆ
โ”‚  โ”œโ”€ http.ts          # โœ… ๊ณตํ†ต HTTP ํด๋ผ์ด์–ธํŠธ (ํ† ํฐ/์žฌ๋ฐœ๊ธ‰)
โ”‚  โ”œโ”€ auth.api.ts      # ์ธ์ฆ
โ”‚  โ”œโ”€ mypage.api.ts    # ๋งˆ์ดํŽ˜์ด์ง€
โ”‚  โ”œโ”€ review.api.ts    # ๋ฆฌ๋ทฐ
โ”‚  โ”œโ”€ tours.api.ts     # ํˆฌ์–ด
โ”‚  โ”œโ”€ vendor.api.ts    # ์—…์ฒด
โ”‚  โ””โ”€ โ€ฆ                # ๊ธฐํƒ€ (๊ฒฌ์ , ์›จ๋”ฉํ™€ ๋“ฑ)
โ”‚
โ”œโ”€ hooks/              # ์ปค์Šคํ…€ ํ›… (๋ฐ์ดํ„ฐ/์ƒํƒœ ๊ด€๋ฆฌ)
โ”‚  โ”œโ”€ useMyProfile.ts
โ”‚  โ”œโ”€ useMyReservations.ts
โ”‚  โ”œโ”€ useCreateReview.ts
โ”‚  โ””โ”€ useSignupWizard.ts
โ”‚
โ”œโ”€ lib/                # ์œ ํ‹ธ๋ฆฌํ‹ฐ & ์ „์—ญ ์Šคํ† ์–ด
โ”‚  โ”œโ”€ tokenStore.ts    # ์•ก์„ธ์Šค ํ† ํฐ ๊ด€๋ฆฌ
โ”‚  โ”œโ”€ refreshStore.ts  # ๋ฆฌํ”„๋ ˆ์‹œ ํ† ํฐ ๊ด€๋ฆฌ
โ”‚  โ”œโ”€ routes.tsx       # ๋ผ์šฐํŠธ ์ƒ์ˆ˜
โ”‚  โ””โ”€ dday.ts, format.ts ๋“ฑ ์œ ํ‹ธ
โ”‚
โ”œโ”€ types/              # ํƒ€์ž… ์ •์˜ (Auth, Vendor, Tour, Review ๋“ฑ)
โ”œโ”€ data/               # ์ •์ /์ƒ˜ํ”Œ ๋ฐ์ดํ„ฐ (ํ™ˆ, ์—๋””ํ† ๋ฆฌ์–ผ ๋“ฑ)
โ””โ”€ utills/cn.ts        # className ์œ ํ‹ธ ํ•จ์ˆ˜

๐Ÿ‘ฅ ํŒ€์›

Frontend ๊ฐœ๋ฐœํŒ€

์ด๋ฆ„ ์—ญํ•  GitHub ๋‹ด๋‹น ์—…๋ฌด
๊น€์ •ํ›ˆ Frontend Lead @Jeong011010 ์•„ํ‚คํ…์ฒ˜ ๋ฐ ๋””๋ ‰ํ„ฐ๋ฆฌ ๊ตฌ์กฐ ์„ค๊ณ„, ์ƒํƒœ๊ด€๋ฆฌ & ํ’ˆ์งˆ, UI๊ตฌํ˜„, API ์—ฐ๋™
๋ฐ•์ˆ˜๋ฏผ Frontend Developer @psm1st UI๋””์ž์ธ, ์ฒญ์ฒฉ์žฅ ๊ตฌํ˜„, ๊ณตํ†ต ์ปดํฌ๋„ŒํŠธ ์ œ์ž‘

๐ŸŽ‰ Wedit๊ณผ ํ•จ๊ป˜ ์™„๋ฒฝํ•œ ์›จ๋”ฉ์„ ์ค€๋น„ํ•˜์„ธ์š”! ๐ŸŽ‰

Website API Documentation

About

[๐Ÿ†2025 kakao X groom ์‹œ์ฆŒํ†ค ์šฐ์ˆ˜์ƒ ์ˆ˜์ƒ์ž‘] 29ํŒ€ [ Wedit ] ํ”„๋ก ํŠธ์—”๋“œ ๋ ˆํฌ์ง€ํ† ๋ฆฌ

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •