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

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

์ผ๋Œ€๋‹ค(1:M) ๊ด€๊ณ„๋Š” ํ•œ ํ…Œ์ด๋ธ”์˜ ์—”ํ„ฐํ‹ฐ๊ฐ€ ๋‹ค๋ฅธ ํ…Œ์ด๋ธ”์˜ ์—ฌ๋Ÿฌ ์—”ํ„ฐํ‹ฐ์™€ ์—ฐ๊ฒฐ๋  ์ˆ˜ ์žˆ๊ณ  ๋‘ ๋ฒˆ์งธ ํ…Œ์ด๋ธ”์˜ ๊ฐ ์—”ํ„ฐํ‹ฐ๋Š” ์ฒซ ๋ฒˆ์งธ ํ…Œ์ด๋ธ”์˜ ์—”ํ„ฐํ‹ฐ ํ•˜๋‚˜๋งŒ ์—ฐ๊ฒฐ๋  ๋•Œ ์กด์žฌํ•ฉ๋‹ˆ๋‹ค. ๋‹จ์ผ ๊ณ ๊ฐ์ด ์—ฌ๋Ÿฌ ์ฃผ๋ฌธ์„ ๊ฐ€์งˆ ์ˆ˜ ์žˆ์ง€๋งŒ ๊ฐ ์ฃผ๋ฌธ์€ ๋‹จ ํ•œ ๋ช…์˜ ๊ณ ๊ฐ๊ณผ๋งŒ ์—ฐ๊ด€๋˜๋Š” ์ฃผ๋ฌธ ๊ด€๋ฆฌ ์‹œ์Šคํ…œ์„ ์ƒ๊ฐํ•ด ๋ณด์„ธ์š”. ์ด๋Ÿฌํ•œ ์œ ํ˜•์˜ ์นด๋””๋„๋ฆฌํ‹ฐ๋Š” ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์„ค๊ณ„์—์„œ ์ž์ฃผ ๋ฐœ์ƒํ•˜๋ฉฐ "๋‹ค" ํ…Œ์ด๋ธ”์˜ ํ•˜์œ„ ๋ ˆ์ฝ”๋“œ๋ฅผ "์ผ" ํ…Œ์ด๋ธ”์˜ ํ•ด๋‹น ์ƒ์œ„ ๋ ˆ์ฝ”๋“œ์— ์—ฐ๊ฒฐํ•˜๋Š” ์™ธ๋ž˜ ํ‚ค ์ œ์•ฝ ์กฐ๊ฑด์„ ์‚ฌ์šฉํ•˜์—ฌ AppMaster ์—์„œ ์ ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋‹ค๋Œ€๋‹ค(M:N) ๊ด€๊ณ„๋Š” ํ•œ ํ…Œ์ด๋ธ”์˜ ์—ฌ๋Ÿฌ ์—”ํ„ฐํ‹ฐ๊ฐ€ ๋‹ค๋ฅธ ํ…Œ์ด๋ธ”์˜ ์—ฌ๋Ÿฌ ์—”ํ„ฐํ‹ฐ์™€ ์—ฐ๊ฒฐ๋˜๋ฏ€๋กœ ๋” ๋ณต์žกํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, ๊ต์œก ๊ด€๋ฆฌ ์‹œ์Šคํ…œ์—์„œ ํ•™์ƒ์€ ์—ฌ๋Ÿฌ ๊ฐ•์ขŒ์— ๋“ฑ๋กํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ ๊ฐ ๊ฐ•์ขŒ์—๋Š” ์—ฌ๋Ÿฌ ๋ช…์˜ ํ•™์ƒ์ด ์žˆ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ์œ ํ˜•์˜ ์นด๋””๋„๋ฆฌํ‹ฐ์—๋Š” ๋‘ ๊ด€๋ จ ํ…Œ์ด๋ธ”์˜ ์™ธ๋ž˜ ํ‚ค๋ฅผ ๋ณด์œ ํ•˜์—ฌ ๋‹ค๋Œ€๋‹ค ๊ด€๊ณ„๋ฅผ ๋‘ ๊ฐœ์˜ ์ผ๋Œ€๋‹ค ๊ด€๊ณ„๋กœ ํšจ๊ณผ์ ์œผ๋กœ ๋ถ„๋ฆฌํ•˜๋Š” "์ ‘ํ•ฉ" ๋˜๋Š” "๋งํฌ" ํ…Œ์ด๋ธ”์ด๋ผ๊ณ  ํ•˜๋Š” ์ค‘๊ฐ„ ํ…Œ์ด๋ธ”์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. AppMaster ์—์„œ๋Š” ์ด ์ค‘๊ฐ„ ํ…Œ์ด๋ธ”์„ ์‹œ๊ฐ์ ์œผ๋กœ ์ƒ์„ฑํ•˜์—ฌ ๊ฐ•๋ ฅํ•œ ๋‹ค๋Œ€๋‹ค ๊ด€๊ณ„ ์„ค์ •์„ ์ด‰์ง„ํ•˜๊ณ  ๋ฐ์ดํ„ฐ ๋ฌด๊ฒฐ์„ฑ์„ ๋ณด์žฅํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

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

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

AppMaster Go(golang)๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๋ฐฑ์—”๋“œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜, Vue3 ํ”„๋ ˆ์ž„์›Œํฌ ๋ฐ JS/TS๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜, Android์šฉ Kotlin ๋ฐ Jetpack Compose ์™€ IOS์šฉ SwiftUI ๊ธฐ๋ฐ˜์˜ ์„œ๋ฒ„ ๊ธฐ๋ฐ˜ ํ”„๋ ˆ์ž„์›Œํฌ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๋ชจ๋ฐ”์ผ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ํฌํ•จํ•œ ๋‹ค์–‘ํ•œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ์†Œ์Šค ์ฝ”๋“œ๋ฅผ ์ƒ์„ฑํ•˜๋ฏ€๋กœ ๋‹ค์–‘ํ•œ ํ”Œ๋žซํผ์—์„œ ์ตœ์ ์˜ ์„ฑ๋Šฅ์„ ๋ณด์žฅํ•˜๋ ค๋ฉด ์นด๋””๋„๋ฆฌํ‹ฐ ๊ด€๊ณ„๋ฅผ ์˜ฌ๋ฐ”๋ฅด๊ฒŒ ํ‘œํ˜„ํ•˜๋Š” ๊ฒƒ์ด ์ค‘์š”ํ•ฉ๋‹ˆ๋‹ค. ๋˜ํ•œ ์„œ๋ฒ„ endpoints ๋ฐ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์Šคํ‚ค๋งˆ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜ ์Šคํฌ๋ฆฝํŠธ๋ฅผ ์œ„ํ•œ AppMaster ์˜ Swagger(OpenAPI) ๋ฌธ์„œ ์ƒ์„ฑ์€ ์ ์ ˆํ•˜๊ฒŒ ์ •์˜๋œ ์นด๋””๋„๋ฆฌํ‹ฐ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ƒ์„ฑ๋œ ์ฝ”๋“œ ๋ฐ ๋ฌธ์„œ์˜ ์ผ๊ด€์„ฑ๊ณผ ๋ฌด๊ฒฐ์„ฑ์„ ์œ ์ง€ํ•ฉ๋‹ˆ๋‹ค.

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