μ μ 쑰건
μ€μΉνκΈ° κ°μ΄λλ₯Ό μλ£νκ³ νλ‘μ νΈκ° μμ±λμ΄ μμ΄μΌ ν©λλ€.κ°λ° νκ²½ μ€ν
Sonamu κ°λ° νκ²½μ λ€μ μΈ κ°μ§ μλ²λ‘ ꡬμ±λ©λλ€:- PostgreSQL - λ°μ΄ν°λ² μ΄μ€
- API μλ² - λ°±μλ REST API (Sonamu UI ν¬ν¨)
- Web μλ² - νλ‘ νΈμλ μ ν리μΌμ΄μ
1
λ°μ΄ν°λ² μ΄μ€ μμ
νλ‘μ νΈμ μ΄ λͺ
λ Ήμ΄λ Docker Composeλ₯Ό μ¬μ©νμ¬ PostgreSQL λ°μ΄ν°λ² μ΄μ€λ₯Ό λ°±κ·ΈλΌμ΄λμμ μ€νν©λλ€.
api λλ ν λ¦¬λ‘ μ΄λνμ¬ PostgreSQL 컨ν
μ΄λλ₯Ό μμν©λλ€:docker:up μ€ν ν μ±κ³΅ λ©μμ§ λ° μ»¨ν μ΄λ μμ λ‘κ·Έ

docker ps μ€ν κ²°κ³Ό (PostgreSQL 컨ν μ΄λκ° Up μν)
2
API μλ² μ€ν
κ°μ μλ²κ° μ±κ³΅μ μΌλ‘ μμλλ©΄ λ€μκ³Ό κ°μ λ©μμ§κ° νμλ©λλ€:μ΄ λͺ
λ Ήμ΄ νλλ‘ λ€μμ΄ λͺ¨λ μ€νλ©λλ€:
api λλ ν 리μμ κ°λ° μλ²λ₯Ό μμν©λλ€:pnpm dev μ€ν ν μλ² μμ λ‘κ·Έ
- Web μ±: http://localhost:1028
- API μλν¬μΈνΈ: http://localhost:1028/api
- Sonamu UI: http://localhost:1028/sonamu-ui
λ‘컬 κ°λ° νκ²½μμλ API μλ²κ° Web μ±κΉμ§ ν΅ν©νμ¬ μ 곡ν©λλ€. Web λλ ν 리μ Vite Dev Serverλ₯Ό API μλ²μ middlewareλ‘ μ°κ²°νμ¬ νλμ ν¬νΈλ‘ λͺ¨λ κ²μ μ€νν μ μμ΅λλ€.
3
Web μλ² μ€ν (μ νμ¬ν)
Web κ°λ°μ μ§μ€νκ±°λ Viteμ μ 체 κΈ°λ₯μ νμ©νκ³ μΆλ€λ©΄, μ ν°λ―Έλ μ°½μ μ΄κ³ Vite κ°λ° μλ²κ° μμλλ©΄ λ€μκ³Ό κ°μ λ©μμ§κ° νμλ©λλ€:Web μλ²λ₯Ό λ³λλ‘ μ€ννλ©΄ http://localhost:3028 λ‘ μ μνμ¬ νλ‘ νΈμλλ₯Ό νμΈν μ μμ΅λλ€. Web μλ²λ
web λλ ν 리μμ λ³λλ‘ κ°λ° μλ²λ₯Ό μμν μ μμ΅λλ€:web λλ ν 리μμ pnpm dev μ€ν ν Vite μμ λ‘κ·Έ
/api/* κ²½λ‘ μμ²μ μλμΌλ‘ API μλ²(localhost:1028)λ‘ νλ‘μν©λλ€.λ κ°μ§ κ°λ° λ°©μ
- ν΅ν© λͺ¨λ (κΆμ₯): API μλ²λ§ μ€ν β
localhost:1028λ‘ λͺ¨λ κ²μ μ κ·Ό - λΆλ¦¬ λͺ¨λ: API + Web λ³λ μ€ν β APIλ
localhost:1028, Webμlocalhost:3028
μ μ νμΈ
ν΅ν© λͺ¨λ (API μλ²λ§ μ€νν κ²½μ°)
λΈλΌμ°μ μμ λ€μ URLλ‘ μ μν μ μμ΅λλ€:| μλΉμ€ | URL | μ€λͺ |
|---|---|---|
| Web μ± | http://localhost:1028 | νλ‘ νΈμλ μ ν리μΌμ΄μ |
| API μλ² | http://localhost:1028/api | REST API μλν¬μΈνΈ |
| Sonamu UI | http://localhost:1028/sonamu-ui | μν°ν° κ΄λ¦¬ μΈν°νμ΄μ€ |
πΈ νμ: λΈλΌμ°μ μμ localhost:1028 μ μν νλ©΄ (κΈ°λ³Έ Web μ± ννμ΄μ§)
πΈ νμ: λΈλΌμ°μ μμ localhost:1028/api μ μν νλ©΄ (404 λλ API μλ΅)
πΈ νμ: λΈλΌμ°μ μμ localhost:1028/sonamu-ui μ μν νλ©΄ (Sonamu UI λμ보λ)
λΆλ¦¬ λͺ¨λ (API + Web μλ² λͺ¨λ μ€νν κ²½μ°)
| μλΉμ€ | URL | μ€λͺ |
|---|---|---|
| Web μ± | http://localhost:3028 | νλ‘ νΈμλ μ ν리μΌμ΄μ |
| API μλ² | http://localhost:1028/api | REST API μλν¬μΈνΈ |
| Sonamu UI | http://localhost:1028/sonamu-ui | μν°ν° κ΄λ¦¬ μΈν°νμ΄μ€ |
Web μ±μ μ μνμ¬ Sonamu μ ν리μΌμ΄μ
μ΄ μ μμ μΌλ‘ μ€νλλμ§ νμΈνμΈμ.
Sonamu UI κΈ°λ₯
λΈλΌμ°μ μμ http://localhost:1028/sonamu-ui λ‘ μ μνλ©΄ λ€μ μμ μ μνν μ μμ΅λλ€:- μν°ν° μμ± λ° νΈμ§
- λ°μ΄ν°λ² μ΄μ€ λ§μ΄κ·Έλ μ΄μ κ΄λ¦¬
- API μλν¬μΈνΈ νμΈ
- λ°μ΄ν°λ² μ΄μ€ μ€ν€λ§ μκ°ν
πΈ νμ: Sonamu UI λ©μΈ νλ©΄ (Entity ν, Migration ν λ±μ΄ 보μ΄λ μ 체 UI)
μλ² μ€μ§
κ°λ°μ λ§μΉκ³ μλ²λ₯Ό μ€μ§νλ €λ©΄:-
API μλ² (κ·Έλ¦¬κ³ Web μλ²κ° μ€ν μ€μ΄λΌλ©΄): κ° ν°λ―Έλμμ
Ctrl + Cν€λ₯Ό λλ¬ μ€μ§ν©λλ€. -
λ°μ΄ν°λ² μ΄μ€:
apiλλ ν 리μμ λ€μ λͺ λ Ήμ΄λ₯Ό μ€νν©λλ€:
λ€μ λ¨κ³
κ°λ° νκ²½μ΄ μ€λΉλμμ΅λλ€! μ΄μ λ€μ κ°μ΄λλ₯Ό ν΅ν΄ Sonamuμ ν΅μ¬ κΈ°λ₯μ λ°°μ보μΈμ:첫 μν°ν° λ§λ€κΈ°
Sonamu UIλ₯Ό μ¬μ©νμ¬ μ²« λ²μ§Έ μν°ν°λ₯Ό μμ±νκ³ λ°μ΄ν°λ² μ΄μ€ μ€ν€λ§λ₯Ό
μ μνμΈμ.
API κ°λ°νκΈ°
μν°ν° κΈ°λ°μΌλ‘ REST APIλ₯Ό μμ±νκ³ λΉμ¦λμ€ λ‘μ§μ ꡬννμΈμ.
νλ‘ νΈμλ ν΅ν©
μλ μμ±λ μλΉμ€ λ μ΄μ΄λ₯Ό μ¬μ©νμ¬ νλ‘ νΈμλμμ APIλ₯Ό νΈμΆνμΈμ.
νλ‘μ νΈ κ΅¬μ‘°
Sonamu νλ‘μ νΈμ λλ ν 리 ꡬ쑰μ μ£Όμ νμΌλ€μ μ΄ν΄νμΈμ.