Skip to content

choihooo/susanghan-fe

Β 
Β 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

364 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

μˆ˜μƒν•œ 녀석듀 (Susanghan FE)

κ΄‘κ³  곡λͺ¨μ „ μΆœν’ˆμž‘μ„ AI와 μ „λ¬Έκ°€κ°€ λΆ„μ„ν•˜μ—¬ μ œκ³΅ν•˜λŠ” μ‹€μ „ν˜• μˆ˜μƒ 리포트 ν”Œλž«νΌμž…λ‹ˆλ‹€.

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

μˆ˜μƒν•œ 녀석듀은 κ΄‘κ³  곡λͺ¨μ „(DCA, YCC) μΆœν’ˆμž‘μ„ AI와 μ „λ¬Έκ°€κ°€ 심측 λΆ„μ„ν•˜μ—¬ μ œκ³΅ν•˜λŠ” μ‹€μ „ν˜• μˆ˜μƒ 리포트 μ„œλΉ„μŠ€μž…λ‹ˆλ‹€.

μ£Όμš” νŠΉμ§•

  • 🎨 곡λͺ¨μ „ μΆœν’ˆμž‘ 제좜 및 관리: DCA, YCC 곡λͺ¨μ „ μ§€μ›μ„œ 제좜 및 관리
  • πŸ“Š AI 기반 평가 리포트: μΆœν’ˆμž‘μ˜ 평가 κΈ°μ€€, 강점/약점을 λ ˆμ΄λ” μ°¨νŠΈμ™€ 점수둜 μ‹œκ°ν™”
  • πŸ“ˆ νŠΈλ Œλ“œ 뢄석: μˆ˜μƒμž‘ νŠΈλ Œλ“œ 뢄석 및 비ꡐ κΈ°λŠ₯
  • πŸ’¬ μ „λ¬Έκ°€ ν”Όλ“œλ°±: ν˜„μ—…μžμ˜ μˆ˜μƒμž‘ 뢄석 및 ν”Όλ“œλ°± 제곡
  • πŸ” μ†Œμ…œ 둜그인: ꡬ글, 카카였, 넀이버 OAuth 인증 지원
  • πŸ“± λ°˜μ‘ν˜• λ””μžμΈ: λͺ¨λ°”일/λ°μŠ€ν¬ν†± μ΅œμ ν™”

πŸ›  기술 μŠ€νƒ

ν”„λ ˆμž„μ›Œν¬ & 라이브러리

  • Next.js 15 (App Router, Turbopack)
  • React 19
  • TypeScript 5 (strict mode)
  • Tailwind CSS 4

μƒνƒœ 관리 & 데이터 페칭

  • TanStack React Query 5 - μ„œλ²„ μƒνƒœ 관리 및 캐싱
  • Zustand - ν΄λΌμ΄μ–ΈνŠΈ μƒνƒœ 관리

폼 & 검증

  • Zod - μŠ€ν‚€λ§ˆ 기반 폼 검증
  • @use-funnel/browser - 닀단계 폼 ν”Œλ‘œμš° 관리

UI/UX

  • Framer Motion - μ• λ‹ˆλ©”μ΄μ…˜
  • Lottie React - λ‘œλ”© μ• λ‹ˆλ©”μ΄μ…˜
  • Recharts - 데이터 μ‹œκ°ν™” (λ ˆμ΄λ” 차트)

개발 도ꡬ

  • MSW (Mock Service Worker) - API λͺ¨ν‚Ή
  • ESLint - μ½”λ“œ ν’ˆμ§ˆ 관리
  • pnpm - νŒ¨ν‚€μ§€ κ΄€λ¦¬μž

πŸ“ ν”„λ‘œμ νŠΈ ꡬ쑰

susanghan-fe/
β”œβ”€β”€ src/
β”‚   β”œβ”€β”€ app/               # Next.js App Router νŽ˜μ΄μ§€
β”‚   β”‚   β”œβ”€β”€ _apis/         # API ν΄λΌμ΄μ–ΈνŠΈ 및 μŠ€ν‚€λ§ˆ
β”‚   β”‚   β”œβ”€β”€ application/   # 곡λͺ¨μ „ 지원 νŽ˜μ΄μ§€
β”‚   β”‚   β”œβ”€β”€ home/          # ν™ˆ/λžœλ”© νŽ˜μ΄μ§€
β”‚   β”‚   β”œβ”€β”€ login/         # 둜그인 νŽ˜μ΄μ§€
β”‚   β”‚   β”œβ”€β”€ mypage/        # λ§ˆμ΄νŽ˜μ΄μ§€
β”‚   β”‚   β”œβ”€β”€ oauth/         # OAuth 콜백
β”‚   β”‚   β”œβ”€β”€ reports/       # 리포트 쑰회 νŽ˜μ΄μ§€
β”‚   β”‚   └── sign-up/       # νšŒμ›κ°€μž… νŽ˜μ΄μ§€
β”‚   β”œβ”€β”€ components/        # 곡톡 μ»΄ν¬λ„ŒνŠΈ
β”‚   β”œβ”€β”€ hooks/             # μ»€μŠ€ν…€ ν›…
β”‚   β”œβ”€β”€ libs/              # 라이브러리 μ„€μ •
β”‚   β”œβ”€β”€ store/             # Zustand μŠ€ν† μ–΄
β”‚   └── utils/             # μœ ν‹Έλ¦¬ν‹° ν•¨μˆ˜

✨ μ£Όμš” κ΅¬ν˜„ λ‚΄μš©

1. 인증/인가 μ‹œμŠ€ν…œ

  • JWT 기반 인증 (Access Token, Refresh Token)
  • Axios 인터셉터λ₯Ό ν†΅ν•œ μžλ™ 토큰 κ°±μ‹  및 λ™μ‹œ μš”μ²­ νμž‰ 처리
  • 토큰 만료 μ‹œ μžλ™ λ‘œκ·Έμ•„μ›ƒ 및 λ¦¬λ‹€μ΄λ ‰μ…˜
  • OAuth μ†Œμ…œ 둜그인 (ꡬ글, 카카였, 넀이버)
  • AuthGuard μ»΄ν¬λ„ŒνŠΈλ‘œ 라우트 보호

2. 닀단계 폼 ν”Œλ‘œμš°

  • @use-funnel/browserλ₯Ό ν™œμš©ν•œ μ‹ μ²­μ„œ/νšŒμ›κ°€μž… 닀단계 ν”Œλ‘œμš°
  • URL 기반 μƒνƒœ κ΄€λ¦¬λ‘œ λ’€λ‘œκ°€κΈ°/μƒˆλ‘œκ³ μΉ¨ λŒ€μ‘
  • Zod μŠ€ν‚€λ§ˆλ₯Ό ν™œμš©ν•œ 단계별 검증

3. λ°˜μ‘ν˜• λ””μžμΈ

  • μ»€μŠ€ν…€ ν›… useIsMobile둜 λ””λ°”μ΄μŠ€ 감지
  • User Agent, ν„°μΉ˜ λ””λ°”μ΄μŠ€, ν™”λ©΄ 크기 μ’…ν•© νŒλ‹¨
  • λ””λ°”μš΄μ‹±μ„ ν†΅ν•œ λ¦¬μ‚¬μ΄μ¦ˆ 이벀트 μ΅œμ ν™”

4. 데이터 μ‹œκ°ν™”

  • Rechartsλ₯Ό ν™œμš©ν•œ λ ˆμ΄λ” 차트 κ΅¬ν˜„
  • DCA/YCC λŒ€νšŒλ³„ 평가 ν•­λͺ© μ‹œκ°ν™”
  • λ°˜μ‘ν˜• 차트 (λͺ¨λ°”일/λ°μŠ€ν¬ν†± λŒ€μ‘)

5. μ• λ‹ˆλ©”μ΄μ…˜

  • Framer Motion을 ν™œμš©ν•œ Hero μ„Ήμ…˜ μΊλŸ¬μ…€
  • Intersection Observerλ₯Ό ν™œμš©ν•œ 슀크둀 기반 μ• λ‹ˆλ©”μ΄μ…˜

6. μ„±λŠ₯ μ΅œμ ν™”

  • React Query 캐싱 μ „λž΅μœΌλ‘œ λΆˆν•„μš”ν•œ λ„€νŠΈμ›Œν¬ μš”μ²­ κ°μ†Œ
  • Next.js App Routerλ₯Ό ν™œμš©ν•œ μ„œλ²„ μ‚¬μ΄λ“œ λ Œλ”λ§
  • Turbopack을 ν™œμš©ν•œ λΉ λ₯Έ 개발 λΉŒλ“œ

μˆ˜μƒν•œ 녀석듀 - 곡λͺ¨μ „ μˆ˜μƒμ˜ 비밀을 νŒŒν—€μΉ˜λ‹€ πŸ”

About

😎 Susanghan Guys Frontend Repository 😎

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • TypeScript 97.4%
  • JavaScript 1.8%
  • Other 0.8%