# ๐ฑ 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

์ฐฝ์ ์์ด์ ํ์คํ ์์ง๋์ด์ธ ์ ๋ โํ๋ฉด ๋๊ณ ์๋๋ง์ง๊ธฐโ๋ผ๋ ๋ช ์ธ์ด ์ ์๊ฒ๋ ๋ด๋ฉด์ ํผ๋ก๋ฅผ ๋๋ฌ๋ด๋ ์ ํธ์์ ๊นจ๋ฌ์์ต๋๋ค. ๊ทธ๋์ 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 ์ ๋ฎ์ ํ๊ฒฝ์ด ์์ฑ๋ฉ๋๋ค.
Hacktoberfest ๊ธฐ๊ฐ ์ค 43๊ฐ PR์ด ํฉ์๋์๊ณ , ๊ทธ ์ค 32๊ฐ๊ฐ ์ค์ ํ๋ก๋์ ์ ๋ฐฐํฌ๋์์ต๋๋ค. ๋ก์ปฌ์์ ๋น ๋ฅด๊ฒ ๋ฐ๋ณต ํ ์คํธํ ๋๋ถ์ CI ๋น์ฉ๋ 30% ์ ๊ฐ๋์๊ณ , ๊ฐ์ฅ ํฐ ํจ๊ณผ๋ โ์คํฌ๋ฆฐ ํ์โ๊ณผ โ์ค์ ์๋โ๋ฅผ ์ฒด๊ฐํ ์ ์๋ค๋ ์ ์ ๋๋ค.
๋ก์ปฌ์ ๋จผ์ , ํ์ค์ํ๋ฅผ ๋ชฉํ๋ก ํ๋ GitHub ํ๋ก์ ํธ growwise ๋ฅผ ํ์ํด ๋ณด์ธ์. ํ๋์ ๋ฐ์ด๋๋ฆฌ, ํ๋์ JSON ์ค์ ์ด ๊ฐ๋ฐ ํธ๋ ์ด๋์คํ๋ฅผ ์ฝ๊ฒ ๋๋ ค์ค๋ค.
๋๋ ์ธ์ ๋ ์ฝ๋์ฐฝ ์์ ํ๋ ํ๋ฉด์ด ๊ฐ๋ํ๋ค. ํด๊ทผ ํ ๊ฑฐ๋ฆฌ์ ๋ถ๋๋ฌ์ด ๋ฐ๋์ ๋์ ๋ด๋ฐฑํ IT ๋งคํธ๋ฆญ์ค๊ฐ ๋๋ฅผ ๊ฐ์ธ๊ณค ํ์ง. ์ด๋ ๋ , ์ง์น ๋งํผ ํ๋ฉด์ ๋ด๋ ค์ฐ์ด ๋ณธ ์ ํ๋ธ์์ โํ์น ๋ชปํ ๊ฐ๋ฐ์๋ค, ํ๋ฉด ๋๊ณ ์๋ ๋ง์ง๊ธฐโ ์์์ ๋ดค๋ค. ์ค๋๋ ์ค๋์ค ์คํผ์ปค์ ํ๋ฅด๋ ํ๊ฐ๋ก์ด ์ฌ์ฆ๊ฐ ๋์ ๊ฑฐ์ธ์ ๋น์น ์์ ๊ฐ๋ก์ง๋ฅด๋ฉฐ ๋ง์ ๊ฑด๋ธ๋ค.
โ์ ๊น, ์นดํ์ ์ฐป์์ด ๊ทธ๋ฆฝ์ง ์๋?โ ๊ทธ๋ ๋๋ ํธ๋ํฐ์ ๋ชจ์ ๋์๋ GrowWise ์ํ ํ๋ก์ ํธ๋ฅผ ์คํํด ๋ณด์๋ค. ํ์ผ์ ํ๋ ์ ์ฅํ๋ฉด ๋ฐ๋ก docker-compose ๊ฐ ์ฐ์ฌ์ง ๊ฑด๋ฐ, Docker๊ฐ ํ์ ์์๋ค. growwise up ํ ๋ฒ์ ์๋น์ค๊ฐ ๊บผ์ ธ๋ฒ๋ ธ๋ค. ์๋ง๋ ์ค๋ ์๊ฐ ํผ์ ํ์์ ์จ ์์ด๋ฆฌ์ธ์ด ๋ ๋ปํ๋ ๊ทธ ์๊ฐ, ์ฝ๋์ ์๋๊ฐ ๋์์ ์ด๊ธฐ๋ฅผ ์์ํ๋ค.
์ ๋ ๋ฆ์ ์๊ฐ, ๋๋ ๊ฐ์ ๊ฑธ์์ผ๋ก ์ง ๋ฐ์ผ๋ก ๋์ ๋ ์ ์ ์ ์งํ ์๋ฆฌ๊น์ง ๊ท์์ ์ธ๋ฆฌ๋ ๊ทธ ์๊ฐ, ๋์ ๋๋ฒ๊ทธ ์คํํ๊ณผ๋ ๋ค๋ฅธ โ์ง์งโ ์คํ์ด ๋ ์ฌ๋๋ค. ๋ถํฉ์ ์กฐ๊ธ์ ๋ น์ด๋ฉฐ, ๋ฌ๋ ํ ์คํธ๋ฅผ ์ํ ๋๋น ๋ชจ์์ ์์ ๋ ธํธ๋ถ์ ๋๊ณ ์ฑฉ ๋ ๋ ์๋ฅผ ๋ณด๋ฉฐ, growwise ๊ฐ ์ด๋ป๊ฒ ๊ตฌ์กฐ์ ์ผ๋ก ๋: ๋ก์ปฌ์์ ๋ฐ๋ก ์คํ๋๋ ์ ์ด ๋ด๊ฐ ์ฐพ๋ ํด์์ด์๋ค.
๋ค์ ์ฃผ์๋ ๊ฐ์ ๊ฐ๋ฐ ๋ฃจํด์ ๋ฐ๋ณตํ ์ ์๋์ง, ํ์ ์์ด ๋ผ๋ ๋ง๋ณด๋ค, ์ด๋ฏธ ์ด๋ฒ ๊ฒจ์ธ ํ ๋ ์ฐจ๋ก๋ โ์ฝ๋๋ณด๋ค๋ ํ๋ฟ๋ฆฌ๋งํผโ ์ด์๋ค๋ ๊ฒ์ ๊ฐ์ฌํ๋ค. ๋ค์ ์ฌ์ฉํ ํ๋ก์ ํธ๊ฐ ์์ ๋๋ฉด, ์ฌ์์ ์์ด ๋ฐ๋ก ๋ ๋๋ค. ์ฌ์ ์ค์น ์์ด ํ๋ฐฉ์ผ๋ก ๋ฌธ์ ์ด๊ณ , ๊ทธ ์์์ ๋จธ๋ฆฌ๋ฅผ ์ฃ๊ณ ์ดํด๋ณด์.
๋ โ๋ด์ฝ๋โ๋ผ๋ ๋จ์ด๋ฅผ ํ์ดํํ๋ ๋ด๊ฐ, ํ ๋ฒ์ ์๋ ์คํธ๋ก์ฐ๋ฅผ ๋ง์ ธ๋ณผ ๋ ํ์ํ์ง ์์ ์ํ๋ผ ์คํ ํ์ผ๋ ์ด์ ๋ โํ์ํ์ง ์๋คโ๊ณ ์ธ์ณค๋ค.