GOAPI๋ NUBO์ ๊ณ ์ฑ๋ฅ ๋ฐฑ์๋ ๊ตฌํ์ฒด์
๋๋ค. GoFiber v3 ๊ธฐ๋ฐ์ผ๋ก ๊ฐ๋ฐํ์์ต๋๋ค.
| Category | Tools |
|---|---|
| Frontend | |
| Backend | |
| Database |
- ๋ณธ๋
TSBOARDํ๋ก์ ํธ์์Bun๋ฐํ์ ๊ธฐ๋ฐ ์นํ๋ ์์ํฌ์ธElysiaJS๋ฅผ ๋์ฒดํ๊ธฐ ์ํดGo์ธ์ด๋ก ๊ฐ๋ฐํ ๋ฐฑ์๋์ ๋๋ค. JS/TS ๋ฐํ์ ๊ธฐ๋ฐ์ผ๋ก ๊ตฌํํ ๋ฐฑ์๋ ๋๋นํ์ฌ ๋์์ฑ ๊ธฐ๋ฐ์ ๋ณด๋ค ๋น ๋ฅด๊ณ ํจ์จ์ ์ธ ์ฐ์ฐ์ ์ ๊ณตํ๋ฉด์๋ ๋ ์ ์ ๋ฉ๋ชจ๋ฆฌ๋ง ์ฌ์ฉํฉ๋๋ค. - 26๋
๋ถํฐ๋
NUBOํ๋ก์ ํธ์์ ์ฌ์ฉํ๋ ๋ฐฑ์๋ ํ๋ก์ ํธ๊ฐ ๋์์ต๋๋ค.TSBOARD์ ๋ฐฑ์๋์์ ํ์ธต ๋ ๊ฐ์ ๋์๊ณ ,NUBO์์ ์ ๊ณตํ๋ ์ถ๊ฐ ๊ธฐ๋ฅ๋ค์ ๋ชจ๋ ์ง์ํ๋๋ก ๊ฐ์ด ์ ๋ฐ์ดํธ ๋ฉ๋๋ค. GoFiber v3๊ธฐ๋ฐ์ผ๋ก ์ค๊ณ๋์ด ์์ต๋๋ค. ์ต์NUBOํ๋ก์ ํธ์์๋ 64bit Linux์ฉ ๋ฐ์ด๋๋ฆฌ๊ฐ ํฌํจ๋ฉ๋๋ค.
- ๊ธฐ๋ณธ์ผ๋ก ์ ๊ณตํ๋
./goapi-linux๋ฐ์ด๋๋ฆฌ๋ 64bit Linux OS์์,libvips-dev๋ผ์ด๋ธ๋ฌ๋ฆฌ๊ฐ ์ค์น๋ ํ๊ฒฝ์ ๊ฐ์ ํ๊ณ ์ปดํ์ผ ๋์์ต๋๋ค. - ๋ง์ฝ ์ฌ์ฉํ์๋ ์๋ฒ์ CPU๊ฐ Intel/AMD๊ฐ ์๋ Arm ๊ณ์ด์ผ ๊ฒฝ์ฐ(์๋ฅผ ๋ค์ด Mac), ์ด ํ๋ก์ ํธ๋ฅผ
git clone์ผ๋ก ๋ด๋ ค๋ฐ์์ ๋ณธ์ธ์ ์๋ฒ์ ๋ง๊ฒ ์๋ก ์ปดํ์ผ ํ์ฌ ๋ฐ์ด๋๋ฆฌ ํ์ผ์ ๋ง๋ค์ด์ ์ฌ์ฉํ์ค ์ ์์ต๋๋ค. ./goapi-linux๋ฐ์ด๋๋ฆฌ (ํน์ ์ฌ๋ฌ๋ถ์ด ์ง์ ์ปดํ์ผํ์./goapi-mac๋ฑ)๋NUBOํด๋ ์๋์ ๋๊ณ ์คํํ์ ์ผ ํฉ๋๋ค. (์:/var/www/nubo.git/goapi-linux)./goapi-linux๋ฐ์ด๋๋ฆฌ๋ ์คํ ์์ ์ ๋์ผ ๊ฒฝ๋ก์.envํ์ผ์ด ์๋์ง ๊ฒ์ฌํ๊ณ , ์๋ค๋ฉด ์ค์น๋ฅผ ์งํํฉ๋๋ค.Go์ธ์ด๋ก ์์ฑ๋์ด ์์ผ๋ฏ๋ก ์ง์ ์ฝ๋๋ฅผ ์์ ํ๊ฑฐ๋ ์ปดํ์ผํ๊ธฐ ์ํด์๋ ์๋ฒ์Go๊ฐ๋ฐ ํ๊ฒฝ์ด ์ค๋น๋์ด ์์ด์ผ ํฉ๋๋ค.
./goapi-linux๋ฐ์ด๋๋ฆฌ ํ์ผ์ ์คํ ์ ์ ํญ์ ๊ฐ์ ๊ฒฝ๋ก์์.envํ์ผ์ ํ์ธํฉ๋๋ค..envํ์ผ์๋ ์๋์ ๋ด์ฉ๋ค์ด ์๋๋ฐ, ์์ ๋ก๊ทธ์ธ์ด๋ ๋ฉ์ผ ๋ฐ์ก ๋ฑ์ ์ฌ์ฉ๋๋ ํค ๊ฐ๋ค์ ๋ณด๊ดํ๋ ์ฉ๋์ ๋๋ค.- (์๋ ์์)
# Resend๋ก ๋ฉ์ผ ๋ฐ์ก์ ํ์ํ API Key
# ์ฃผ์) localhost ์์๋ ๋์ํ์ง ์์ผ๋ฉฐ, ์ค์ ๋๋ฉ์ธ ์ธ์ฆ์ ๋ฐ์ ์๋ฒ์์๋ง ๋์ํฉ๋๋ค
# ์ฐธ๊ณ ) Resend API Key๊ฐ ์ง์ ๋์ด ์์ผ๋ฉด Gmail ๋ฉ์ผ ๋์ Resend๋ฅผ ์ฌ์ฉํฉ๋๋ค
RESEND_API_KEY=
# ๊ตฌ๊ธ ์ฑ๋น๋ฐ๋ฒํธ for GMAIL ๋ฐ์ก
# ์ฐธ๊ณ ) https://velog.io/@seul06/nodemailer
GMAIL_ID=
GMAIL_APP_PASSWORD=
# ๊ตฌ๊ธ OAuth ํด๋ผ์ด์ธํธ
OAUTH_GOOGLE_CLIENT_ID=
OAUTH_GOOGLE_SECRET=
# ๋ค์ด๋ฒ OAuth ํด๋ผ์ด์ธํธ
OAUTH_NAVER_CLIENT_ID=
OAUTH_NAVER_SECRET=
# ์นด์นด์ค OAuth ํด๋ผ์ด์ธํธ
OAUTH_KAKAO_CLIENT_ID=
OAUTH_KAKAO_SECRET=
# OpenAI API Key
OPENAI_API_KEY=- GOAPI ๋ฐฑ์๋์์ ๋ฉ์ผ์ ๋ฐ์กํ๊ฑฐ๋, ์์ ๋ก๊ทธ์ธ ์ฒ๋ฆฌ๋ฅผ ์ํ ํ๊ฒ ํ๋ ค๋ฉด ๊ฐ๊ธ์ ๊ณต๋์ ๋ชจ๋ ์ฑ์์ฃผ์ธ์.
- OpenAI API๋ฅผ ์ ์ธํ ๋๋จธ์ง ๊ฐ๋ค์ ๋ชจ๋ ๋ฌด๋ฃ๋ก ์ด๋ ์ ๋ ์ด์ฉ์ด ๊ฐ๋ฅํฉ๋๋ค.
- OpenAI API๊ฐ ์์ผ๋ฉด ์ ๋ก๋๋ ์ด๋ฏธ์ง์ ๋ํด์ ์ค๋ช ๊ธ์ ์์ฑํ์ฌ ์ถํ ๊ฒ์์ด ๊ฐ๋ฅํ๊ฒ ๋ง๋ค์ด์ค๋๋ค.
- ์ด๋ฐ์๋ OpenAI API ๊ธฐ๋ฐ์ผ๋ก NUBO์์ ๋ค์ํ (๋ถ๊ฐ)๊ธฐ๋ฅ๋ค์ ์ ๊ณตํ ์์ ์ ๋๋ค.
- OpenAI API๋ ์ ๋ง๋ก ์์ด๋ ๋ฉ๋๋ค. ๋ฉ์ผ ๋ฐ์ก ๋ฑ๊ณผ๋ ๋ฌ๋ฆฌ ํ์์ ์ด์ง ์์ต๋๋ค.
GOAPI๊ฐ ์ ๋๋ก ๋์ํ๋๋ก ํ๋ Nginx ์ค์ ์ ์๋ NUBO ํ๋ก์ ํธ์ README.md๋ฅผ ์ฐธ์กฐํ์ธ์.
- NUBO: https://github.com/sirini/nubo
- TSBOARD: https://github.com/sirini/tsboard