์ํํธ์จ์ด ๊ฐ๋ฐ ๋งฅ๋ฝ์์ ๋ฐฐํฌ ์ํ ๊ด๋ฆฌ๋ ๋ฐฑ์๋ ์๋น์ค, ์น ์ ํ๋ฆฌ์ผ์ด์ ๋๋ ๋ชจ๋ฐ์ผ ์ ํ๋ฆฌ์ผ์ด์ ์ ์ผ๋ถ์ธ์ง ์ฌ๋ถ์ ๊ด๊ณ์์ด ์ํํธ์จ์ด ์ ํ๋ฆฌ์ผ์ด์ ๋ฐฐํฌ์ ๊ด๋ จ๋ ์ํ์ ์๋ณ, ํ๊ฐ ๋ฐ ์ํํ๊ธฐ ์ํ ํฌ๊ด์ ์ด๊ณ ์ฒด๊ณ์ ์ธ ํ๋ก์ธ์ค๋ฅผ ์๋ฏธํฉ๋๋ค. ๋ฐฐํฌ ์ํ ๊ด๋ฆฌ์ ์ฃผ์ ๋ชฉํ๋ ์ํํธ์จ์ด๊ฐ ํต์ ๋๊ณ ์์ ํ๋ฉฐ ํจ์จ์ ์ธ ๋ฐฉ์์ผ๋ก ํ๋ก๋์ ํ๊ฒฝ์ ์ถ์๋๋๋ก ๋ณด์ฅํ์ฌ ์ค๋จ ๊ฐ๋ฅ์ฑ, ๋ณด์ ์ทจ์ฝ์ฑ ๋๋ ์ฌ์ฉ์ ๊ฒฝํ, ์์คํ ๋ฌด๊ฒฐ์ฑ ๋๋ ๋น์ฆ๋์ค์ ๋ถ์ ์ ์ธ ์ํฅ์ ๋ฏธ์น ์ ์๋ ๊ธฐํ ๋ฌธ์ ๋ฅผ ์ต์ํํ๋ ๊ฒ์ ๋๋ค. ์ด์.
๋ฐฐํฌ ์ํ ๊ด๋ฆฌ์ ๋ํ ์ผ๋ฐ์ ์ธ ์ ๊ทผ ๋ฐฉ์ ์ค ํ๋๋ ์ผ๋ฐ์ ์ผ๋ก ๊ณํ, ํ ์คํธ, ์น์ธ ๋ฐ ๋ชจ๋ํฐ๋ง๊ณผ ๊ฐ์ ์ฌ๋ฌ ๋จ๊ณ๋ฅผ ํฌํจํ๋ ์ ์ ์๋๊ณ ๋ฐ๋ณต ๊ฐ๋ฅํ ๋ฐฐํฌ ํ๋ก์ธ์ค๋ฅผ ์ค์ ํ๋ ๊ฒ์ ๋๋ค. ์ด๋ฌํ ๊ตฌ์กฐํ๋ ์ ๊ทผ ๋ฐฉ์์ ํตํด ์ฑ ์์ ๋ช ํํ๊ฒ ์ ์ํ ์ ์์ผ๋ฉฐ ๋ฐฐํฌ ํ๋ก์ธ์ค ์ , ๋์ค, ํ์ ์ ์ฌ์ ์ธ ์ํ์ ์๋ณํ๊ณ ์ํํ๋ ๋ฐ ๋์์ด ๋ฉ๋๋ค.
๋ฐฐํฌ ์ํ ๊ด๋ฆฌ์ ์ค์ํ ์ธก๋ฉด์ ๋ฐฐํฌ ํ๊ฒฝ, ์ธํ๋ผ ๋ฐ ์ ํ๋ฆฌ์ผ์ด์ ์ฑ๋ฅ์ ์ง์์ ์ผ๋ก ๋ชจ๋ํฐ๋งํ๊ณ ํ๊ฐํ๋ ๊ฒ์ ๋๋ค. ์ฌ๊ธฐ์๋ ์์คํ ํ์ฉ๋, ์๋ต ์๊ฐ, ์ค๋ฅ์จ, ์ฌ์ฉ์ ํ๋ ํจํด๊ณผ ๊ฐ์ ์งํ๋ฅผ ๋ชจ๋ํฐ๋งํ์ฌ ์ด์์ด๋ ๋ณ๋์ ๊ฐ์งํ๋ ๊ฒ์ด ํฌํจ๋ฉ๋๋ค. ๋ฌธ์ ๊ฐ ๋ฐ๊ฒฌ๋ ๊ฒฝ์ฐ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ณ ์ฌ์ฉ์๋ ์ ์ฒด ์์คํ ์ ๋ถ์ ์ ์ธ ์ํฅ์ ๋ฏธ์น์ง ์๋๋ก ์ ์ ํ ์กฐ์น๋ฅผ ์ทจํด์ผ ํฉ๋๋ค.
๋ฐฐํฌ ์ํ ๊ด๋ฆฌ์ ๋ ๋ค๋ฅธ ์ฃผ์ ๊ตฌ์ฑ ์์๋ ์ ํ๋ฆฌ์ผ์ด์ ์๋ช ์ฃผ๊ธฐ ์ ๋ฐ์ ๊ฑธ์ณ ๋ณด์ ๋ชจ๋ฒ ์ฌ๋ก๋ฅผ ํตํฉํ๋ ๊ฒ์ ๋๋ค. ์ฌ๊ธฐ์๋ ๋ณด์ ์ฝ๋ฉ ๋ฐฉ์ ์ฑํ, ์ฒ ์ ํ ๋ณด์ ํ ์คํธ, ๋ฐฐํฌ ์ ์ํ ํ๊ฐ๋ ๋ฌผ๋ก ๋ฐฐํฌ ์ค๊ณผ ๋ฐฐํฌ ํ์ ์ง์์ ์ธ ๋ณด์ ๋ชจ๋ํฐ๋ง ๋ฐ ์ทจ์ฝ์ฑ ๊ด๋ฆฌ๊ฐ ์๋ฐ๋ฉ๋๋ค. ๋ํ ๊ฐ๋ฐ ๋ฐ ๋ฐฐํฌ ํ์ด ์ ์ฌ์ ์ธ ๋ณด์ ์ํ๊ณผ ๊ด๋ จ ์ํ ์ ๋ต์ ์ธ์ํ๊ณ ์ด๋ฌํ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด ํจ๊ณผ์ ์ผ๋ก ํ๋ ฅํ๋์ง ํ์ธํ๋ ๊ฒ๋ ์ค์ํฉ๋๋ค.
ํจ๊ณผ์ ์ธ ๋ฐฐํฌ ์ํ ๊ด๋ฆฌ์ ์ผํ์ผ๋ก ์กฐ์ง์ ํฌ๊ด์ ์ธ ๋กค๋ฐฑ ์ ๋ต๊ณผ ์ฌํด ๋ณต๊ตฌ ๊ณํ๋ ์๋ฆฝํด์ผ ํฉ๋๋ค. ๋ฐฐํฌ๋ก ์ธํด ์์์น ๋ชปํ ๋ฌธ์ ๋ ์ทจ์ฝ์ฑ์ด ๋ฐ์ํ๋ ๊ฒฝ์ฐ ๊ฐ๋ ์ค์ง ์๊ฐ, ์ฌ์ ์ ์ํฅ ๋ฐ ๊ณ ๊ฐ ๋ถ๋ง์ ์ต์ํํ๋ ค๋ฉด ์์ ์ ์ธ ์ํ๋ก ๋๋๋ฆฌ๊ฑฐ๋ ์์คํ ์ค๋ฅ๋ฅผ ๋ณต๊ตฌํ๊ธฐ ์ํ ์ ๊ฐ๋ฐ๋ ๊ณํ์ ์ธ์ฐ๋ ๊ฒ์ด ํ์์ ์ ๋๋ค.
AppMasterno-code ํ๋ซํผ์ ๋งฅ๋ฝ์์ ๋ฐฐํฌ ์ํ ๊ด๋ฆฌ๋ ๋ฐฐํฌ ํ๋ก์ธ์ค๋ฅผ ๊ฐ์ํํ๊ณ ์ ์ฌ์ ์ํ์ ์๋ณ ๋ฐ ์ํ๋ฅผ ์ง์ํ๋ ๋ค์ํ ๋ด์ฅ ๊ธฐ๋ฅ๊ณผ ๋ฐฉ๋ฒ๋ก ์ ํตํด ์ด์ง๋ฉ๋๋ค. ์๋ฅผ ๋ค์ด AppMaster ์ฌ์ฉํ๋ฉด ์ฌ์ฉ์๋ ๋ฐ์ดํฐ ๋ชจ๋ธ, ๋น์ฆ๋์ค ๋ก์ง ๋ฐ API endpoints ์๊ฐ์ ์ผ๋ก ์์ฑํ์ฌ ๋ฐฐํฌ ํ๋ก์ธ์ค์์ ์ธ์ ์ค๋ฅ์ ๋ถ์ผ์น ๊ฐ๋ฅ์ฑ์ ์ต์ํํ ์ ์์ต๋๋ค. ๋ํ AppMaster ์ ํ๋ฆฌ์ผ์ด์ ์์ค ์ฝ๋๋ฅผ ์์ฑํ๊ณ ์ปดํ์ผ, ํ ์คํธ ๋ฐ Docker ์ปจํ ์ด๋๋ก ํจํค์ง์ ์ฒ๋ฆฌํ์ฌ ์ผ๊ด๋๊ณ ์ ๊ตฌ์ฑ๋ ๋ฐฐํฌ ํ๋ก์ธ์ค๋ฅผ ๋ณด์ฅํฉ๋๋ค.
๋ํ AppMaster ์์ฑ ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ฐ์ด๋ ํ์ฅ์ฑ๊ณผ ์ฑ๋ฅ์ ์ ๊ณตํ๋๋ก ์ค๊ณ๋์ด ๊ด๋ฒ์ํ ์ฌ์ฉ ์ฌ๋ก์ ์ ํฉํ๊ณ ์์คํ ์ ํ์ด๋ ๋นํจ์จ์ฑ์ผ๋ก ์ธํ ๋ฐฐํฌ ๊ด๋ จ ๋ฌธ์ ๊ฐ ๋ฐ์ํ ๊ฐ๋ฅ์ฑ์ ์ค์ ๋๋ค. ๋ํ AppMaster ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ชจ๋ Postgres ํธํ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ํตํฉํ ์ ์์ผ๋ฏ๋ก ๋ฐ์ดํฐ๋ฒ ์ด์ค ํธํ์ฑ ๋ฌธ์ ๋ก ์ธํ ๋ฐฐํฌ ์ํ์ ๋์ฑ ์ค์ผ ์ ์์ต๋๋ค.
๋ณด์ ์ธก๋ฉด์์ AppMaster ๋ชจ๋ ํ๋ก์ ํธ์ ๋ํด Swagger ๋ฌธ์ ๋ฐ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์คํค๋ง ๋ง์ด๊ทธ๋ ์ด์ ์คํฌ๋ฆฝํธ๋ฅผ ์๋์ผ๋ก ์์ฑํ์ฌ ์ ๊ณ ๋ชจ๋ฒ ์ฌ๋ก๋ฅผ ์ค์ํ๊ณ ์ ์ํ ์ฌ์์ฑ ํ๋ก์ธ์ค๋ฅผ ์ ์งํจ์ผ๋ก์จ ๊ธฐ์ ์ ๋ถ์ฑ๋ ์ค๋๋ ๋ณด์ ๊ดํ์ผ๋ก AppMaster ์ํ์ด ์๋๋ก ๋ณด์ฅํฉ๋๋ค. ์ด๋ ์ ํ๋ฆฌ์ผ์ด์ ๊ตฌ์ฑ ์์๊ฐ ์์ ํ๊ณ ์ต์ ์ํ๋ก ์ ์ง๋์ด ์ค๋๋๊ฑฐ๋ ์์ ํ์ง ์์ ๊ตฌ์ฑ์ผ๋ก ์ธํ ์ ์ฌ์ ์ธ ๋ฐฐํฌ ์ํ์ ํจ๊ณผ์ ์ผ๋ก ์ค์ธ๋ค๋ ๊ฒ์ ์๋ฏธํฉ๋๋ค.
๊ถ๊ทน์ ์ผ๋ก ๋ฐฐํฌ ์ํ ๊ด๋ฆฌ๋ ์ํํธ์จ์ด ์ ํ๋ฆฌ์ผ์ด์ ์ด ํต์ ๋๊ณ ์์ ํ๋ฉฐ ํจ์จ์ ์ธ ๋ฐฉ์์ผ๋ก ๋ฐฐํฌ๋๋๋ก ๋ณด์ฅํ๋ ๋ฐ ํ์์ ์ ๋๋ค. ๋ฐฐํฌ ํ๋ก์ธ์ค์ ๋ํ ๊ตฌ์กฐํ๋ ์ ๊ทผ ๋ฐฉ์์ ์ฑํํ๊ณ , ํฌ๊ด์ ์ธ ์ํ ํ๊ฐ ๋ฐ ์ํ ์ ๋ต์ ํ์ฉํ๊ณ , AppMaster ์ ๊ฐ์ ์ ๊ณ ๋ชจ๋ฒ ์ฌ๋ก ๋ฐ ํ๋ซํผ์ ํ์ฉํจ์ผ๋ก์จ ์กฐ์ง์ ์ํํธ์จ์ด ์ ํ๋ฆฌ์ผ์ด์ ๋ฐฐํฌ์ ๊ด๋ จ๋ ์ ์ฌ์ ์ํ์ ์ต์ํํ์ฌ ๋ณด๋ค ๊ธ์ ์ ์ด๊ณ ์์ ํ ์ฌ์ฉ์๋ฅผ ๋ณด์ฅํ ์ ์์ต๋๋ค. ์ ๋ฐ์ ์ธ ์์คํ ๊ณผ ๋น์ฆ๋์ค ์ด์์ ๋ณดํธํ๋ฉด์ ๊ฒฝํ์ ์์ ์ ์์ต๋๋ค.