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

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

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

์„ฑ๊ณต์ ์ธ API ํ†ตํ•ฉ์—๋Š” ์ผ๋ฐ˜์ ์œผ๋กœ ๋‹ค์Œ ๋‹จ๊ณ„๊ฐ€ ํฌํ•จ๋ฉ๋‹ˆ๋‹ค.

  1. API ๊ฒ€์ƒ‰ ๋ฐ ํ‰๊ฐ€: ํ†ตํ•ฉํ•ด์•ผ ํ•˜๋Š” ์†Œํ”„ํŠธ์›จ์–ด ๊ตฌ์„ฑ ์š”์†Œ์™€ ๊ด€๋ จ๋œ API๋ฅผ ์‹๋ณ„ํ•˜๊ณ  ๊ธฐ๋Šฅ, ๋ณด์•ˆ ๋ฐ ์„ฑ๋Šฅ์— ๋Œ€ํ•œ ์ฒ ์ €ํ•œ ํ‰๊ฐ€๋ฅผ ์ˆ˜ํ–‰ํ•˜์—ฌ ํ†ตํ•ฉ ์š”๊ตฌ ์‚ฌํ•ญ ๋ฐ ๋ณด์žฅ์„ ์ถฉ์กฑํ•˜๋Š”์ง€ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.
  2. ์•ก์„ธ์Šค ์ œ์–ด ๋ฐ ์ธ์ฆ: ํ†ตํ•ฉ API์— ๋Œ€ํ•œ ์•ก์„ธ์Šค๋ฅผ ์ œ์–ดํ•˜๊ณ  ๋ฌด๋‹จ ์‚ฌ์šฉ์œผ๋กœ๋ถ€ํ„ฐ endpoints ๋ณดํ˜ธํ•˜๊ธฐ ์œ„ํ•ด OAuth ๋ฐ API ํ‚ค์™€ ๊ฐ™์€ ํ•„์ˆ˜ ์ธ์ฆ ๋ฐ ๊ถŒํ•œ ๋ถ€์—ฌ ๋ฉ”์ปค๋‹ˆ์ฆ˜์„ ๊ตฌํ˜„ํ•ฉ๋‹ˆ๋‹ค.
  3. ๋ฐ์ดํ„ฐ ๋ณ€ํ™˜ ๋ฐ ๋งคํ•‘: ํ†ตํ•ฉ API์™€ ํ•ด๋‹น ์†Œํ”„ํŠธ์›จ์–ด ๊ตฌ์„ฑ ์š”์†Œ ๊ฐ„์— ๋ฐ์ดํ„ฐ ํ˜•์‹๊ณผ ๋ชจ๋ธ์„ ๋ณ€ํ™˜ํ•˜์—ฌ ์›ํ™œํ•œ ๋ฐ์ดํ„ฐ ๊ตํ™˜ ๋ฐ ํ†ต์‹ ์„ ์ด‰์ง„ํ•ฉ๋‹ˆ๋‹ค.
  4. ์˜ค๋ฅ˜ ์ฒ˜๋ฆฌ ๋ฐ ๋ณต์›๋ ฅ: ํ†ตํ•ฉ ํ”„๋กœ์„ธ์Šค ์ค‘์— ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ๋Š” ์˜ค๋ฅ˜, ์‹œ๊ฐ„ ์ดˆ๊ณผ ๋ฐ ๊ธฐํƒ€ ์ž ์žฌ์  ๋ฌธ์ œ์— ๋Œ€ํ•ด ํ†ตํ•ฉ API ์—ฐ๊ฒฐ์˜ ๋ณต์›๋ ฅ์„ ๋ณด์žฅํ•˜๊ธฐ ์œ„ํ•ด ๊ฐ•๋ ฅํ•œ ์˜ค๋ฅ˜ ์ฒ˜๋ฆฌ ๋ฐ ์žฌ์‹œ๋„ ๋ฉ”์ปค๋‹ˆ์ฆ˜์„ ๊ตฌํ˜„ํ•ฉ๋‹ˆ๋‹ค.
  5. ๋ชจ๋‹ˆํ„ฐ๋ง ๋ฐ ๊ด€๋ฆฌ: ํ†ตํ•ฉ API์˜ ์„ฑ๋Šฅ, ๊ฐ€์šฉ์„ฑ ๋ฐ ์‚ฌ์šฉ๋Ÿ‰์„ ์ง€์†์ ์œผ๋กœ ๋ชจ๋‹ˆํ„ฐ๋งํ•˜๊ณ  API ํ†ตํ•ฉ์˜ ์ „๋ฐ˜์ ์ธ ์ƒํƒœ์™€ ํšจ์œจ์„ฑ์„ ์ถ”์ ํ•˜๊ณ  ๋ถ„์„ํ•˜๋Š” ๊ด€๋ฆฌ ๋„๊ตฌ๋ฅผ ๊ตฌํ˜„ํ•ฉ๋‹ˆ๋‹ค.

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

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

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