์ ์ ์กฐ๊ฑด
์ค์นํ๊ธฐ ๊ฐ์ด๋๋ฅผ ์๋ฃํ๊ณ ํ๋ก์ ํธ๊ฐ ์์ฑ๋์ด ์์ด์ผ ํฉ๋๋ค.๊ฐ๋ฐ ํ๊ฒฝ ์คํ
Sonamu ๊ฐ๋ฐ ํ๊ฒฝ์ ๋ค์ ์ธ ๊ฐ์ง ์๋ฒ๋ก ๊ตฌ์ฑ๋ฉ๋๋ค:- PostgreSQL - ๋ฐ์ดํฐ๋ฒ ์ด์ค
- API ์๋ฒ - ๋ฐฑ์๋ REST API (Sonamu UI ํฌํจ)
- Web ์๋ฒ - ํ๋ก ํธ์๋ ์ ํ๋ฆฌ์ผ์ด์
๋ฐ์ดํฐ๋ฒ ์ด์ค ์์
ํ๋ก์ ํธ์ ์ด ๋ช
๋ น์ด๋ Docker Compose๋ฅผ ์ฌ์ฉํ์ฌ PostgreSQL ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ๋ฐฑ๊ทธ๋ผ์ด๋์์ ์คํํฉ๋๋ค.
api ๋๋ ํ ๋ฆฌ๋ก ์ด๋ํ์ฌ PostgreSQL ์ปจํ
์ด๋๋ฅผ ์์ํฉ๋๋ค:
API ์๋ฒ ์คํ
๊ฐ์ ์๋ฒ๊ฐ ์ฑ๊ณต์ ์ผ๋ก ์์๋๋ฉด ๋ค์๊ณผ ๊ฐ์ ๋ฉ์์ง๊ฐ ํ์๋ฉ๋๋ค:์ด ๋ช
๋ น์ด ํ๋๋ก ๋ค์์ด ๋ชจ๋ ์คํ๋ฉ๋๋ค:
api ๋๋ ํ ๋ฆฌ์์ ๊ฐ๋ฐ ์๋ฒ๋ฅผ ์์ํฉ๋๋ค:- Web ์ฑ: http://localhost:1028
- API ์๋ํฌ์ธํธ: http://localhost:1028/api
- Sonamu UI: http://localhost:1028/sonamu-ui
๋ก์ปฌ ๊ฐ๋ฐ ํ๊ฒฝ์์๋ API ์๋ฒ๊ฐ Web ์ฑ๊น์ง ํตํฉํ์ฌ ์ ๊ณตํฉ๋๋ค. Web ๋๋ ํ ๋ฆฌ์ Vite Dev Server๋ฅผ API ์๋ฒ์ middleware๋ก ์ฐ๊ฒฐํ์ฌ ํ๋์ ํฌํธ๋ก ๋ชจ๋ ๊ฒ์ ์คํํ ์ ์์ต๋๋ค.
Web ์๋ฒ ์คํ (์ ํ์ฌํญ)
Web ๊ฐ๋ฐ์ ์ง์คํ๊ฑฐ๋ Vite์ ์ ์ฒด ๊ธฐ๋ฅ์ ํ์ฉํ๊ณ ์ถ๋ค๋ฉด, ์ ํฐ๋ฏธ๋ ์ฐฝ์ ์ด๊ณ Vite ๊ฐ๋ฐ ์๋ฒ๊ฐ ์์๋๋ฉด ๋ค์๊ณผ ๊ฐ์ ๋ฉ์์ง๊ฐ ํ์๋ฉ๋๋ค:Web ์๋ฒ๋ฅผ ๋ณ๋๋ก ์คํํ๋ฉด http://localhost:3028 ๋ก ์ ์ํ์ฌ ํ๋ก ํธ์๋๋ฅผ ํ์ธํ ์ ์์ต๋๋ค. Web ์๋ฒ๋
web ๋๋ ํ ๋ฆฌ์์ ๋ณ๋๋ก ๊ฐ๋ฐ ์๋ฒ๋ฅผ ์์ํ ์ ์์ต๋๋ค:/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 | ์ํฐํฐ ๊ด๋ฆฌ ์ธํฐํ์ด์ค |
๋ถ๋ฆฌ ๋ชจ๋ (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 ์๋ํฌ์ธํธ ํ์ธ
- ๋ฐ์ดํฐ๋ฒ ์ด์ค ์คํค๋ง ์๊ฐํ

์๋ฒ ์ค์ง
๊ฐ๋ฐ์ ๋ง์น๊ณ ์๋ฒ๋ฅผ ์ค์งํ๋ ค๋ฉด:-
API ์๋ฒ (๊ทธ๋ฆฌ๊ณ Web ์๋ฒ๊ฐ ์คํ ์ค์ด๋ผ๋ฉด): ๊ฐ ํฐ๋ฏธ๋์์
Ctrl + Cํค๋ฅผ ๋๋ฌ ์ค์งํฉ๋๋ค. -
๋ฐ์ดํฐ๋ฒ ์ด์ค:
api๋๋ ํ ๋ฆฌ์์ ๋ค์ ๋ช ๋ น์ด๋ฅผ ์คํํฉ๋๋ค:
๋ค์ ๋จ๊ณ
๊ฐ๋ฐ ํ๊ฒฝ์ด ์ค๋น๋์์ต๋๋ค! ์ด์ ๋ค์ ๊ฐ์ด๋๋ฅผ ํตํด Sonamu์ ํต์ฌ ๊ธฐ๋ฅ์ ๋ฐฐ์๋ณด์ธ์:์ฒซ ์ํฐํฐ ๋ง๋ค๊ธฐ
Sonamu UI๋ฅผ ์ฌ์ฉํ์ฌ ์ฒซ ๋ฒ์งธ ์ํฐํฐ๋ฅผ ์์ฑํ๊ณ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์คํค๋ง๋ฅผ
์ ์ํ์ธ์.
API ๊ฐ๋ฐํ๊ธฐ
์ํฐํฐ ๊ธฐ๋ฐ์ผ๋ก REST API๋ฅผ ์์ฑํ๊ณ ๋น์ฆ๋์ค ๋ก์ง์ ๊ตฌํํ์ธ์.
ํ๋ก ํธ์๋ ํตํฉ
์๋ ์์ฑ๋ ์๋น์ค ๋ ์ด์ด๋ฅผ ์ฌ์ฉํ์ฌ ํ๋ก ํธ์๋์์ API๋ฅผ ํธ์ถํ์ธ์.
ํ๋ก์ ํธ ๊ตฌ์กฐ
Sonamu ํ๋ก์ ํธ์ ๋๋ ํ ๋ฆฌ ๊ตฌ์กฐ์ ์ฃผ์ ํ์ผ๋ค์ ์ดํดํ์ธ์.