์ด ํ๋ก์ ํธ๋ Astro ๊ธฐ๋ฐ์ ๊ฐ์ธ ์ด๋ ฅ์ ๋ฐ ํฌํธํด๋ฆฌ์ค ์น์ฌ์ดํธ์ ๋๋ค. ๋ชจ๋ํ ์น ๊ธฐ์ ์คํ์ ํ์ฉํ์ฌ ๋น ๋ฅด๊ณ ํจ์จ์ ์ธ ์ ์ ์ฌ์ดํธ๋ฅผ ๊ตฌ์ถํ๋ฉฐ, Cloudflare Pages๋ฅผ ํตํด ๋ฐฐํฌ๋ฉ๋๋ค.
๐ ๋ฐฐํฌ๋ ์ฌ์ดํธ: https://hmart.app
- ํ๋ ์์ํฌ: Astro 5.x
- UI ๋ผ์ด๋ธ๋ฌ๋ฆฌ: Preact (React ํธํ)
- ์คํ์ผ๋ง: Tailwind CSS
- ์ ๋๋ฉ์ด์ : Framer Motion
- ์์ด์ฝ: Lucide Preact
- ๋ฐฐํฌ: Cloudflare Pages
- ๋น๋ ๋๊ตฌ: Turborepo (๋ชจ๋ ธ๋ ํฌ ๊ด๋ฆฌ), pnpm
- ์ธ์ด: TypeScript
์ด ํ๋ก์ ํธ๋ Turborepo๋ฅผ ์ฌ์ฉํ ๋ชจ๋ ธ๋ ํฌ ๊ตฌ์กฐ๋ก ๊ตฌ์ฑ๋์ด ์์ต๋๋ค:
apps/resume: ๋ฉ์ธ ์ด๋ ฅ์ ์ ํ๋ฆฌ์ผ์ด์ packages/: ๊ณต์ ํจํค์ง๋คastro-i18n: ๋ค๊ตญ์ด ์ง์astro-icon: ์์ด์ฝ ํตํฉastro-lint: ๋ฆฐํ ์ค์ astro-preact: Preact ํตํฉastro-pwa: PWA ๊ธฐ๋ฅastro-tailwind: Tailwind CSS ํตํฉsitemap-generator: ์ฌ์ดํธ๋งต ์์ฑ
- Node.js >= 18
- pnpm 9.0.0
pnpm installpnpm dev๊ฐ๋ฐ ์๋ฒ๊ฐ ์คํ๋๋ฉด ๋ธ๋ผ์ฐ์ ์์ ํ์ธํ ์ ์์ต๋๋ค.
pnpm buildcd apps/resume
pnpm deploy- ๋ฐ์ํ ๋์์ธ: ๋ชจ๋ฐ์ผ, ํ๋ธ๋ฆฟ, ๋ฐ์คํฌํฑ ๋ชจ๋ ๊ธฐ๊ธฐ์์ ์ต์ ํ๋ ๊ฒฝํ
- ๋น ๋ฅธ ์ฑ๋ฅ: Astro์ ์ ์ ์ฌ์ดํธ ์์ฑ์ผ๋ก ์ด๊ณ ์ ๋ก๋ฉ
- ๋ชจ๋ํ UI: Tailwind CSS์ Framer Motion์ ํ์ฉํ ์ธ๋ จ๋ ๋์์ธ
- PWA ์ง์: ์คํ๋ผ์ธ ์ ๊ทผ ๋ฐ ์ฑ๊ณผ ๊ฐ์ ๊ฒฝํ ์ ๊ณต
- ๋ค๊ตญ์ด ์ง์: i18n ํตํฉ (ํ์ฌ ํ๊ตญ์ด ์ง์)
- ์ฃ์ง ๋ฐฐํฌ: Cloudflare Pages๋ฅผ ํตํ ๊ธ๋ก๋ฒ CDN ๋ฐฐํฌ
pnpm dev: ๊ฐ๋ฐ ์๋ฒ ์คํpnpm build: ํ๋ก๋์ ๋น๋pnpm lint: ์ฝ๋ ๋ฆฐํ ๋ฐ ํฌ๋งทํpnpm format: Prettier๋ฅผ ์ฌ์ฉํ ์ฝ๋ ํฌ๋งทํpnpm check-types: TypeScript ํ์ ์ฒดํฌ
MIT License - ์์ธํ ๋ด์ฉ์ LICENSE ํ์ผ์ ์ฐธ์กฐํ์ธ์.