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

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

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

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

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

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

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

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

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