Skip to content

Latest commit

Β 

History

5 Commits

Folders and files

NameName
Last commit message
Last commit date
Β 
Β 

Repository files navigation

Expo2026-Front


πŸ“” 2026_EXPO의 ν”„λ‘ νŠΈμ—”λ“œ μ €μž₯μ†Œμž…λ‹ˆλ‹€.

React, TypeScript, Viteλ₯Ό 기반으둜 ν•˜λ©°, μœ μ§€λ³΄μˆ˜μ„±μ„ μœ„ν•΄ κΈ°λŠ₯ λ‹¨μœ„(Feature-based) μ•„ν‚€ν…μ²˜λ₯Ό λ”°λ¦…λ‹ˆλ‹€.


πŸ›  Tech Stack

λΆ„λ₯˜ 기술 λΉ„κ³ 
Core React TypeScript UI 라이브러리 및 μ–Έμ–΄
Build Vite λΉŒλ“œ 도ꡬ 및 개발 μ„œλ²„
State TanStack Query (Server), Zustand (Client) μ„œλ²„/ν΄λΌμ΄μ–ΈνŠΈ μƒνƒœ 관리 뢄리
Network Axios HTTP 비동기 톡신 라이브러리
Style TailwindCSS CSS
Routing React Router DOM SPA λΌμš°νŒ…
Date React Day Picker μΊ˜λ¦°λ”/λ‚ μ§œ 선택 UI
Icons lucide-react μ•„μ΄μ½˜ 라이브러리
Pkg Mgr npm νŒ¨ν‚€μ§€ λ§€λ‹ˆμ €
Quality ESLint, Prettier μ½”λ“œ ν’ˆμ§ˆ 및 ν¬λ§·νŒ… (μˆ˜λ™ μ‹€ν–‰)

Getting Started (μ„€μΉ˜ 및 μ‹€ν–‰)

이 ν”„λ‘œμ νŠΈλŠ” Node.js v20 (LTS) 이상 ν™˜κ²½μ„ ꢌμž₯ν•©λ‹ˆλ‹€.

node -v

1. ν”„λ‘œμ νŠΈ 클둠

git clone git@github.com:el-dmu/Expo2026-Front.git
cd νŒŒμΌμ΄λ¦„ 아직 λ―Έμ •μž…λ‹ˆλ‹€.

2. νŒ¨ν‚€μ§€ μ„€μΉ˜

npm install

Tip: νŒ€μ›λ“€κ³Ό μ •ν™•νžˆ λ™μΌν•œ 버전을 μ„€μΉ˜ν•˜λ €λ©΄ npm ci λͺ…λ Ήμ–΄λ₯Ό μ‚¬μš©ν•˜λŠ” 것이 μ’‹μŠ΅λ‹ˆλ‹€.

3. ν™˜κ²½ λ³€μˆ˜ μ„€μ • (.env)

루트 디렉토리에 .env νŒŒμΌμ„ μƒμ„±ν•˜κ³ , νŒ€ λ…Έμ…˜(Notion)에 곡유된 ν‚€ 값을 μž…λ ₯ν•˜μ„Έμš”.

(μ˜ˆμ‹œ)

VITE_API_BASE_URL=http://localhost:8080/api/v1
VITE_SOCKET_URL=http://localhost:8080

4. 개발 μ„œλ²„ μ‹€ν–‰

npm run dev

λΈŒλΌμš°μ €μ—μ„œ http://localhost:5173으둜 μ ‘μ†ν•˜μ—¬ ν™•μΈν•©λ‹ˆλ‹€.

5. ν”„λ‘œλ•μ…˜ λΉŒλ“œ 확인 (선택)

npm run build
npm run preview

πŸ“‚ Project Structure (폴더 ꡬ쑰)

μš°λ¦¬λŠ” κΈ°λŠ₯(Feature) μ€‘μ‹¬μ˜ μ•„ν‚€ν…μ²˜λ₯Ό μ‚¬μš©ν•©λ‹ˆλ‹€. κ΄€λ ¨λœ 둜직(UI, Hook, API)이 ν•˜λ‚˜μ˜ 폴더에 λͺ¨μ—¬ μžˆμ–΄μ•Ό μœ μ§€λ³΄μˆ˜κ°€ μ‰½μŠ΅λ‹ˆλ‹€.

src/
β”œβ”€β”€ assets/              # 이미지, 폰트 λ“± 정적 λ¦¬μ†ŒμŠ€
β”œβ”€β”€ components/          # μ „μ—­ 곡용 UI / λ ˆμ΄μ•„μ›ƒ

개발 원칙

  1. Colocation: νŠΉμ • κΈ°λŠ₯μ—μ„œλ§Œ μ“°μ΄λŠ” μ»΄ν¬λ„ŒνŠΈλŠ” features/κΈ°λŠ₯λͺ…/components μ•ˆμ— λ‘‘λ‹ˆλ‹€.
  2. Barrel Exports: index.tsλ₯Ό ν™œμš©ν•˜μ—¬ import 경둜λ₯Ό κΉ”λ”ν•˜κ²Œ μœ μ§€ν•©λ‹ˆλ‹€.
  3. Absolute Import: ../../ λŒ€μ‹  @/features/user 와 같이 μ ˆλŒ€ 경둜(@)λ₯Ό μ‚¬μš©ν•©λ‹ˆλ‹€.

Contribution Guide (ν˜‘μ—… κ·œμΉ™)

1. Git Flow 및 브랜치 μ „λž΅

  • main: 배포 κ°€λŠ₯ν•œ μ•ˆμ • 버전
  • develop: 개발 쀑인 μ½”λ“œ (PR λŒ€μƒ)

πŸ“Œ 브랜치 λͺ…λͺ… κ·œμΉ™: νƒ€μž…/κΈ°λŠ₯λͺ…_μž‘μ„±μž λˆ„κ°€ μž‘μ—… 쀑인지 λͺ…ν™•νžˆ μ•ŒκΈ° μœ„ν•΄ κΈ°λŠ₯λͺ… 뒀에 μž‘μ„±μž 이름을 λΆ™μž…λ‹ˆλ‹€.

νƒ€μž… μ„€λͺ… μ‚¬μš© μ˜ˆμ‹œ
feat μƒˆλ‘œμš΄ κΈ°λŠ₯ μΆ”κ°€ feat/login_Minsik(본인 이름)
fix 버그 μˆ˜μ • fix/home-error_Minsik(본인 이름)
design CSS λ“± μŠ€νƒ€μΌ λ³€κ²½ design/main-color_Minsik(본인 이름)
refactor μ½”λ“œ λ¦¬νŒ©ν† λ§ refactor/api-logic_Minsik(본인 이름)
docs λ¬Έμ„œ μˆ˜μ • docs/readme_Minsik(본인 이름)

2. Commit Convention

컀밋 λ©”μ‹œμ§€λŠ” Conventional Commits κ·œμΉ™μ„ λ”°λ¦…λ‹ˆλ‹€.

  • feat: 둜그인 νŽ˜μ΄μ§€ 퍼블리싱
  • fix: λ§€μΉ­ 필터링 였λ₯˜ μˆ˜μ •
  • docs: λ¦¬λ“œλ―Έ μˆ˜μ •

3. Code Quality (PR μ „ 필독!)

μš°λ¦¬λŠ” μ½”λ“œ ν’ˆμ§ˆμ„ μœ μ§€ν•˜κΈ° μœ„ν•΄ PR(Pull Request)을 올리기 μ „, λ‘œμ»¬μ—μ„œ μžκ°€ 검사λ₯Ό μˆ˜ν–‰ν•΄μ•Ό ν•©λ‹ˆλ‹€.

βœ… PR μ „ μ‹€ν–‰ λͺ…λ Ήμ–΄ μž‘μ—…μ„ 마치고 원격 μ €μž₯μ†Œμ— 올리기 μ „, 터미널에 μ•„λž˜ λͺ…령어듀을 μž…λ ₯ν•˜μ—¬ μ—λŸ¬κ°€ μ—†λŠ”μ§€ ν™•μΈν•©λ‹ˆλ‹€.

λͺ…λ Ήμ–΄ μ—­ν•  μ„€λͺ…
npm run type-check νƒ€μž… 검사 TypeScript 문법 였λ₯˜λ‚˜ νƒ€μž… 뢈일치λ₯Ό μž‘μ•„λƒ…λ‹ˆλ‹€. (μ»΄νŒŒμΌμ€ ν•˜μ§€ μ•ŠμŒ)
npm run lint μŠ€νƒ€μΌ 검사 ESLint κ·œμΉ™(λ―Έμ‚¬μš© λ³€μˆ˜, μ»¨λ²€μ…˜ λ“±) μœ„λ°˜ 사항을 ν™•μΈν•©λ‹ˆλ‹€.
# μ‹€ν–‰ μ˜ˆμ‹œ
npm run type-check && npm run lint

⚠️ Troubleshooting

Q. npm install μ‹œ μ—λŸ¬κ°€ λ°œμƒν•΄μš”.
A. Node 버전이 λ§žλŠ”μ§€ ν™•μΈν•˜μ„Έμš”. (node -v >= 20). nvm use 20을 ꢌμž₯ν•©λ‹ˆλ‹€. μΊμ‹œ 문제라면 npm cache clean --force ν›„ λ‹€μ‹œ μ‹œλ„ν•΄ λ³΄μ„Έμš”.

Q. import κ²½λ‘œμ—μ„œ @/κ°€ 인식이 μ•ˆ λΌμš”.
A. VS Codeλ₯Ό μž¬μ‹œμž‘ν•˜κ±°λ‚˜ Ctrl + Shift + P (Win) / Cmd + Shift + P (Mac) λ₯Ό 눌러 λͺ…λ Ή νŒ”λ ˆνŠΈλ₯Ό μ—΄κ³  TypeScript: Restart TS serverλ₯Ό μ‹€ν–‰ν•΄ λ³΄μ„Έμš”.


About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors