๋ณธ ํ๋ก์ ํธ๋ LG U+ ์ฐ๊ณ ํ์ ์คํ ์ด ์ค์ฌ์ ์ง์ญ ๊ธฐ๋ฐ ์ด๋ฒคํธ์ ์ฌ์ฉ์๊ฐ ์ฐธ์ฌํ๋ฉฐ, ์ธ๊ทผ ์ ํด์ฒ(์์๊ณต์ธ ํฌํจ)๋ฅผ ์ถ์ฒ๋ฐ๊ณ ์ด๋ฒคํธ ๋งค์ฅ ๊ฒฐ์ ๋ฅผ ํตํด ์คํฌํ๋ฅผ ์ ๋ฆฝํ๋ ์ฐธ์ฌํ ํํ ํ๋ซํผ์ ๋๋ค. ์ฌ์ฉ์๋ ์ง๋ ๊ธฐ๋ฐ์ผ๋ก ์ฃผ๋ณ ์ ํด์ฒ์ ๋ฉค๋ฒ์ญ ํํ ๋ฐ ํ ์ธ ์ ๋ณด๋ฅผ ํ์ธํ๋ฉฐ, ์ด๋ฒคํธ ์ ๋ณด๋ฅผ ํตํด ๋ฉค๋ฒ์ญ ๋ฐ์ฝ๋ ์ ์ถ ๋ฐ ๊ฒฐ์ ์ธ์ฆ์ ํตํด ์ฐธ์ฌํ๋ ๊ฒ์ ๋ชฉํ๋ก ํฉ๋๋ค.
- ๐บ๏ธ ์์น ๊ธฐ๋ฐ ์ด๋ฒคํธ ์ฐธ์ฌ: LG U+ ํ์ ์คํ ์ด์ ์ฐ๊ณํ ์ง์ญ ๋ง์ถคํ ์ด๋ฒคํธ ์ ๊ณต
- ๐ ์คํฌํ ์ ๋ฆฝ ์์คํ : ๋ฐฉ๋ฌธ ์ธ์ฆ์ ํตํ ์คํฌํ ์ ๋ฆฝ ๋ฐ ๋ณด์ ์์คํ
- ๐ค ์์๊ณต์ธ ์์: ์ง์ญ ์์๊ณต์ธ ์ ํด์ฒ ์ถ์ฒ์ ํตํ ์์ ์ํ๊ณ ๊ตฌ์ถ
- ๐ฑ ์ค์๊ฐ ์์น ์๋ฆผ: ์ ํด์ฒ ์ง์ ์ ์๋ ํ์ ์ ํตํ ์ด๋ฒคํธ ์๋ด
- ๐ณ ํตํฉ ๋ฉค๋ฒ์ญ ๊ด๋ฆฌ: ๋ฉค๋ฒ์ญ ๋ฐ์ฝ๋ ์ ์ถ ๋ฐ ๊ฒฐ์ ์ธ์ฆ์ ํตํ ๊ฐํธํ ํํ ์ด์ฉ
Unear๋ LG U+ ์ฐ๊ณ ํ์ ์คํ ์ด๋ฅผ ์ค์ฌ์ผ๋ก ํ ์ง์ญ ๊ธฐ๋ฐ ์ฐธ์ฌํ ํํ ํ๋ซํผ์ ๋๋ค. ์ฌ์ฉ์์ ์์น ์ ๋ณด๋ฅผ ํ์ฉํ์ฌ ์ฃผ๋ณ ์ ํด์ฒ์ ์ด๋ฒคํธ ์ ๋ณด๋ฅผ ์ ๊ณตํ๊ณ , ๋ฐฉ๋ฌธ ์ธ์ฆ์ ํตํ ์คํฌํ ์ ๋ฆฝ ์์คํ ์ผ๋ก ์ง์ญ ์๊ถ ํ์ฑํ๋ฅผ ๋๋ชจํฉ๋๋ค.
| ๊ธฐ๋ฅ | ์ค๋ช |
|---|---|
| ๐ช LG U+ ํ์ ์คํ ์ด ์ฐ๊ณ | LG U+ ํ์ ์คํ ์ด ์ค์ฌ์ ์ง์ญ ์ด๋ฒคํธ ์ฐธ์ฌ |
| ๐ ์์น ๊ธฐ๋ฐ ์๋ฆผ | ์ ํด์ฒ ์ง์ ์ ์๋ ํ์ ์ ํตํ ์ค์๊ฐ ์ด๋ฒคํธ ์๋ด |
| โญ ์คํฌํ ์ ๋ฆฝ ์์คํ | ๋ฐฉ๋ฌธ ์ธ์ฆ ๋ฐ ๊ฒฐ์ ์ธ์ฆ์ ํตํ ์คํฌํ ์ ๋ฆฝ ๋ฐ ๋ณด์ |
| ๐ฌ ์์๊ณต์ธ ์ ํด | ์ง์ญ ์์๊ณต์ธ ๋งค์ฅ ์ถ์ฒ ๋ฐ ์์ ํํ ์ ๊ณต |
| ๐ฑ ๋ฉค๋ฒ์ญ ๋ฐ์ฝ๋ ํตํฉ | ๊ฐํธํ ๋ฐ์ฝ๋ ์ ์ถ์ ํตํ ํํ ์ด์ฉ |
| ๐ ์์ ๋ก๊ทธ์ธ | Google, Kakao, Naver ๊ฐํธ ๋ก๊ทธ์ธ ์ง์ |
| ์๋น์ค | ๋งํฌ |
|---|---|
| ๐ฅ๏ธ Frontend | ํ๋ก ํธ์๋ ์ ์ฅ์ |
| ๐ง Backend | ๋ฐฑ์๋ ์ ์ฅ์ |
| ๐จ Design | Figma ๋์์ธ |
| ๐ท Video Link | ์์ฐ์์ ๋งํฌ |
๐ ํ๋ก์ ํธ ๊ตฌ์กฐ ๋ณด๊ธฐ
unear-frontend/
โโโ ๐ public/ # ์ ์ ํ์ผ
โ โโโ ๐ images/ # ์ด๋ฏธ์ง ํ์ผ
โ โโโ ๐ icons/ # ์์ด์ฝ ํ์ผ
โโโ ๐ src/
โ โโโ ๐ apis/ # API ํธ์ถ ๊ด๋ จ ํ์ผ
โ โ โโโ โ๏ธ axiosInstance.ts # Axios ์ธ์คํด์ค ์ค์
โ โ โโโ ๐ auth.ts # ์ธ์ฆ ๊ด๋ จ API
โ โ โโโ ๐ซ getUserCoupons.ts # ์ฟ ํฐ ๊ด๋ จ API
โ โ โโโ ๐ getPlaces.ts # ์ฅ์ ๊ด๋ จ API
โ โ โโโ ๐ ... # ๊ธฐํ API ํ์ผ๋ค
โ โโโ ๐ assets/ # ์ ์ ์์
โ โ โโโ ๐ common/ # ๊ณตํต ์์ด์ฝ/์ด๋ฏธ์ง
โ โ โโโ ๐ main/ # ๋ฉ์ธ ํ์ด์ง ์์
โ โ โโโ ๐ map/ # ์ง๋ ๊ด๋ จ ์์
โ โ โโโ ๐ story/ # ์คํ ๋ฆฌ ๊ด๋ จ ์์
โ โ โโโ ๐ my/ # ๋ง์ดํ์ด์ง ์์
โ โโโ ๐ components/ # ์ฌ์ฌ์ฉ ๊ฐ๋ฅํ ์ปดํฌ๋ํธ
โ โ โโโ ๐ common/ # ๊ณตํต ์ปดํฌ๋ํธ
โ โ โ โโโ ๐ ActionButton.tsx # ์ก์
๋ฒํผ
โ โ โ โโโ ๐ฑ BottomNavigator.tsx # ํ๋จ ๋ค๋น๊ฒ์ด์
โ โ โ โโโ ๐ซ CouponCard.tsx # ์ฟ ํฐ ์นด๋
โ โ โ โโโ ๐ Header.tsx # ํค๋
โ โ โ โโโ ๐ ... # ๊ธฐํ ๊ณตํต ์ปดํฌ๋ํธ๋ค
โ โ โโโ ๐ junior/ # ์ฃผ๋์ด ๊ธฐ๋ฅ ์ปดํฌ๋ํธ
โ โ โโโ ๐ map/ # ์ง๋ ๊ธฐ๋ฅ ์ปดํฌ๋ํธ
โ โ โโโ ๐ my/ # ๋ง์ดํ์ด์ง ์ปดํฌ๋ํธ
โ โ โโโ ๐ story/ # ์คํ ๋ฆฌ ์ปดํฌ๋ํธ
โ โโโ ๐ hooks/ # ์ปค์คํ
ํ
โ โ โโโ ๐ my/ # ๋ง์ดํ์ด์ง ๊ด๋ จ ํ
โ โ โโโ โฌ๏ธ useScrollToTop.ts # ์คํฌ๋กค ์ ์ด ํ
โ โโโ ๐ pages/ # ํ์ด์ง ์ปดํฌ๋ํธ
โ โ โโโ ๐ auth/ # ์ธ์ฆ ๊ด๋ จ ํ์ด์ง
โ โ โโโ ๐ MainPage.tsx # ๋ฉ์ธ ํ์ด์ง
โ โ โโโ ๐บ๏ธ MapPage.tsx # ์ง๋ ํ์ด์ง
โ โ โโโ ๐ StoryPage.tsx # ์คํ ๋ฆฌ ํ์ด์ง
โ โ โโโ ๐ฏ JuniorPage.tsx # ์ฃผ๋์ด ํ์ด์ง
โ โ โโโ ๐ค MyPage.tsx # ๋ง์ดํ์ด์ง
โ โโโ ๐ providers/ # Context Provider
โ โ โโโ ๐ AuthProvider.tsx # ์ธ์ฆ Provider
โ โโโ ๐ router/ # ๋ผ์ฐํ
์ค์
โ โ โโโ ๐ฃ๏ธ index.tsx # ๋ผ์ฐํฐ ์ค์
โ โโโ ๐ store/ # ์ํ ๊ด๋ฆฌ (Zustand)
โ โ โโโ ๐ auth.ts # ์ธ์ฆ ์ํ ๊ด๋ฆฌ
โ โโโ ๐ types/ # TypeScript ํ์
์ ์
โ โ โโโ ๐ซ coupon.ts # ์ฟ ํฐ ํ์
โ โ โโโ ๐บ๏ธ map.ts # ์ง๋ ํ์
โ โ โโโ ๐ช store.ts # ๋งค์ฅ ํ์
โ โ โโโ ๐ ... # ๊ธฐํ ํ์
๋ค
โ โโโ ๐ utils/ # ์ ํธ๋ฆฌํฐ ํจ์
โ โ โโโ ๐
formatDate.ts # ๋ ์ง ํฌ๋งทํ
โ โ โโโ ๐ toast.ts # ํ ์คํธ ์๋ฆผ
โ โ โโโ ๐ซ tokenUtils.ts # ํ ํฐ ๊ด๋ จ ์ ํธ
โ โโโ ๐จ index.css # ์ ์ญ ์คํ์ผ
โ โโโ ๐ main.tsx # ์ ํ๋ฆฌ์ผ์ด์
์ง์
์
โ โโโ ๐ฑ default.tsx # ๊ธฐ๋ณธ ๋ ์ด์์
โโโ ๐ง .env # ํ๊ฒฝ ๋ณ์
โโโ ๐ฆ package.json # ์์กด์ฑ ๊ด๋ฆฌ
โโโ ๐จ tailwind.config.js # Tailwind CSS ์ค์
โโโ โ๏ธ tsconfig.json # TypeScript ์ค์
โโโ โก vite.config.ts # Vite ๋น๋ ๋๊ตฌ ์ค์
โโโ ๐ README.md # ํ๋ก์ ํธ ๋ฌธ์
| ๋จ๊ณ | ๋ช ๋ น์ด / ํ์ผ | ์ค๋ช |
|---|---|---|
| 1๏ธโฃ Node.js ๋ฒ์ ํ์ธ | node --version |
Node.js 18.0.0 ์ด์ ํ์ |
| 2๏ธโฃ ์์กด์ฑ ์ค์น | npm install |
ํ๋ก์ ํธ ์์กด์ฑ ์ค์น |
| 3๏ธโฃ ํ๊ฒฝ ๋ณ์ ์ค์ | .env ํ์ผ ์์ฑ ํ ์๋ ๋ด์ฉ ์ถ๊ฐVITE_API_BASE_URL=๋ฐฑ์๋ ์๋ฒ URL VITE_KAKAO_MAP_API_KEY=์นด์นด์ค ์ง๋ API ํค VITE_GOOGLE_CLIENT_ID=๊ตฌ๊ธ ํด๋ผ์ด์ธํธ ID |
ํ๊ฒฝ ๋ณ์ ๋ฑ๋ก |
| 4๏ธโฃ ๊ฐ๋ฐ ์๋ฒ ์คํ | npm run dev |
๊ฐ๋ฐ ์๋ฒ ์คํ ๐ http://localhost:4000 |
| 5๏ธโฃ ํ๋ก๋์ ๋น๋ | npm run build |
ํ๋ก๋์ ๋น๋ ์์ฑ |
| 6๏ธโฃ ๋น๋ ๋ฏธ๋ฆฌ๋ณด๊ธฐ | npm run preview |
๋น๋ ๊ฒฐ๊ณผ๋ฌผ ๋ฏธ๋ฆฌ๋ณด๊ธฐ |
| 7๏ธโฃ ์ฝ๋ ํฌ๋งทํ | npm run format |
์ฝ๋ ํฌ๋งทํ |
| 8๏ธโฃ ์ฝ๋ ๊ฒ์ฌ | npm run lint |
์ฝ๋ ๋ฆฐํธ(๊ฒ์ฌ) |
| ๋ช ๋ น์ด | ์ค๋ช |
|---|---|
npm run build |
ํ๋ก๋์ ๋น๋ |
npm run preview |
๋น๋ ๊ฒฐ๊ณผ๋ฌผ ๋ฏธ๋ฆฌ๋ณด๊ธฐ |
npm run format |
์ฝ๋ ํฌ๋งทํ |
npm run lint |
์ฝ๋ ๊ฒ์ฌ |
๐ ์ฃผ์ ๊ธฐ๋ฅ: ๊ฐ์ธํ๋ ๋์๋ณด๋ ๋ฐ ์ถ์ฒ ํํ ํ์
๐ง ํต์ฌ ์ปดํฌ๋ํธ:
- ๐ฏ ๋ฉค๋ฒ์ญ ํํ ๋ฐฐ๋
- ๐ช ์ถ์ฒ ๋งค์ฅ ๋ฆฌ์คํธ
- ๐ ๊ฐ์ธ ํต๊ณ ์์ฝ
- ๐ ์คํ ๋ฆฌ ์ถ์ฒ ์น์
โจ ํน์ง: ๊ฐ์ธํ๋ ์ฝํ ์ธ , ๋ฐ์ํ ๋์์ธ, ์ค์๊ฐ ๋ฐ์ดํฐ ์ ๋ฐ์ดํธ
๐ ์ฃผ์ ๊ธฐ๋ฅ: ์์น ๊ธฐ๋ฐ ์ ํด์ฒ ๊ฒ์ ๋ฐ LG U+ ํ์ ์คํ ์ด ์ ๋ณด ํ์
๐ง ํต์ฌ ์ปดํฌ๋ํธ:
MapContainer.tsx: ์นด์นด์ค๋งต ํตํฉ ์ปดํฌ๋ํธBottomSheetLocationDetail.tsx: ์ ํด์ฒ ์์ธ ์ ๋ณด ๋ฐํ ์ํธMapActionButtons.tsx: ์ง๋ ์ก์ ๋ฒํผ๋คBottomSheetFilter.tsx: ํํฐ๋ง ๋ฐํ ์ํธ
โจ ํน์ง: ์ค์๊ฐ ์์น ์ถ์ , ์ ํด์ฒ ์ง์ ์ ์๋ ํ์ ์๋ฆผ, ์นดํ ๊ณ ๋ฆฌ๋ณ ํํฐ๋ง, ์ฆ๊ฒจ์ฐพ๊ธฐ ๊ธฐ๋ฅ
๐จ ์ฃผ์ ๊ธฐ๋ฅ: ๊ฐ์ธ ๋ง์ถคํ ํ ์ธ ํํ ์คํ ๋ฆฌ ์ ๊ณต
๐ง ํต์ฌ ์ปดํฌ๋ํธ:
StoryCard.tsx: ์คํ ๋ฆฌ ์นด๋ ์ปดํฌ๋ํธStoryLayout.tsx: ์คํ ๋ฆฌ ๋ ์ด์์StoryDetailLayout.tsx: ์คํ ๋ฆฌ ์์ธ ๋ ์ด์์
โจ ํน์ง: ์๋ณ ๊ฐ์ธํ ์คํ ๋ฆฌ, AI ๊ธฐ๋ฐ ์ถ์ฒ, ์ธํฐ๋ํฐ๋ธ ์นด๋, ์ง๋จ ์์คํ ์ฐ๊ณ
๐ฒ ์ฃผ์ ๊ธฐ๋ฅ: ๋ฐฉ๋ฌธ ์ธ์ฆ์ ํตํ ์คํฌํ ์ ๋ฆฝ ๋ฐ ๋ฃฐ๋ ์ด๋ฒคํธ ์์คํ
๐ง ํต์ฌ ์ปดํฌ๋ํธ:
Roulette.tsx: ๋ฃฐ๋ ๊ฒ์ ์ปดํฌ๋ํธProbabilityRoulette.tsx: ํ๋ฅ ๊ธฐ๋ฐ ๋ฃฐ๋ StampRouletteCard.tsx: ์คํฌํ ๋ฃฐ๋ ์นด๋TodayCouponSection.tsx: ์ค๋์ ์ฟ ํฐ ์น์
โจ ํน์ง: ๋ฐฉ๋ฌธ ์ธ์ฆ ์คํฌํ ์์คํ , ํ๋ฅ ๊ธฐ๋ฐ ๋ณด์, ์ผ์ผ ํ์ ์ด๋ฒคํธ, ์ ๋๋ฉ์ด์ ํจ๊ณผ
โ๏ธ ์ฃผ์ ๊ธฐ๋ฅ: ๊ฐ์ธ์ ๋ณด ๊ด๋ฆฌ, ์ฟ ํฐ/๋ถ๋งํฌ ๊ด๋ฆฌ, ํต๊ณ ํ์ธ
๐ง ํต์ฌ ์ปดํฌ๋ํธ:
UserProfileSection.tsx: ์ฌ์ฉ์ ํ๋กํ ์น์ StatisticsSection.tsx: ํต๊ณ ์์ฝ ์น์ MembershipBenefitSection.tsx: ๋ฉค๋ฒ์ญ ํํ ์น์ RecentUsageSection.tsx: ์ต๊ทผ ์ด์ฉ ๋ด์ญ ์น์
๐ ํ์ ํ์ด์ง:
- ๐ซ ์ฟ ํฐ ๊ด๋ฆฌ (
/my/coupons) - โญ ๋ถ๋งํฌ ๊ด๋ฆฌ (
/my/bookmarks) - ๐ ํต๊ณ ์์ธ (
/my/statistics) - ๐ ์ด์ฉ ๋ด์ญ (
/my/usage-history)
โจ ํน์ง: ์ค์๊ฐ ํต๊ณ ์ฐจํธ, ์ฟ ํฐ ์ํ ๊ด๋ฆฌ, ์ฆ๊ฒจ์ฐพ๊ธฐ ๋งค์ฅ ๊ด๋ฆฌ
๐ช ์ฃผ์ ๊ธฐ๋ฅ: ๋ธ๋๋๋ณ ๋ฉค๋ฒ์ญ ํํ ์กฐํ ๋ฐ ๊ด๋ฆฌ
โจ ํน์ง: ๋ธ๋๋๋ณ ํ ์ธ์จ ์ ๋ณด, ์นดํ ๊ณ ๋ฆฌ ํํฐ๋ง, ํํ ์์ธ ์ ๋ณด
๐ ์ฃผ์ ๊ธฐ๋ฅ: ์์ ๋ก๊ทธ์ธ ๋ฐ ํ์ ๊ด๋ฆฌ, ๋ฐฉ๋ฌธ/๊ฒฐ์ ์ธ์ฆ ์์คํ
๐ ์ง์ ํ๋ซํผ: Kakao, Google, Naver
โจ ํน์ง: JWT ๊ธฐ๋ฐ ์ธ์ฆ, ๋ณดํธ๋ ๋ผ์ฐํธ ๊ด๋ฆฌ, ๋ฉค๋ฒ์ญ ๋ฐ์ฝ๋ ํตํฉ ๊ด๋ฆฌ
| ์ปดํฌ๋ํธ | ์ค๋ช |
|---|---|
BottomNavigator.tsx |
ํ๋จ ํญ ๋ค๋น๊ฒ์ด์ |
Header.tsx |
ํ์ด์ง๋ณ ํค๋ |
CouponCard.tsx |
์ฟ ํฐ ์นด๋ ์ปดํฌ๋ํธ |
LoadingSpinner.tsx |
๋ก๋ฉ ํ์ |
โจ ํน์ง: ์ผ๊ด๋ ๋์์ธ ์์คํ , ์ ๊ทผ์ฑ ๋ฐ ๋ฐ์ํ ์ง์
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
|---|---|---|---|---|---|---|
| ํ์ธ์ | ์ด๋ณธ๊ท | ์ ์ฑ๋น | ๊นํ์ฐ | ๊น์ค์ | ์์ฌ์ฐฌ | ํ์์ค |
| @1seyoung | @lbk00 | @tjdqls3607 | @khwww | @KimJunSeo289 | @alex8396 | @Hongjunior |
| ํ | ์ด๋ฆ | ์ญํ | ๋ด๋น ์ ๋ฌด |
|---|---|---|---|
| ๐ง Backend | ํ์ธ์ (BE ํ์ฅ) | DevOps & Backend Lead | โข DevOps, ํฌ์ค๊ธฐ ๊ธฐ๋ฅ ๊ฐ๋ฐ โข ์๋ฆผ ์์คํ ๊ตฌ์ถ, Airflow โข ํฌ์ค๊ธฐ ํ๋ก ํธ ๊ฐ๋ฐ, ๋ฐ์ดํฐ ์ํ๋ง โข RAG ์ถ์ฒ |
| ๐ง Backend | ์ด๋ณธ๊ท (ํ ํฌ๋ฆฌ๋) | Tech Lead & Database | โข ERD ์ค๊ณ, DB ๊ด๋ฆฌ โข OAuth ์ฐ๋, ์ ์ ์๋ฒ ๊ฐ๋ฐ โข Log-consumer ๊ตฌ์ถ, Airflow ์ค๊ณ โข ๊ด๋ฆฌ์ ๋์๋ณด๋ ์๊ฐํ |
| ๐ง Backend | ์ ์ฑ๋น | QA & API Development | โข QA ๋ด๋น, ์ด๋๋ฏผ ์๋ฒ ๊ฐ๋ฐ โข ์ด๋ฒ์ฃผ๋์ด API ๊ฐ๋ฐ โข ๋์๋ณด๋ ํ๋ก ํธ ๊ฐ๋ฐ, ์ปค๋ฎค๋์ผ์ด์ โข ์๋น์คํ ๋ฆฌ ๋ฐ ์ ํด์ฒ ์ถ์ฒ API ๊ฐ๋ฐ |
| ๐ป Frontend | ๊นํ์ฐ (FE ํ์ฅ) | Frontend Lead & Architecture | โข ๊ณตํต ์ปดํฌ๋ํธ ๊ฐ๋ฐ โข ์ง๋ ํ์ด์ง ๊ฐ๋ฐ โข PWA ๊ตฌ์ถ, ๊ฒ์ ์์ง ์ต์ ํ |
| ๐ป Frontend | ๊น์ค์ | Frontend Developer | โข ๊ณตํต ์ปดํฌ๋ํธ ๊ฐ๋ฐ โข ๋ฉ์ธ ํ์ด์ง ๊ฐ๋ฐ, ๋ง์ด ํ์ด์ง ๊ฐ๋ฐ โข ์๋ฆผ ์์คํ ์ฐ๋ |
| ๐ป Frontend | ์์ฌ์ฐฌ | Frontend Developer | โข ๊ณตํต ์ปดํฌ๋ํธ ๊ฐ๋ฐ โข ๋ก๊ทธ์ธ/ํ์๊ฐ์ ํ์ด์ง ๊ฐ๋ฐ โข ์ด๋ฒ์ฃผ๋์ด ํ์ด์ง ๊ฐ๋ฐ |
| ๐ป Frontend | ํ์์ค | Frontend Developer | โข ๊ณตํต ์ปดํฌ๋ํธ ๊ฐ๋ฐ โข ์คํ ๋ฆฌ ํ์ด์ง ๊ฐ๋ฐ โข ์จ๋ณด๋ฉ/ํํ ์๋ด ํ์ด์ง ๊ฐ๋ฐ |
| ํน์ง | ์ค๋ช |
|---|---|
| ๐ฑ ๋ฐ์ํ ๋์์ธ | ๋ชจ๋ฐ์ผ ํผ์คํธ ์ ๊ทผ ๋ฐฉ์ (์ต๋ ๋๋น 600px), ์ฌ์ฉ์ ์นํ์ UI/UX ์ค๊ณ |
| ๐ฏ ์ฌ์ฉ์ ๊ฒฝํ | ์ง๊ด์ ์ธ ์ธํฐํ์ด์ค, ํฐ ๋ฒํผ๊ณผ ๋ช ํํ ํ ์คํธ๋ก ์ ๊ทผ์ฑ ํฅ์ |
| โก ์ฑ๋ฅ ์ต์ ํ | Vite ๊ธฐ๋ฐ ๋น ๋ฅธ ๊ฐ๋ฐ ํ๊ฒฝ |
| ๐ง ๊ฐ๋ฐ ํ๊ฒฝ | TypeScript๋ก ํ์ ์์ ์ฑ ํ๋ณด, ESLint + Prettier ์ฝ๋ ํ์ง ๊ด๋ฆฌ |
| ๐ ๋ณด์ & ์ธ์ฆ | JWT ๊ธฐ๋ฐ ํ ํฐ ์ธ์ฆ, ์์ ๋ก๊ทธ์ธ ์ง์, ๋ณดํธ๋ ๋ผ์ฐํธ ๊ด๋ฆฌ |












