# ๐ฑ GrowWise: An AI Garden Coach That Wants You to Close This Tab and Touch Some Actual Grass
๊ฐ๋ฐ์๋ค์ด 'ํ๋ฉด ๋๊ณ ์๋ ๋ง์ง๊ธฐ(Touch Grass)' ์ด๋์ ๋์ฐ์ต๋๋ค. Hacktoberfest ์ฑ๋ฆฐ์ง 1์ฃผ์ฐจ ์ถํ์ GrowWise๋ ๋ก์ปฌ...
๊ธฐ์ ๋ธ๋ก๊ทธ: GrowWise๊ฐ ๋ง๋ค์ด๋ธ ๋ก์ปฌ ๊ฐ๋ฐ ํ์
์ฐฝ์
์์ด์ ํ์คํ ์์ง๋์ด์ธ ์ ๋ โํ๋ฉด ๋๊ณ ์๋๋ง์ง๊ธฐโ๋ผ๋ ๋ช
์ธ์ด ์ ์๊ฒ๋ ๋ด๋ฉด์ ํผ๋ก๋ฅผ ๋๋ฌ๋ด๋ ์ ํธ์์ ๊นจ๋ฌ์์ต๋๋ค. ๊ทธ๋์ Hacktoberfest 1์ฃผ์ฐจ์ GrowWise๋ฅผ ์ ์ํ๋ฉด์ ๋ก์ปฌ ๊ฐ๋ฐ ํ๊ฒฝ์ ์ ์ฝ์ ๋์ง ์๋ ๋ฐฉ์์ ์คํํ์ต๋๋ค.
์ํคํ ์ฒ ์์ฝ
์ฌํํ ์คํ ํ์ผ
growwise๋ฐ์ด๋๋ฆฌ๋ 20โฏMB ์ดํ์ด๋ฉฐ, Go 1.22์ ๊ธฐ๋ฐ์ผ๋ก ํ ํฌ๋ก๋ฐ์ดํธ ํฌ๊ธฐ์ ์คํ ํ์ผ๋ก ์ ๊ณต๋ฉ๋๋ค. ์ ์ ์ปดํ์ผ์ด๋ฏ๋ก ๋ณ๋์ ๋ฐํ์์ด ํ์ ์์ผ๋ฉฐ,docker buildx์์ด ๋ฐ๋ก ์คํ์ด ๊ฐ๋ฅํฉ๋๋ค.JSON ๊ธฐ๋ฐ ์ค์
ํ๋ก์ ํธ ๋ฃจํธ์growwise.json์ ๋๋ฉด, ํ์ํ ์๋น์ค(๋ฐ์ดํฐ๋ฒ ์ด์ค, ์บ์, ์์ปค ๋ฑ)๋ฅผ ์ ์ธํ๊ณgrowwise up๋ง์ผ๋ก ๋ณต์ ์ปจํ ์ด๋๋ฅผ spinโupํ ์ ์์ต๋๋ค. ์ค์ ํ์ผ ํ ์ค๋ง ์ถ๊ฐํ๋ฉดnpx tsx๋์ ๋ก์ปฌ์์ ๋ฐ๋ก ํ ์คํธ๊ฐ ๊ฐ๋ฅํด์ง๋๋ค.ํซ ๋ฆฌ๋ก๋์ ๋ก๊ทธ ๋ผ์ฐํ
growwise watch๋ชจ๋์์๋ ํ์ผ ๋ณํ๋ฅผ ๊ฐ์งํด ์๋ ์ฌ์์ํ๋ฉฐ, log๋ฅผCONSOLE๊ณผfile๋ ๊ณณ์ ๋์์ ์คํธ๋ฆฌ๋ฐํฉ๋๋ค. ์ค๋ผํด ๊ฐ์ ์ค์ ์์ด๋ Kubernetes ์์ด๋Staging์ ๋ฎ์ ํ๊ฒฝ์ด ์์ฑ๋ฉ๋๋ค.
๋ฐ๋์งํ ํธ๋ ์ด๋์คํ
- ๋ค์ดํฐ๋ธ ์ข ์์ฑ ์ต์ํ Go์ graph ๊ฒฝ๋ํ ๋๋ถ์ linux/arm64 ์ macOS(Apple Silicon) ๋ชจ๋์์ 1๋ถ ๋ฏธ๋ง์ ์คํํธ์ ํ์์ ๋ฌ์ฑํฉ๋๋ค.
- ๋ฒ์ ์ถฉ๋ ์ํ
growwise๊ฐ ๋ด๋ถ ๋ชจ๋์ ๊ณ ์ ์ํค๋ฏ๋ก, ๋ค๋ฅธ ํ๋ก์ ํธ์์ ์ถฉ๋์ ๊ฑฐ์ ์์ง๋ง ์๋ก์ด ๋ฒ์ ์ถ์ ์ ํธํ์ฑ ๊ฒ์ฆ์ด ํ์ํฉ๋๋ค.
๊ฒฐ๊ณผ
Hacktoberfest ๊ธฐ๊ฐ ์ค 43๊ฐ PR์ด ํฉ์๋์๊ณ , ๊ทธ ์ค 32๊ฐ๊ฐ ์ค์ ํ๋ก๋์ ์ ๋ฐฐํฌ๋์์ต๋๋ค. ๋ก์ปฌ์์ ๋น ๋ฅด๊ฒ ๋ฐ๋ณต ํ ์คํธํ ๋๋ถ์ CI ๋น์ฉ๋ 30% ์ ๊ฐ๋์๊ณ , ๊ฐ์ฅ ํฐ ํจ๊ณผ๋ โ์คํฌ๋ฆฐ ํ์โ๊ณผ โ์ค์ ์๋โ๋ฅผ ์ฒด๊ฐํ ์ ์๋ค๋ ์ ์ ๋๋ค.
๋ก์ปฌ์ ๋จผ์ , ํ์ค์ํ๋ฅผ ๋ชฉํ๋ก ํ๋ GitHub ํ๋ก์ ํธ
growwise๋ฅผ ํ์ํด ๋ณด์ธ์.
ํ๋์ ๋ฐ์ด๋๋ฆฌ, ํ๋์ JSON ์ค์ ์ด ๊ฐ๋ฐ ํธ๋ ์ด๋์คํ๋ฅผ ์ฝ๊ฒ ๋๋ ค์ค๋ค.
๊ฐ์ธ ์คํ ๋ฆฌ: ์๋์ ์์ ๋๊ณ ์ฝ๋๋ฅผ ํ ์ค์ฉ
๋๋ ์ธ์ ๋ ์ฝ๋์ฐฝ ์์ ํ๋ ํ๋ฉด์ด ๊ฐ๋ํ๋ค. ํด๊ทผ ํ ๊ฑฐ๋ฆฌ์ ๋ถ๋๋ฌ์ด ๋ฐ๋์ ๋์ ๋ด๋ฐฑํ IT ๋งคํธ๋ฆญ์ค๊ฐ ๋๋ฅผ ๊ฐ์ธ๊ณค ํ์ง. ์ด๋ ๋ , ์ง์น ๋งํผ ํ๋ฉด์ ๋ด๋ ค์ฐ์ด ๋ณธ ์ ํ๋ธ์์ โํ์น ๋ชปํ ๊ฐ๋ฐ์๋ค, ํ๋ฉด ๋๊ณ ์๋ ๋ง์ง๊ธฐโ ์์์ ๋ดค๋ค. ์ค๋๋ ์ค๋์ค ์คํผ์ปค์ ํ๋ฅด๋ ํ๊ฐ๋ก์ด ์ฌ์ฆ๊ฐ ๋์ ๊ฑฐ์ธ์ ๋น์น ์์ ๊ฐ๋ก์ง๋ฅด๋ฉฐ ๋ง์ ๊ฑด๋ธ๋ค.
โ์ ๊น, ์นดํ์ ์ฐป์์ด ๊ทธ๋ฆฝ์ง ์๋?โ
๊ทธ๋ ๋๋ ํธ๋ํฐ์ ๋ชจ์ ๋์๋ GrowWise ์ํ ํ๋ก์ ํธ๋ฅผ ์คํํด ๋ณด์๋ค. ํ์ผ์ ํ๋ ์ ์ฅํ๋ฉด ๋ฐ๋ก docker-compose๊ฐ ์ฐ์ฌ์ง ๊ฑด๋ฐ, Docker๊ฐ ํ์ ์์๋ค. growwise up ํ ๋ฒ์ ์๋น์ค๊ฐ ๊บผ์ ธ๋ฒ๋ ธ๋ค. ์๋ง๋ ์ค๋ ์๊ฐ ํผ์ ํ์์ ์จ ์์ด๋ฆฌ์ธ์ด ๋ ๋ปํ๋ ๊ทธ ์๊ฐ, ์ฝ๋์ ์๋๊ฐ ๋์์ ์ด๊ธฐ๋ฅผ ์์ํ๋ค.
์ ๋
๋ฆ์ ์๊ฐ, ๋๋ ๊ฐ์ ๊ฑธ์์ผ๋ก ์ง ๋ฐ์ผ๋ก ๋์ ๋
์ ์ ์ ์งํ ์๋ฆฌ๊น์ง ๊ท์์ ์ธ๋ฆฌ๋ ๊ทธ ์๊ฐ, ๋์ ๋๋ฒ๊ทธ ์คํํ๊ณผ๋ ๋ค๋ฅธ โ์ง์งโ ์คํ์ด ๋ ์ฌ๋๋ค. ๋ถํฉ์ ์กฐ๊ธ์ ๋
น์ด๋ฉฐ, ๋ฌ๋ ํ
์คํธ๋ฅผ ์ํ ๋๋น ๋ชจ์์ ์์ ๋
ธํธ๋ถ์ ๋๊ณ ์ฑฉ ๋ ๋ ์๋ฅผ ๋ณด๋ฉฐ, growwise๊ฐ ์ด๋ป๊ฒ ๊ตฌ์กฐ์ ์ผ๋ก ๋: ๋ก์ปฌ์์ ๋ฐ๋ก ์คํ๋๋ ์ ์ด ๋ด๊ฐ ์ฐพ๋ ํด์์ด์๋ค.
๋ค์ ์ฃผ์๋ ๊ฐ์ ๊ฐ๋ฐ ๋ฃจํด์ ๋ฐ๋ณตํ ์ ์๋์ง, ํ์ ์์ด ๋ผ๋ ๋ง๋ณด๋ค, ์ด๋ฏธ ์ด๋ฒ ๊ฒจ์ธ ํ ๋ ์ฐจ๋ก๋ โ์ฝ๋๋ณด๋ค๋ ํ๋ฟ๋ฆฌ๋งํผโ ์ด์๋ค๋ ๊ฒ์ ๊ฐ์ฌํ๋ค. ๋ค์ ์ฌ์ฉํ ํ๋ก์ ํธ๊ฐ ์์ ๋๋ฉด, ์ฌ์์ ์์ด ๋ฐ๋ก ๋ ๋๋ค. ์ฌ์ ์ค์น ์์ด ํ๋ฐฉ์ผ๋ก ๋ฌธ์ ์ด๊ณ , ๊ทธ ์์์ ๋จธ๋ฆฌ๋ฅผ ์ฃ๊ณ ์ดํด๋ณด์.
๋ โ๋ด์ฝ๋โ๋ผ๋ ๋จ์ด๋ฅผ ํ์ดํํ๋ ๋ด๊ฐ, ํ ๋ฒ์ ์๋ ์คํธ๋ก์ฐ๋ฅผ ๋ง์ ธ๋ณผ ๋ ํ์ํ์ง ์์ ์ํ๋ผ ์คํ ํ์ผ๋ ์ด์ ๋ โํ์ํ์ง ์๋คโ๊ณ ์ธ์ณค๋ค.
๋ค์ ์ฑ๋ฆฐ์ง๋, GrowWise๋ฅผ ํตํด ์์ํด ๋ณด์.