์†Œํ”„ํŠธ์›จ์–ด ๊ฐœ๋ฐœ ๋งฅ๋ฝ์—์„œ ๋ฐฐํฌ ์œ„ํ—˜ ๊ด€๋ฆฌ๋Š” ๋ฐฑ์—”๋“œ ์„œ๋น„์Šค, ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋˜๋Š” ๋ชจ๋ฐ”์ผ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ์ผ๋ถ€์ธ์ง€ ์—ฌ๋ถ€์— ๊ด€๊ณ„์—†์ด ์†Œํ”„ํŠธ์›จ์–ด ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋ฐฐํฌ์™€ ๊ด€๋ จ๋œ ์œ„ํ—˜์„ ์‹๋ณ„, ํ‰๊ฐ€ ๋ฐ ์™„ํ™”ํ•˜๊ธฐ ์œ„ํ•œ ํฌ๊ด„์ ์ด๊ณ  ์ฒด๊ณ„์ ์ธ ํ”„๋กœ์„ธ์Šค๋ฅผ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. ๋ฐฐํฌ ์œ„ํ—˜ ๊ด€๋ฆฌ์˜ ์ฃผ์š” ๋ชฉํ‘œ๋Š” ์†Œํ”„ํŠธ์›จ์–ด๊ฐ€ ํ†ต์ œ๋˜๊ณ  ์•ˆ์ „ํ•˜๋ฉฐ ํšจ์œจ์ ์ธ ๋ฐฉ์‹์œผ๋กœ ํ”„๋กœ๋•์…˜ ํ™˜๊ฒฝ์— ์ถœ์‹œ๋˜๋„๋ก ๋ณด์žฅํ•˜์—ฌ ์ค‘๋‹จ ๊ฐ€๋Šฅ์„ฑ, ๋ณด์•ˆ ์ทจ์•ฝ์„ฑ ๋˜๋Š” ์‚ฌ์šฉ์ž ๊ฒฝํ—˜, ์‹œ์Šคํ…œ ๋ฌด๊ฒฐ์„ฑ ๋˜๋Š” ๋น„์ฆˆ๋‹ˆ์Šค์— ๋ถ€์ •์ ์ธ ์˜ํ–ฅ์„ ๋ฏธ์น  ์ˆ˜ ์žˆ๋Š” ๊ธฐํƒ€ ๋ฌธ์ œ๋ฅผ ์ตœ์†Œํ™”ํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์šด์˜.

๋ฐฐํฌ ์œ„ํ—˜ ๊ด€๋ฆฌ์— ๋Œ€ํ•œ ์ผ๋ฐ˜์ ์ธ ์ ‘๊ทผ ๋ฐฉ์‹ ์ค‘ ํ•˜๋‚˜๋Š” ์ผ๋ฐ˜์ ์œผ๋กœ ๊ณ„ํš, ํ…Œ์ŠคํŠธ, ์Šน์ธ ๋ฐ ๋ชจ๋‹ˆํ„ฐ๋ง๊ณผ ๊ฐ™์€ ์—ฌ๋Ÿฌ ๋‹จ๊ณ„๋ฅผ ํฌํ•จํ•˜๋Š” ์ž˜ ์ •์˜๋˜๊ณ  ๋ฐ˜๋ณต ๊ฐ€๋Šฅํ•œ ๋ฐฐํฌ ํ”„๋กœ์„ธ์Šค๋ฅผ ์„ค์ •ํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ๊ตฌ์กฐํ™”๋œ ์ ‘๊ทผ ๋ฐฉ์‹์„ ํ†ตํ•ด ์ฑ…์ž„์„ ๋ช…ํ™•ํ•˜๊ฒŒ ์ •์˜ํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ ๋ฐฐํฌ ํ”„๋กœ์„ธ์Šค ์ „, ๋„์ค‘, ํ›„์— ์ž ์žฌ์ ์ธ ์œ„ํ—˜์„ ์‹๋ณ„ํ•˜๊ณ  ์™„ํ™”ํ•˜๋Š” ๋ฐ ๋„์›€์ด ๋ฉ๋‹ˆ๋‹ค.

๋ฐฐํฌ ์œ„ํ—˜ ๊ด€๋ฆฌ์˜ ์ค‘์š”ํ•œ ์ธก๋ฉด์€ ๋ฐฐํฌ ํ™˜๊ฒฝ, ์ธํ”„๋ผ ๋ฐ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์„ฑ๋Šฅ์„ ์ง€์†์ ์œผ๋กœ ๋ชจ๋‹ˆํ„ฐ๋งํ•˜๊ณ  ํ‰๊ฐ€ํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์—๋Š” ์‹œ์Šคํ…œ ํ™œ์šฉ๋„, ์‘๋‹ต ์‹œ๊ฐ„, ์˜ค๋ฅ˜์œจ, ์‚ฌ์šฉ์ž ํ–‰๋™ ํŒจํ„ด๊ณผ ๊ฐ™์€ ์ง€ํ‘œ๋ฅผ ๋ชจ๋‹ˆํ„ฐ๋งํ•˜์—ฌ ์ด์ƒ์ด๋‚˜ ๋ณ€๋™์„ ๊ฐ์ง€ํ•˜๋Š” ๊ฒƒ์ด ํฌํ•จ๋ฉ๋‹ˆ๋‹ค. ๋ฌธ์ œ๊ฐ€ ๋ฐœ๊ฒฌ๋œ ๊ฒฝ์šฐ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ณ  ์‚ฌ์šฉ์ž๋‚˜ ์ „์ฒด ์‹œ์Šคํ…œ์— ๋ถ€์ •์ ์ธ ์˜ํ–ฅ์„ ๋ฏธ์น˜์ง€ ์•Š๋„๋ก ์ ์ ˆํ•œ ์กฐ์น˜๋ฅผ ์ทจํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

๋ฐฐํฌ ์œ„ํ—˜ ๊ด€๋ฆฌ์˜ ๋˜ ๋‹ค๋ฅธ ์ฃผ์š” ๊ตฌ์„ฑ ์š”์†Œ๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์ˆ˜๋ช… ์ฃผ๊ธฐ ์ „๋ฐ˜์— ๊ฑธ์ณ ๋ณด์•ˆ ๋ชจ๋ฒ” ์‚ฌ๋ก€๋ฅผ ํ†ตํ•ฉํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์—๋Š” ๋ณด์•ˆ ์ฝ”๋”ฉ ๋ฐฉ์‹ ์ฑ„ํƒ, ์ฒ ์ €ํ•œ ๋ณด์•ˆ ํ…Œ์ŠคํŠธ, ๋ฐฐํฌ ์ „ ์œ„ํ—˜ ํ‰๊ฐ€๋Š” ๋ฌผ๋ก  ๋ฐฐํฌ ์ค‘๊ณผ ๋ฐฐํฌ ํ›„์— ์ง€์†์ ์ธ ๋ณด์•ˆ ๋ชจ๋‹ˆํ„ฐ๋ง ๋ฐ ์ทจ์•ฝ์„ฑ ๊ด€๋ฆฌ๊ฐ€ ์ˆ˜๋ฐ˜๋ฉ๋‹ˆ๋‹ค. ๋˜ํ•œ ๊ฐœ๋ฐœ ๋ฐ ๋ฐฐํฌ ํŒ€์ด ์ž ์žฌ์ ์ธ ๋ณด์•ˆ ์œ„ํ—˜๊ณผ ๊ด€๋ จ ์™„ํ™” ์ „๋žต์„ ์ธ์‹ํ•˜๊ณ  ์ด๋Ÿฌํ•œ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด ํšจ๊ณผ์ ์œผ๋กœ ํ˜‘๋ ฅํ•˜๋Š”์ง€ ํ™•์ธํ•˜๋Š” ๊ฒƒ๋„ ์ค‘์š”ํ•ฉ๋‹ˆ๋‹ค.

ํšจ๊ณผ์ ์ธ ๋ฐฐํฌ ์œ„ํ—˜ ๊ด€๋ฆฌ์˜ ์ผํ™˜์œผ๋กœ ์กฐ์ง์€ ํฌ๊ด„์ ์ธ ๋กค๋ฐฑ ์ „๋žต๊ณผ ์žฌํ•ด ๋ณต๊ตฌ ๊ณ„ํš๋„ ์ˆ˜๋ฆฝํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๋ฐฐํฌ๋กœ ์ธํ•ด ์˜ˆ์ƒ์น˜ ๋ชปํ•œ ๋ฌธ์ œ๋‚˜ ์ทจ์•ฝ์„ฑ์ด ๋ฐœ์ƒํ•˜๋Š” ๊ฒฝ์šฐ ๊ฐ€๋™ ์ค‘์ง€ ์‹œ๊ฐ„, ์žฌ์ •์  ์˜ํ–ฅ ๋ฐ ๊ณ ๊ฐ ๋ถˆ๋งŒ์„ ์ตœ์†Œํ™”ํ•˜๋ ค๋ฉด ์•ˆ์ •์ ์ธ ์ƒํƒœ๋กœ ๋˜๋Œ๋ฆฌ๊ฑฐ๋‚˜ ์‹œ์Šคํ…œ ์˜ค๋ฅ˜๋ฅผ ๋ณต๊ตฌํ•˜๊ธฐ ์œ„ํ•œ ์ž˜ ๊ฐœ๋ฐœ๋œ ๊ณ„ํš์„ ์„ธ์šฐ๋Š” ๊ฒƒ์ด ํ•„์ˆ˜์ ์ž…๋‹ˆ๋‹ค.

AppMasterno-code ํ”Œ๋žซํผ์˜ ๋งฅ๋ฝ์—์„œ ๋ฐฐํฌ ์œ„ํ—˜ ๊ด€๋ฆฌ๋Š” ๋ฐฐํฌ ํ”„๋กœ์„ธ์Šค๋ฅผ ๊ฐ„์†Œํ™”ํ•˜๊ณ  ์ž ์žฌ์  ์œ„ํ—˜์˜ ์‹๋ณ„ ๋ฐ ์™„ํ™”๋ฅผ ์ง€์›ํ•˜๋Š” ๋‹ค์–‘ํ•œ ๋‚ด์žฅ ๊ธฐ๋Šฅ๊ณผ ๋ฐฉ๋ฒ•๋ก ์„ ํ†ตํ•ด ์ด‰์ง„๋ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด AppMaster ์‚ฌ์šฉํ•˜๋ฉด ์‚ฌ์šฉ์ž๋Š” ๋ฐ์ดํ„ฐ ๋ชจ๋ธ, ๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง ๋ฐ API endpoints ์‹œ๊ฐ์ ์œผ๋กœ ์ƒ์„ฑํ•˜์—ฌ ๋ฐฐํฌ ํ”„๋กœ์„ธ์Šค์—์„œ ์ธ์  ์˜ค๋ฅ˜์™€ ๋ถˆ์ผ์น˜ ๊ฐ€๋Šฅ์„ฑ์„ ์ตœ์†Œํ™”ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ AppMaster ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์†Œ์Šค ์ฝ”๋“œ๋ฅผ ์ƒ์„ฑํ•˜๊ณ  ์ปดํŒŒ์ผ, ํ…Œ์ŠคํŠธ ๋ฐ Docker ์ปจํ…Œ์ด๋„ˆ๋กœ ํŒจํ‚ค์ง•์„ ์ฒ˜๋ฆฌํ•˜์—ฌ ์ผ๊ด€๋˜๊ณ  ์ž˜ ๊ตฌ์„ฑ๋œ ๋ฐฐํฌ ํ”„๋กœ์„ธ์Šค๋ฅผ ๋ณด์žฅํ•ฉ๋‹ˆ๋‹ค.

๋˜ํ•œ AppMaster ์ƒ์„ฑ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์€ ๋›ฐ์–ด๋‚œ ํ™•์žฅ์„ฑ๊ณผ ์„ฑ๋Šฅ์„ ์ œ๊ณตํ•˜๋„๋ก ์„ค๊ณ„๋˜์–ด ๊ด‘๋ฒ”์œ„ํ•œ ์‚ฌ์šฉ ์‚ฌ๋ก€์— ์ ํ•ฉํ•˜๊ณ  ์‹œ์Šคํ…œ ์ œํ•œ์ด๋‚˜ ๋น„ํšจ์œจ์„ฑ์œผ๋กœ ์ธํ•œ ๋ฐฐํฌ ๊ด€๋ จ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•  ๊ฐ€๋Šฅ์„ฑ์„ ์ค„์ž…๋‹ˆ๋‹ค. ๋˜ํ•œ AppMaster ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์€ ๋ชจ๋“  Postgres ํ˜ธํ™˜ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์™€ ํ†ตํ•ฉํ•  ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ํ˜ธํ™˜์„ฑ ๋ฌธ์ œ๋กœ ์ธํ•œ ๋ฐฐํฌ ์œ„ํ—˜์„ ๋”์šฑ ์ค„์ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋ณด์•ˆ ์ธก๋ฉด์—์„œ AppMaster ๋ชจ๋“  ํ”„๋กœ์ ํŠธ์— ๋Œ€ํ•ด Swagger ๋ฌธ์„œ ๋ฐ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์Šคํ‚ค๋งˆ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜ ์Šคํฌ๋ฆฝํŠธ๋ฅผ ์ž๋™์œผ๋กœ ์ƒ์„ฑํ•˜์—ฌ ์—…๊ณ„ ๋ชจ๋ฒ” ์‚ฌ๋ก€๋ฅผ ์ค€์ˆ˜ํ•˜๊ณ  ์‹ ์†ํ•œ ์žฌ์ƒ์„ฑ ํ”„๋กœ์„ธ์Šค๋ฅผ ์œ ์ง€ํ•จ์œผ๋กœ์จ ๊ธฐ์ˆ ์  ๋ถ€์ฑ„๋‚˜ ์˜ค๋ž˜๋œ ๋ณด์•ˆ ๊ด€ํ–‰์œผ๋กœ AppMaster ์œ„ํ—˜์ด ์—†๋„๋ก ๋ณด์žฅํ•ฉ๋‹ˆ๋‹ค. ์ด๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ตฌ์„ฑ ์š”์†Œ๊ฐ€ ์•ˆ์ „ํ•˜๊ณ  ์ตœ์‹  ์ƒํƒœ๋กœ ์œ ์ง€๋˜์–ด ์˜ค๋ž˜๋˜๊ฑฐ๋‚˜ ์•ˆ์ „ํ•˜์ง€ ์•Š์€ ๊ตฌ์„ฑ์œผ๋กœ ์ธํ•œ ์ž ์žฌ์ ์ธ ๋ฐฐํฌ ์œ„ํ—˜์„ ํšจ๊ณผ์ ์œผ๋กœ ์ค„์ธ๋‹ค๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค.

๊ถ๊ทน์ ์œผ๋กœ ๋ฐฐํฌ ์œ„ํ—˜ ๊ด€๋ฆฌ๋Š” ์†Œํ”„ํŠธ์›จ์–ด ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ด ํ†ต์ œ๋˜๊ณ  ์•ˆ์ „ํ•˜๋ฉฐ ํšจ์œจ์ ์ธ ๋ฐฉ์‹์œผ๋กœ ๋ฐฐํฌ๋˜๋„๋ก ๋ณด์žฅํ•˜๋Š” ๋ฐ ํ•„์ˆ˜์ ์ž…๋‹ˆ๋‹ค. ๋ฐฐํฌ ํ”„๋กœ์„ธ์Šค์— ๋Œ€ํ•œ ๊ตฌ์กฐํ™”๋œ ์ ‘๊ทผ ๋ฐฉ์‹์„ ์ฑ„ํƒํ•˜๊ณ , ํฌ๊ด„์ ์ธ ์œ„ํ—˜ ํ‰๊ฐ€ ๋ฐ ์™„ํ™” ์ „๋žต์„ ํ™œ์šฉํ•˜๊ณ , AppMaster ์™€ ๊ฐ™์€ ์—…๊ณ„ ๋ชจ๋ฒ” ์‚ฌ๋ก€ ๋ฐ ํ”Œ๋žซํผ์„ ํ™œ์šฉํ•จ์œผ๋กœ์จ ์กฐ์ง์€ ์†Œํ”„ํŠธ์›จ์–ด ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋ฐฐํฌ์™€ ๊ด€๋ จ๋œ ์ž ์žฌ์  ์œ„ํ—˜์„ ์ตœ์†Œํ™”ํ•˜์—ฌ ๋ณด๋‹ค ๊ธ์ •์ ์ด๊ณ  ์•ˆ์ „ํ•œ ์‚ฌ์šฉ์ž๋ฅผ ๋ณด์žฅํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ „๋ฐ˜์ ์ธ ์‹œ์Šคํ…œ๊ณผ ๋น„์ฆˆ๋‹ˆ์Šค ์šด์˜์„ ๋ณดํ˜ธํ•˜๋ฉด์„œ ๊ฒฝํ—˜์„ ์Œ“์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.