create-sonamu ํจํค์ง๋ก ์ Sonamu ํ๋ก์ ํธ๋ฅผ ์์ฑํ ์ ์์ต๋๋ค.
์์คํ ์๊ตฌ์ฌํญ
Sonamu๋ฅผ ์ฌ์ฉํ๊ธฐ ์ํด์๋ ๋ค์ ํ๊ฒฝ์ด ํ์ํฉ๋๋ค:- Node.js v22 ์ด์
- pnpm v10.23 ์ด์
- Docker (๋ฐ์ดํฐ๋ฒ ์ด์ค ์คํ์ฉ)

ํฐ๋ฏธ๋์์ node --version, pnpm --version, docker --version ์คํ ๊ฒฐ๊ณผ
ํ๋ก์ ํธ ์์ฑ
ํฐ๋ฏธ๋์์ ๋ค์ ๋ช ๋ น์ด๋ฅผ ์คํํ์ฌ ์ Sonamu ํ๋ก์ ํธ๋ฅผ ์์ฑํฉ๋๋ค:์ธ๋ผ์ธ ์ต์
ํ๋ก์ ํธ๋ช ์ ์ธ์๋ก ์ ๋ฌํ๊ฑฐ๋, ์ต์ ์ ํตํด ๋ํํ ํ๋กฌํํธ๋ฅผ ๊ฑด๋๋ธ ์ ์์ต๋๋ค:--pnpm y, --docker y์์ y๋ yes, true, 1๋ก๋ ์ง์ ํ ์ ์์ต๋๋ค. ๋ง์ฐฌ๊ฐ์ง๋ก n์
no, false, 0์ผ๋ก๋ ์ง์ ํ ์ ์์ต๋๋ค.์ธ๋ผ์ธ ์ต์ ๊ธฐ๋ณธ๊ฐ์ผ๋ก pnpm create sonamu ์คํ
1
ํ๋ก์ ํธ๋ช ์ ๋ ฅ
์์ฑํ ํ๋ก์ ํธ์ ์ด๋ฆ์ ์
๋ ฅํฉ๋๋ค. ์ด ์ด๋ฆ์ผ๋ก ๋๋ ํ ๋ฆฌ๊ฐ ์์ฑ๋ฉ๋๋ค.
2
pnpm ์ค์
pnpm์ ์๋์ผ๋ก ์ค์ ํ ์ง ์ ํํฉ๋๋ค. ๊ถ์ฅ ์ต์
์
๋๋ค.
3
๋ฐ์ดํฐ๋ฒ ์ด์ค ์ค์
Docker๋ฅผ ์ฌ์ฉํ PostgreSQL ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์ค์ ํ ์ง ์ ํํฉ๋๋ค. Yes๋ฅผ ์ ํํ๋ฉด:
- Docker Compose ํ๋ก์ ํธ๋ช
- ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ฌ์ฉ์๋ช
- ์ปจํ ์ด๋ ์ด๋ฆ
- ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ด๋ฆ
- ๋ฐ์ดํฐ๋ฒ ์ด์ค ๋น๋ฐ๋ฒํธ
packages/api/.env ํ์ผ์ด ์๋ ์์ฑ๋ฉ๋๋ค.
ํ๋ก์ ํธ ์์ฑ ์๋ฃ ๋ฉ์์ง ๋ฐ ์์ฑ๋ ๋๋ ํ ๋ฆฌ ๊ตฌ์กฐ
์์ฑ๋ ํ๋ก์ ํธ ๊ตฌ์กฐ
create-sonamu๋ ๋ค์๊ณผ ๊ฐ์ ๋ชจ๋
ธ๋ ํฌ ๊ตฌ์กฐ๋ฅผ ์์ฑํฉ๋๋ค:

VS Code์์ ์ด๋ฆฐ ํ๋ก์ ํธ์ ๋๋ ํ ๋ฆฌ ํธ๋ฆฌ ๊ตฌ์กฐ
myapp
packages
api (๋ฐฑ์๋ API ์๋ฒ)
web (ํ๋ก ํธ์๋ ์น ์ฑ)
pnpm-workspace.yaml (์ํฌ์คํ์ด์ค ์ค์ )
README.md
์ฃผ์ ์ค์ ํ์ผ
pnpm ์ํฌ์คํ์ด์ค
๋ฃจํธ์pnpm-workspace.yaml์์ ๋ชจ๋
ธ๋ ํฌ ํจํค์ง์ ๊ณตํต ์์กด์ฑ ๋ฒ์ ์ ๊ด๋ฆฌํฉ๋๋ค:
pnpm-workspace.yaml
API ์๋ฒ ์ํธ๋ฆฌํฌ์ธํธ
์์ฑ๋ API ์๋ฒ์ ์ง์ ์ ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค:
VS Code์์ ์ด๋ฆฐ packages/api/src/index.ts ํ์ผ
Sonamu ์ค์
sonamu.config.ts์์ ํ๋ก์ ํธ์ ์ฃผ์ ์ค์ ์ ๊ด๋ฆฌํฉ๋๋ค:
packages/api/src/sonamu.config.ts
Docker Compose ์ค์
PostgreSQL ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ Docker๋ก ๊ด๋ฆฌ๋ฉ๋๋ค:packages/api/database/docker-compose.yml
ํ๋ก ํธ์๋ ์ค์
Vite + React + TanStack Router + SSR ๊ธฐ๋ฐ ์ ํ๋ฆฌ์ผ์ด์ ์ด ์์ฑ๋ฉ๋๋ค:packages/web/vite.config.ts
ํฌํธ ๊ตฌ์ฑ
๊ธฐ๋ณธ ํฌํธ๋ ๋ค์๊ณผ ๊ฐ์ด ์ค์ ๋ฉ๋๋ค:- Sonamu UI: ๋ณ๋ ํฌํธ๊ฐ ์๋ API ์๋ฒ์
/sonamu-ui๊ฒฝ๋ก๋ก ์ ๊ทผํฉ๋๋ค. - API ์๋ฒ ํฌํธ:packages/api/src/sonamu.config.ts์์port์์ ์์ (์ด ๊ฒฝ์ฐpackages/web/.sonamu.env์API_PORT๋ ํจ๊ป ์์ ํ์) - Web ์ฑ ํฌํธ:packages/web/vite.config.ts์์server.port์์