2025๋…„ 5์›” 18์ผยท6๋ถ„ ์ฝ๊ธฐ

๋‚ด๋ถ€ ๋„๊ตฌ์šฉ ๊ถŒํ•œ ๋งคํŠธ๋ฆญ์Šค ์„ค๊ณ„: ์—ญํ• ๊ณผ ๋ฒ”์œ„

๊ถŒํ•œ ๋งคํŠธ๋ฆญ์Šค ์„ค๊ณ„๋Š” ํ™”๋ฉด๊ณผ API๋ฅผ ๋งŒ๋“ค๊ธฐ ์ „์— ์—ญํ• , ๋ฒ”์œ„, ์˜ˆ์™ธ๋ฅผ ์ •๋ฆฌํ•ด ์žฌ์ž‘์—…๊ณผ ์ ‘๊ทผ ์‹ค์ˆ˜๋ฅผ ์ค„์—ฌ์ค๋‹ˆ๋‹ค.

๋‚ด๋ถ€ ๋„๊ตฌ์šฉ ๊ถŒํ•œ ๋งคํŠธ๋ฆญ์Šค ์„ค๊ณ„: ์—ญํ• ๊ณผ ๋ฒ”์œ„

๊ถŒํ•œ ๋งคํŠธ๋ฆญ์Šค๊ฐ€ ํ•ด๊ฒฐํ•˜๋Š” ๋ฌธ์ œ

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

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

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

๊ถŒํ•œ ๋งคํŠธ๋ฆญ์Šค ์„ค๊ณ„๋Š” ๋ˆ„๊ฐ€ ์–ด๋–ค ๋ฐ์ดํ„ฐ์— ์–ด๋–ค ์กฐ๊ฑด์œผ๋กœ ๋ฌด์—‡์„ ํ•  ์ˆ˜ ์žˆ๋Š”์ง€์— ๋Œ€ํ•œ ๋‹จ์ผ ๊ณต์œ  ์ง€๋„๋ฅผ ๋งŒ๋“ญ๋‹ˆ๋‹ค. ์ด ๋งคํŠธ๋ฆญ์Šค๋Š” UI ๊ฒฐ์ •์„ ์œ„ํ•œ ์ง„์‹ค์˜ ๊ทผ์›(์–ด๋–ค ํ™”๋ฉดยท๋ฒ„ํŠผยทํ•„๋“œ๋ฅผ ๋ณด์—ฌ์ค„์ง€)์ด๋ฉฐ ๋ฐฑ์—”๋“œ ๊ฒฐ์ •(์‚ฌ์šฉ์ž๊ฐ€ UI๋ฅผ ์šฐํšŒํ•˜๋”๋ผ๋„ ์„œ๋ฒ„๊ฐ€ ์‹ค์ œ๋กœ ํ—ˆ์šฉํ•˜๋Š” ๊ฒƒ)์˜ ๊ทผ๊ฑฐ๊ฐ€ ๋ฉ๋‹ˆ๋‹ค.

์ด๋Š” ๊ฐœ๋ฐœ์ž ์ „์šฉ ๋ฌธ์„œ๊ฐ€ ์•„๋‹™๋‹ˆ๋‹ค. ์ข‹์€ ๋งคํŠธ๋ฆญ์Šค๋Š” ์ œํ’ˆ, ์šด์˜, ๊ฐœ๋ฐœ์ž๊ฐ€ ํ•จ๊ป˜ ํ•ฉ์˜ํ•  ์ˆ˜ ์žˆ๋Š” ์‹ค๋ฌด ๋ฌธ์„œ์ž…๋‹ˆ๋‹ค. AppMaster ๊ฐ™์€ ๋…ธ์ฝ”๋“œ ํ”Œ๋žซํผ์œผ๋กœ ๋นŒ๋“œํ•  ๋•Œ๋„ ๋งคํŠธ๋ฆญ์Šค๋Š” ํ•„์ˆ˜์ ์ž…๋‹ˆ๋‹ค. ์—ญํ• ์„ ์„ค์ •ํ•˜๊ณ , ๋ฆฌ์†Œ์Šค๋ฅผ ์ •์˜ํ•˜๋ฉฐ, ์‹œ๊ฐ์  ํ™”๋ฉด๊ณผ ์ƒ์„ฑ๋œ ์—”๋“œํฌ์ธํŠธ๋ฅผ ์ผ์น˜์‹œํ‚ค๋Š” ์ง€์นจ์ด ๋ฉ๋‹ˆ๋‹ค.

๊ฐ„๋‹จํ•œ ๋งคํŠธ๋ฆญ์Šค๋Š” ๋‹ค์Œ์„ ๋•์Šต๋‹ˆ๋‹ค:

  • ๋นŒ๋“œ ์ „์— ๊ทœ์น™์„ ๋ช…ํ™•ํžˆ ํ•จ
  • ํŠน์ˆ˜ ์‚ฌ๋ก€๋กœ ์ธํ•œ ํ˜ผ๋ž€ ๊ฐ์†Œ
  • UI์™€ API ๊ถŒํ•œ ์ •ํ•ฉ์„ฑ ์œ ์ง€
  • ์ถ”ํ›„ ์•ก์„ธ์Šค ๋ณ€๊ฒฝ์„ ์ถ”์  ๊ฐ€๋Šฅํ•˜๊ฒŒ ํ•จ

ํ•ต์‹ฌ ์šฉ์–ด: ์—ญํ• (roles), ๋ฆฌ์†Œ์Šค(resources), ์•ก์…˜(actions), ๋ฒ”์œ„(scopes), ์˜ˆ์™ธ(exceptions)

์ข‹์€ ๊ถŒํ•œ ๋งคํŠธ๋ฆญ์Šค ์„ค๊ณ„๋Š” ๊ณตํ†ต๋œ ์šฉ์–ด์—์„œ ์‹œ์ž‘ํ•ฉ๋‹ˆ๋‹ค. ํŒ€์ด ์ด ์šฉ์–ด๋“ค์„ ๋™์ผํ•˜๊ฒŒ ์‚ฌ์šฉํ•˜๋ฉด ๋‚˜์ค‘์— ๊ทœ์น™์ด ๋ณต์žกํ•ด์ง€๋Š” ๊ฒƒ์„ ํ”ผํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

A role(์—ญํ• ) ์€ ๋ณดํ†ต ๊ฐ™์€ ์ ‘๊ทผ์ด ํ•„์š”ํ•œ ์‚ฌ๋žŒ๋“ค์˜ ์ง๋ฌด ๊ธฐ๋ฐ˜ ๊ทธ๋ฃน์ž…๋‹ˆ๋‹ค. Support, Finance, Ops, Manager ๋“ฑ์ด ์˜ˆ์‹œ์ž…๋‹ˆ๋‹ค. ์—ญํ• ์€ ๋ˆ„๊ตฐ๊ฐ€์˜ ์ง๊ธ‰๋ณด๋‹ค๋Š” ์ผ์ƒ ์—…๋ฌด๋ฅผ ์„ค๋ช…ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ํ•œ ์‚ฌ๋žŒ์ด ์—ฌ๋Ÿฌ ์—ญํ• ์„ ๊ฐ€์งˆ ์ˆ˜ ์žˆ์ง€๋งŒ ๋“œ๋ฌผ๊ฒŒ ์œ ์ง€ํ•˜์„ธ์š”.

A resource(๋ฆฌ์†Œ์Šค) ๋Š” ๋ณดํ˜ธํ•˜๋ ค๋Š” ๋Œ€์ƒ์ž…๋‹ˆ๋‹ค. ๋‚ด๋ถ€ ๋„๊ตฌ์—์„œ๋Š” ๊ณ ๊ฐ, ํ‹ฐ์ผ“, ์„ธ๊ธˆ๊ณ„์‚ฐ์„œ, ๋ฆฌํฌํŠธ, ํ†ตํ•ฉ, ์„ค์ • ๋“ฑ์ด ํ”ํ•œ ๋ฆฌ์†Œ์Šค์ž…๋‹ˆ๋‹ค. ๋ฆฌ์†Œ์Šค๋Š” ๋ช…์‚ฌ๋กœ ์ด๋ฆ„์„ ๋ถ™์ด์„ธ์š”. ์ด๋ ‡๊ฒŒ ํ•˜๋ฉด ๊ทœ์น™์„ ํ™”๋ฉด๊ณผ API ์—”๋“œํฌ์ธํŠธ๋กœ ์˜ฎ๊ธธ ๋•Œ ๋„์›€์ด ๋ฉ๋‹ˆ๋‹ค.

An action(์•ก์…˜) ์€ ๋ฆฌ์†Œ์Šค์— ๋Œ€ํ•ด ๋ˆ„๊ตฐ๊ฐ€๊ฐ€ ํ•  ์ˆ˜ ์žˆ๋Š” ๋™์ž‘์ž…๋‹ˆ๋‹ค. ๋™์‚ฌ๋ฅผ ์ผ๊ด€๋˜๊ฒŒ ์œ ์ง€ํ•˜๋ฉด ๋งคํŠธ๋ฆญ์Šค๊ฐ€ ์ฝ๊ธฐ ์‰ฌ์›Œ์ง‘๋‹ˆ๋‹ค. ์ผ๋ฐ˜์ ์ธ ์•ก์…˜์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค:

  • view
  • create
  • edit
  • delete
  • approve
  • export

A scope(๋ฒ”์œ„) ๋Š” โ€œ์–ด๋–ค ๋ ˆ์ฝ”๋“œ์ธ๊ฐ€?โ€์— ๋‹ตํ•ฉ๋‹ˆ๋‹ค. ๋ฒ”์œ„๋Š” ์ถ”๊ฐ€ ์—ญํ• ์„ ๋งŒ๋“ค์ง€ ์•Š๊ณ  ์•ˆ์ „ํ•œ ์ ‘๊ทผ๊ณผ ์œ„ํ—˜ํ•œ ์ ‘๊ทผ์„ ๊ตฌ๋ถ„ํ•ฉ๋‹ˆ๋‹ค. ํ”ํ•œ ๋ฒ”์œ„๋Š”:

  • own (๋ณธ์ธ์ด ์ƒ์„ฑํ–ˆ๊ฑฐ๋‚˜ ํ• ๋‹น๋œ ๋ ˆ์ฝ”๋“œ)
  • team (์†Œ์† ํŒ€)
  • region (์ง€์—ญ)
  • all (๋ชจ๋“  ๊ฒƒ)

An exception(์˜ˆ์™ธ) ์€ ์ •์ƒ์ ์ธ ์—ญํ• ยท๋ฒ”์œ„ ๊ทœ์น™์„ ๊นจ๋Š” ์˜ค๋ฒ„๋ผ์ด๋“œ์ž…๋‹ˆ๋‹ค. ์˜ˆ์™ธ๋Š” ์ž„์‹œ(๊ต๋Œ€ ๊ทผ๋ฌด๋ฅผ ์ปค๋ฒ„), ์‚ฌ์šฉ์ž๋ณ„(ํŠน์ • ์ „๋ฌธ๊ฐ€๊ฐ€ ํ•˜๋‚˜์˜ ์ถ”๊ฐ€ ์•ก์…˜ ํ•„์š”), ๋ ˆ์ฝ”๋“œ๋ณ„(ํŠน์ • VIP ๊ณ ๊ฐ ๋ ˆ์ฝ”๋“œ ์ฐจ๋‹จ)์ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์˜ˆ์™ธ๋Š” ํ†ต์ œ๋œ ๋ถ€์ฑ„๋กœ ์ทจ๊ธ‰ํ•˜์„ธ์š”: ๋ˆ„๊ฐ€ ์Šน์ธํ–ˆ๋Š”์ง€, ์™œ ํ•„์š”ํ•œ์ง€, ์–ธ์ œ ๋งŒ๋ฃŒ๋˜๋Š”์ง€ ๊ธฐ๋กํ•˜์‹ญ์‹œ์˜ค.

์˜ˆ์‹œ: Support ๋‹ด๋‹น์ž๋Š” ๋ฒ”์œ„ "team"์œผ๋กœ "ํ‹ฐ์ผ“ ๋ณด๊ธฐ" ๊ถŒํ•œ์€ ์žˆ์ง€๋งŒ, ํ•œ ์‚ฌ๊ฑด ์กฐ์‚ฌ ๋•Œ๋ฌธ์— ๋‹จ๊ธฐ๊ฐ„ "ํ‹ฐ์ผ“ ๋‚ด๋ณด๋‚ด๊ธฐ" ์˜ˆ์™ธ๋ฅผ ๋ฐ›์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. AppMaster๋กœ ๋งŒ๋“  ๋„๊ตฌ์—์„œ๋Š” ์—ญํ• ยท๋ฆฌ์†Œ์Šคยท์•ก์…˜ยท๋ฒ”์œ„๋ฅผ ์ฒ˜์Œ๋ถ€ํ„ฐ ์ผ๊ด€๋˜๊ฒŒ ์ด๋ฆ„ ์ง€์œผ๋ฉด ์ด๋Ÿฐ ๊ทœ์น™์„ ์œ ์ง€ํ•˜๊ธฐ๊ฐ€ ํ›จ์”ฌ ์‰ฌ์›Œ์ง‘๋‹ˆ๋‹ค.

๋งคํŠธ๋ฆญ์Šค๋ฅผ ๊ทธ๋ฆฌ๊ธฐ ์ „์— ๋‚ด๋ ค์•ผ ํ•  ๊ฒฐ์ •๋“ค

๋จผ์ € ๋ฌด์—‡์„ ๋ณดํ˜ธํ•˜๋Š”์ง€ ํ•ฉ์˜ํ•˜์„ธ์š”. ๋‚ด๋ถ€ ๋„๊ตฌ์˜ ์˜์—ญ์„ ํ™”๋ฉด์ด ์•„๋‹ˆ๋ผ ๋ฆฌ์†Œ์Šค๋กœ ๋‚˜์—ดํ•˜์„ธ์š”. ํ•˜๋‚˜์˜ ํ™”๋ฉด์— "์ฃผ๋ฌธ(Orders)", "ํ™˜๋ถˆ(Refunds)", "๊ณ ๊ฐ(Customers)"์ด ๊ฐ™์ด ๋ณด์—ฌ๋„, ๊ฐ ํ•ญ๋ชฉ์€ ์„œ๋กœ ๋‹ค๋ฅธ ๋ฆฌ์†Œ์Šค์ด๋ฉฐ ์œ„ํ—˜๋„๊ฐ€ ๋‹ค๋ฆ…๋‹ˆ๋‹ค.

๊ถŒํ•œ์„ ์“ฐ๊ธฐ ์ „์— ์•ก์…˜ ๋™์‚ฌ ํ‘œ์ค€์„ ์ •ํ•˜์„ธ์š”. ์ž‘์€ ๋‹จ์–ด ์ฐจ์ด๊ฐ€ ๋‚˜์ค‘์— ์ค‘๋ณต ๊ทœ์น™์„ ๋งŒ๋“ญ๋‹ˆ๋‹ค(์˜ˆ: edit vs update, remove vs delete, view vs read). ์งง๊ณ  ๊ณตํ†ต๋œ ์ง‘ํ•ฉ์„ ๊ณจ๋ผ ๋ชจ๋“  ๋ฆฌ์†Œ์Šค์— ์ผ๊ด€๋˜๊ฒŒ ์‚ฌ์šฉํ•˜์„ธ์š”. ๋Œ€๋ถ€๋ถ„์˜ ๋‚ด๋ถ€ ๋„๊ตฌ์—๋Š” view, create, update, delete, approve, export ๊ฐ™์€ ๊ฐ„๋‹จํ•œ ์ง‘ํ•ฉ์ด ์ถฉ๋ถ„ํ•ฉ๋‹ˆ๋‹ค.

๋ฒ”์œ„๋Š” ํšŒ์‚ฌ์˜ ๊ตฌ์กฐ์™€ ๋งž์•„์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๋„ˆ๋ฌด ๋งŽ์€ ๋ฒ”์œ„๋Š” ๋งคํŠธ๋ฆญ์Šค๋ฅผ ์ฝ๊ธฐ ์–ด๋ ต๊ฒŒ ํ•˜๊ณ , ๋„ˆ๋ฌด ์ ์œผ๋ฉด ์˜ˆ์™ธ๊ฐ€ ๋Š˜์–ด๋‚ฉ๋‹ˆ๋‹ค. ์กฐ์ง ๊ตฌ์กฐ์— ๋งž๋Š” ์ž‘์€ ์ง‘ํ•ฉ์„ ๋ชฉํ‘œ๋กœ ํ•˜์„ธ์š”. ์˜ˆ:

  • own (๋ณธ์ธ์ด ์ƒ์„ฑํ•œ ๋ ˆ์ฝ”๋“œ)
  • team (ํŒ€ ๋ ˆ์ฝ”๋“œ)
  • location (์ง€์  ๋˜๋Š” ์ง€์—ญ)
  • all (๋ชจ๋“  ๋ ˆ์ฝ”๋“œ)
  • none (์ ‘๊ทผ ๋ถˆ๊ฐ€)

๋˜ํ•œ "์—†์Œ(no)"์— ๋Œ€ํ•œ ๋ช…ํ™•ํ•œ ๊ทœ์น™์„ ๊ฒฐ์ •ํ•˜์„ธ์š”. ๋ช…์‹œ์ ์œผ๋กœ ๊ธˆ์ง€ํ•  ๊ฒƒ์ธ์ง€, ์•”๋ฌต์ ์œผ๋กœ ๊ฑฐ๋ถ€ํ•  ๊ฒƒ์ธ์ง€ ์ •ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๋ช…์‹œ์  ํ—ˆ๊ฐ€ ์™ธ์—๋Š” ๊ฑฐ๋ถ€(implicit deny)๋Š” ๋” ์•ˆ์ „ํ•˜๊ณ  ๋‹จ์ˆœํ•ฉ๋‹ˆ๋‹ค. ๋ฐ˜๋ฉด ๊ด‘๋ฒ”์œ„ํ•œ ์ ‘๊ทผ์ด ํ•„์š”ํ•œ ์ƒํ™ฉ์—์„œ๋Š” ํŠน์ • ์•ก์…˜์„ ๋ช…์‹œ์ ์œผ๋กœ ๊ธˆ์ง€(explicit forbid)ํ•˜๋Š” ๊ฒƒ์ด ์œ ์šฉํ•ฉ๋‹ˆ๋‹ค(์˜ˆ: "Finance๋Š” ๋ชจ๋“  ์„ธ๊ธˆ๊ณ„์‚ฐ์„œ์— ์ ‘๊ทผํ•˜์ง€๋งŒ ์‚ญ์ œ๋Š” ๊ธˆ์ง€").

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

AppMaster๋กœ ๋นŒ๋“œํ•˜๋ฉด ์ด๋Ÿฌํ•œ ๊ฒฐ์ •์€ ์ดํ›„ ๋ฐฑ์—”๋“œ ์—”๋“œํฌ์ธํŠธ์™€ Business Process ๋กœ์ง์— ๊น”๋”ํ•˜๊ฒŒ ๋งคํ•‘๋˜์ง€๋งŒ, ๋จผ์ € ๋งคํŠธ๋ฆญ์Šค๊ฐ€ ๋ช…ํ™•ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

๋‹จ๊ณ„๋ณ„: ๊ถŒํ•œ ๋งคํŠธ๋ฆญ์Šค๋ฅผ ์ฒ˜์Œ๋ถ€ํ„ฐ ๋งŒ๋“œ๋Š” ๋ฐฉ๋ฒ•

์‚ฌ๋žŒ๋“ค์ด ํ•˜๋Š” ์ผ(์—…๋ฌด)์—์„œ ์‹œ์ž‘ํ•˜์„ธ์š”. ํ™”๋ฉด์œผ๋กœ ์‹œ์ž‘ํ•˜๋ฉด ์˜ค๋Š˜์˜ UI๋ฅผ ๋ณต์ œํ•˜๊ฒŒ ๋˜๊ณ  ์‹ค์ œ ๊ทœ์น™(์˜ˆ: ๋ˆ„๊ฐ€ ํ™˜๋ถˆ์„ ์Šน์ธํ•  ์ˆ˜ ์žˆ๋Š”์ง€, ๋˜๋Š” ๋ฝ๋œ ๊ณ ๊ฐ ๋ ˆ์ฝ”๋“œ๋ฅผ ๋ˆ„๊ฐ€ ํŽธ์ง‘ํ•  ์ˆ˜ ์žˆ๋Š”์ง€)์„ ๋†“์น˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.

๊ถŒํ•œ ๋งคํŠธ๋ฆญ์Šค ์„ค๊ณ„๋Š” ์ž‘์—…์„ ์ ‘๊ทผ์œผ๋กœ ๋งคํ•‘ํ•œ ์ง€๋„์ฒ˜๋Ÿผ ๋‹ค๋ฃจ๊ณ , ๊ทธ ํ›„ ์•ฑ์œผ๋กœ ์ „ํ™˜ํ•˜๋Š” ๋ฐฉ์‹์ด ์‹ค์šฉ์ ์ž…๋‹ˆ๋‹ค.

์‹ค๋ฌด์  ๊ตฌ์ถ• ์ˆœ์„œ

  1. ์—…๋ฌด๋ฅผ ํ‰์ดํ•œ ์–ธ์–ด๋กœ ๋‚˜์—ดํ•˜์„ธ์š”. ์˜ˆ: "ํ™˜๋ถˆ ์ฒ˜๋ฆฌํ•˜๊ธฐ", "๊ณ ๊ฐ ์ด๋ฉ”์ผ ๋ณ€๊ฒฝ", "์ง€๋‚œ๋‹ฌ ์„ธ๊ธˆ๊ณ„์‚ฐ์„œ ๋‚ด๋ณด๋‚ด๊ธฐ". ์งง๊ณ  ํ˜„์‹ค์ ์œผ๋กœ ์ ์œผ์„ธ์š”.

  2. ์—…๋ฌด๋ฅผ ๋ฆฌ์†Œ์Šค์™€ ์•ก์…˜์œผ๋กœ ๋ฐ”๊พธ์„ธ์š”. ๋ฆฌ์†Œ์Šค๋Š” ๋ช…์‚ฌ(Invoice, Ticket, Customer), ์•ก์…˜์€ ๋™์‚ฌ(view, create, edit, approve, export). ๊ฐ ๋ฆฌ์†Œ์Šค์— ๋Œ€ํ•œ ์˜ค๋„ˆ(์˜ˆ์™ธ์™€ ๊ฒฝ๊ณ„ ์‚ฌ๋ก€๋ฅผ ์„ค๋ช…ํ•  ์ˆ˜ ์žˆ๋Š” ๋‹ด๋‹น์ž)๋ฅผ ์ง€์ •ํ•˜์„ธ์š”.

  3. ์•ˆ์ •์ ์ธ ํŒ€์„ ๊ธฐ๋ฐ˜์œผ๋กœ ์—ญํ• ์„ ์ •์˜ํ•˜์„ธ์š”. Support, Finance, Operations, Team Lead ๊ฐ™์€ ๊ทธ๋ฃน์„ ์‚ฌ์šฉํ•˜์„ธ์š”. ์ง๊ธ‰(Senior, Junior)์ฒ˜๋Ÿผ ์ž์ฃผ ๋ฐ”๋€Œ๋Š” ์ด๋ฆ„์€ ๊ฐ€๋Šฅํ•œ ํ”ผํ•˜์„ธ์š”.

  4. ๊ฐ ์—ญํ• ์ด ์—…๋ฌด๋ฅผ ์™„๋ฃŒํ•˜๋Š” ๋ฐ ํ•„์š”ํ•œ ์ตœ์†Œ ์ ‘๊ทผ์„ ๋งคํŠธ๋ฆญ์Šค์— ๊ธฐ์ž…ํ•˜์„ธ์š”. ์˜ˆ๋ฅผ ๋“ค์–ด Support๋Š” ์งˆ๋ฌธ ์‘๋Œ€๋ฅผ ์œ„ํ•ด ์„ธ๊ธˆ๊ณ„์‚ฐ์„œ๋งŒ ๋ณผ ํ•„์š”๊ฐ€ ์žˆ๋‹ค๋ฉด ๊ธฐ๋ณธ์ ์œผ๋กœ "export" ๊ถŒํ•œ์„ ์ฃผ์ง€ ๋งˆ์„ธ์š”. ๊ถŒํ•œ์„ ์ถ”๊ฐ€ํ•˜๋Š” ๊ฑด ๋‚˜์ค‘์— ๊ฐ€๋Šฅํ•˜์ง€๋งŒ, ์ œ๊ฑฐํ•˜๋ฉด ์Šต๊ด€์ด ๊นจ์งˆ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  5. ๋ฒ”์œ„๋Š” ํ•„์š”ํ•œ ๊ณณ์—๋งŒ ์ถ”๊ฐ€ํ•˜์„ธ์š”. ๋‹จ์ผ "edit" ๊ถŒํ•œ ๋Œ€์‹  "edit own", "edit assigned", "edit all" ๊ฐ™์€ ๋ฒ”์œ„๋ฅผ ๋ช…์‹œํ•˜๋ฉด 50๊ฐœ์˜ ์—ญํ• ์„ ๋งŒ๋“ค์ง€ ์•Š๊ณ ๋„ ๊ทœ์น™์„ ๋ช…ํ™•ํžˆ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์˜ˆ์™ธ๋Š” ๋งคํŠธ๋ฆญ์Šค์™€ ๋ถ„๋ฆฌ๋œ ํ…Œ์ด๋ธ”์— ๊ธฐ๋กํ•˜์„ธ์š”. ๊ฐ ์˜ˆ์™ธ์—๋Š” ๋ช…ํ™•ํ•œ ์ด์œ (์ปดํ”Œ๋ผ์ด์–ธ์Šค, ์‚ฌ๊ธฐ ์œ„ํ—˜, ์ง๋ฌด ๋ถ„๋ฆฌ)์™€ ์Šน์ธ ๋‹ด๋‹น์ž๊ฐ€ ํ•„์š”ํ•˜๋ฉฐ ๋งŒ๋ฃŒ์ผ์„ ๋‘์„ธ์š”.

์ด ์ž‘์—…์ด ๋๋‚˜๋ฉด AppMaster ๊ฐ™์€ ๋„๊ตฌ๋กœ ๋งคํŠธ๋ฆญ์Šค๋ฅผ ๋ณดํ˜ธ๋œ ์—”๋“œํฌ์ธํŠธ์™€ ๊ด€๋ฆฌ์ž ํ™”๋ฉด์œผ๋กœ ์ „ํ™˜ํ•˜๊ธฐ๊ฐ€ ํ›จ์”ฌ ์‰ฌ์›Œ์ง‘๋‹ˆ๋‹ค.

๋งคํŠธ๋ฆญ์Šค๋ฅผ ์ฝ๊ธฐ ์‰ฝ๊ฒŒ ๊ตฌ์กฐํ™”ํ•˜๋Š” ๋ฐฉ๋ฒ•

API ์ž‘์—…์„ ๋ณดํ˜ธํ•˜์„ธ์š”
์ผ๊ด€๋œ ์—”๋“œํฌ์ธํŠธ์™€ ๊ถŒํ•œ์œผ๋กœ UI ๊ฒ€์‚ฌ์™€ ์„œ๋ฒ„ ๊ทœ์น™์„ ์ผ์น˜์‹œํ‚ค์„ธ์š”.
๋ฐฑ์—”๋“œ ์ƒ์„ฑ

๋งคํŠธ๋ฆญ์Šค๋Š” ์‚ฌ๋žŒ๋“ค์ด ๋น ๋ฅด๊ฒŒ ์ฝ์„ ์ˆ˜ ์žˆ์„ ๋•Œ๋งŒ ์œ ์šฉํ•ฉ๋‹ˆ๋‹ค. ์…€๋กœ ๊ฐ€๋“ํ•œ ๊ฑฐ๋Œ€ํ•œ ํ‘œ๊ฐ€ ๋˜๋ฉด ํŒ€์€ ์‚ฌ์šฉ์„ ์ค‘๋‹จํ•˜๊ณ  ๊ถŒํ•œ์€ ์›๋ž˜ ์˜๋„์—์„œ ๋ฒ—์–ด๋‚ฉ๋‹ˆ๋‹ค.

๋จผ์ € ๋„๋ฉ”์ธ๋ณ„๋กœ ๋งคํŠธ๋ฆญ์Šค๋ฅผ ๋ถ„๋ฆฌํ•˜์„ธ์š”. ๋ชจ๋“  ๊ฒƒ์„ ํ•œ ์‹œํŠธ์— ๋„ฃ์ง€ ๋ง๊ณ  Customers, Billing, Content์ฒ˜๋Ÿผ ๋น„์ฆˆ๋‹ˆ์Šค ์˜์—ญ๋ณ„๋กœ ํƒญ์„ ๋‚˜๋ˆ„์„ธ์š”. ๋Œ€๋ถ€๋ถ„์˜ ์—ญํ• ์€ ๋ช‡๋ช‡ ๋„๋ฉ”์ธ๋งŒ ๋‹ค๋ฃจ๋ฏ€๋กœ ๊ฒ€ํ† ๊ฐ€ ๋นจ๋ผ์ง€๊ณ  ์‹ค์ˆ˜๋กœ ๋ณ€๊ฒฝํ•  ๊ฐ€๋Šฅ์„ฑ์ด ์ค„์–ด๋“ญ๋‹ˆ๋‹ค.

ํƒญ ์ „๋ฐ˜์— ๊ฑธ์ณ ์ผ๊ด€๋œ ๋ช…๋ช… ํŒจํ„ด์„ ์‚ฌ์šฉํ•˜์„ธ์š”. Resource.Action.Scope ๊ฐ™์€ ๋‹จ์ˆœํ•œ ํ˜•์‹์€ ๊ฐ ๊ถŒํ•œ์ด ๋ฌด์—‡์„ ์˜๋ฏธํ•˜๋Š”์ง€ ํ•œ๋ˆˆ์— ์•Œ ์ˆ˜ ์žˆ๊ฒŒ ํ•˜๊ณ , ๊ฐ™์€ ์˜๋ฏธ์ธ๋ฐ๋„ ์„œ๋กœ ๋‹ค๋ฅด๊ฒŒ ๋ณด์ด๋Š” ์ค‘๋ณต์„ ๋ฐฉ์ง€ํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ: Invoice.Approve.Department๋Š” Customer.Edit.Own์ฒ˜๋Ÿผ ์ฝํž™๋‹ˆ๋‹ค.

์—ฃ์ง€ ์ผ€์ด์Šค๊ฐ€ ์ƒ๊ธฐ๋ฉด ์ƒˆ ์—ญํ• ์„ ๋งŒ๋“ค๊ณ  ์‹ถ์€ ์œ ํ˜น์„ ์ฐธ์œผ์„ธ์š”. ์…€ ์˜†์— ์งง์€ ๋ฉ”๋ชจ๋กœ ์˜ˆ์™ธ์™€ ์ ์šฉ ์‹œ์ ์„ ์ ์œผ์„ธ์š”. ์˜ˆ: Support๋Š” ๊ณ ๊ฐ ํ™•์ธ ํ›„์—๋งŒ ์„ธ๊ธˆ๊ณ„์‚ฐ์„œ๋ฅผ ๋ณผ ์ˆ˜ ์žˆ๋‹ค. ๋ฉ”๋ชจ๋Š” ํ•„์š”ํ•˜๋‹ค๋ฉด ์ถ”๊ฐ€ UI ๋‹จ๊ณ„๋ฅผ ๊ฐ€๋ฆฌํ‚ฌ ์ˆ˜ ์žˆ๊ณ , ์—ญํ•  ๋ชจ๋ธ์„ ๋ฐ”๊พธ์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

๊ณ ์œ„ํ—˜ ๊ถŒํ•œ์€ ๋ฆฌ๋ทฐ ์‹œ ๋ˆˆ์— ๋„๊ฒŒ ํ‘œ์‹œํ•˜์„ธ์š”. ํ™˜๋ถˆ, ์Šน์ธ, ๋‚ด๋ณด๋‚ด๊ธฐ, ๋ฐ์ดํ„ฐ ์‚ญ์ œ ๊ฐ™์€ ์•ก์…˜์ด ์—ฌ๊ธฐ์— ํ•ด๋‹นํ•ฉ๋‹ˆ๋‹ค. ์…€์„ ํ‘œ์‹œํ•˜๊ณ  ํ•„์š”ํ•œ ์ถ”๊ฐ€ ํ™•์ธ ์ ˆ์ฐจ(์˜ˆ: 2์ธ ์Šน์ธ, ๋งค๋‹ˆ์ € ํ™•์ธ)๋ฅผ ์ ์–ด ๋‘์„ธ์š”.

๋งคํŠธ๋ฆญ์Šค๋ฅผ ์œ ์ง€๋ณด์ˆ˜ ๊ฐ€๋Šฅํ•˜๊ฒŒ ํ•˜๋ ค๋ฉด ๋‹ค์Œ์„ ๋ฒ„์ „ ๊ด€๋ฆฌํ•˜์„ธ์š”:

  • v1, v2 ๋“ฑ๊ณผ ๋‚ ์งœ
  • ์˜ค๋„ˆ(ํ•œ ๋ช…์˜ ์ฑ…์ž„์ž)
  • ๊ฐ„๋‹จํ•œ ๋ณ€๊ฒฝ ์š”์•ฝ
  • ๋ณ€๊ฒฝ์„ ์ด‰๋ฐœํ•œ ์ด์œ (์ƒˆ ์›Œํฌํ”Œ๋กœ์šฐ, ๊ฐ์‚ฌ ๊ฒฐ๊ณผ ๋“ฑ)

๋งคํŠธ๋ฆญ์Šค๊ฐ€ ์•ˆ์ •๋˜๋ฉด AppMaster์—์„œ ํ™”๋ฉด๊ณผ ์—”๋“œํฌ์ธํŠธ๋ฅผ ๋นŒ๋“œํ•˜๊ธฐ๊ฐ€ ํ›จ์”ฌ ์‰ฝ์Šต๋‹ˆ๋‹ค. ๋ชจ๋“  ๋ฒ„ํŠผ๊ณผ API ์•ก์…˜์ด ๋ช…ํ™•ํ•œ ๊ถŒํ•œ ์ด๋ฆ„์— ๋งคํ•‘๋˜๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค.

๋งคํŠธ๋ฆญ์Šค๋ฅผ ํ™”๋ฉด๊ณผ ์—”๋“œํฌ์ธํŠธ๋กœ ์ „ํ™˜ํ•˜๊ธฐ

๊ถŒํ•œ ๋งคํŠธ๋ฆญ์Šค๋Š” API์™€ UI ๋‘ ๊ณณ์—์„œ ์‹ค์ œ ๊ทœ์น™์ด ๋  ๋•Œ๋งŒ ์œ ์šฉํ•ฉ๋‹ˆ๋‹ค. ๋งคํŠธ๋ฆญ์Šค์˜ ๊ฐ ๋ฆฌ์†Œ์Šค(์˜ˆ: Tickets, Invoices, Users)๋ฅผ ์—”๋“œํฌ์ธํŠธ ๊ทธ๋ฃน์œผ๋กœ ๋‹ค๋ฃจ์„ธ์š”. ์•ก์…˜์€ ๋งคํŠธ๋ฆญ์Šค์˜ ๋™์‚ฌ์™€ ์ผ์น˜ํ•˜๊ฒŒ ์œ ์ง€ํ•ฉ๋‹ˆ๋‹ค: view, create, edit, approve, export, delete.

API ์ธก๋ฉด์—์„œ๋Š” ๋ชจ๋“  ์š”์ฒญ์—์„œ ๊ถŒํ•œ์„ ๊ฐ•์ œํ•˜์„ธ์š”. UI ๊ฒ€์‚ฌ๋งŒ์œผ๋กœ๋Š” ๋ณด์•ˆ์ด ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์ˆจ๊ฒจ์ง„ ๋ฒ„ํŠผ์€ ์ง์ ‘ API ํ˜ธ์ถœ์„ ๋ง‰์ง€ ๋ชปํ•ฉ๋‹ˆ๋‹ค.

๋งคํŠธ๋ฆญ์Šค๋ฅผ API ๊ถŒํ•œ์œผ๋กœ ๋ฒˆ์—ญํ•˜๋Š” ๊ฐ„๋‹จํ•œ ๋ฐฉ๋ฒ•์€ ๊ถŒํ•œ ์ด๋ฆ„์„ ์ผ๊ด€๋˜๊ฒŒ ์ง€์ •ํ•˜๊ณ  ์•ก์…˜์ด ๋ฐœ์ƒํ•˜๋Š” ๊ฒฝ๊ณ„(boundary)์— ๋ถ€์ฐฉํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค:

  • tickets:view, tickets:edit, tickets:export
  • invoices:view, invoices:approve, invoices:delete
  • users:view, users:invite

๊ทธ๋Ÿฐ ๋‹ค์Œ ๋™์ผํ•œ ๊ถŒํ•œ ์ด๋ฆ„์„ UI ๊ฒŒ์ดํŠธ(๋ฉ”๋‰ด ํ•ญ๋ชฉ, ํŽ˜์ด์ง€ ์ ‘๊ทผ, ๋ฒ„ํŠผ, ํ•„๋“œ)์—๋„ ์‚ฌ์šฉํ•˜์„ธ์š”. ์˜ˆ: Support ๋‹ด๋‹น์ž๋Š” ํ‹ฐ์ผ“ ๋ชฉ๋ก์„ ๋ณด๊ณ  ํ‹ฐ์ผ“์„ ์—ด ์ˆ˜ ์žˆ์ง€๋งŒ, invoices:approve ๊ถŒํ•œ์ด ์—†์œผ๋ฉด "ํ™˜๋ถˆ" ํ•„๋“œ๋Š” ์ฝ๊ธฐ ์ „์šฉ์œผ๋กœ ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค.

๋ชฉ๋ก(list)๊ณผ ์ƒ์„ธ(detail) ์ ‘๊ทผ์„ ๊ตฌ๋ถ„ํ•˜๋Š” ๋ฐ ์ฃผ์˜ํ•˜์„ธ์š”. ํŒ€์€ ์–ด๋–ค ํ•ญ๋ชฉ์ด ์กด์žฌํ•œ๋‹ค๋Š” ๊ฒƒ๋งŒ ์•Œ์•„์•ผ ํ•˜๊ณ  ๋ ˆ์ฝ”๋“œ ์ž์ฒด๋Š” ๋ณด์ง€ ๋ชปํ•ด์•ผ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ๊ฒฝ์šฐ ์ œํ•œ๋œ ์ปฌ๋Ÿผ์œผ๋กœ ๋ชฉ๋ก ๊ฒฐ๊ณผ๋ฅผ ํ—ˆ์šฉํ•˜๊ณ , ์ƒ์„ธ ๋ณด๊ธฐ๋Š” ๋ณ„๋„์˜ ๊ถŒํ•œ ๋˜๋Š” "๋ณธ์ธ ํ• ๋‹น(assigned to me)" ๊ฐ™์€ ๋ฒ”์œ„ ์ฒดํฌ๋ฅผ ์š”๊ตฌํ•˜์„ธ์š”. ๋ฏธ๋ฆฌ ๊ฒฐ์ •ํ•˜์ง€ ์•Š์œผ๋ฉด ๋ชฉ๋ก ํ™”๋ฉด์—์„œ ๋ฏผ๊ฐํ•œ ๋ฐ์ดํ„ฐ๊ฐ€ ์œ ์ถœ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋งˆ์ง€๋ง‰์œผ๋กœ ๊ฐ์‚ฌ ๋กœ๊น…(audit logging)์„ ์ค‘์š”ํ•œ ์•ก์…˜์— ๋งคํ•‘ํ•˜์„ธ์š”. ๋‚ด๋ณด๋‚ด๊ธฐ, ์‚ญ์ œ, ์Šน์ธ, ์—ญํ•  ๋ณ€๊ฒฝ, ๋ฐ์ดํ„ฐ ๋‹ค์šด๋กœ๋“œ๋Š” ๋ˆ„๊ฐ€, ๋ฌด์—‡์„, ์–ธ์ œ, ์–ด๋–ค ๋Œ€์ƒ์— ๋Œ€ํ•ด ํ–ˆ๋Š”์ง€ ๊ธฐ๋กํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. AppMaster๋กœ ๋นŒ๋“œํ•œ๋‹ค๋ฉด ์—”๋“œํฌ์ธํŠธ ๋กœ์ง๊ณผ Business Process ํ๋ฆ„์—์„œ ๊ฐ™์€ ๊ทœ์น™์ด ์•ก์…˜๊ณผ ๊ฐ์‚ฌ ํ•ญ๋ชฉ์„ ๋™์‹œ์— ํŠธ๋ฆฌ๊ฑฐํ•˜๋„๋ก ๋ฐ˜์˜ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

ํ”ํ•œ ์‹ค์ˆ˜์™€ ํ•จ์ •

์—ญํ• ์„ ๋‹จ์ˆœํ•˜๊ณ  ์•ˆ์ •์ ์œผ๋กœ ์œ ์ง€ํ•˜์„ธ์š”
์ง€๊ธˆ ๋ช…ํ™•ํ•œ ์—ญํ•  ์ง‘ํ•ฉ์„ ์ •์˜ํ•˜๊ณ , ์—ญํ•  ํ™•์‚ฐ ๋Œ€์‹  ๋ฒ”์œ„๋กœ ์˜ˆ์™ธ๋ฅผ ์ฒ˜๋ฆฌํ•˜์„ธ์š”.
์—ญํ•  ์„ค์ •

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

๋˜ ๋‹ค๋ฅธ ํ”ํ•œ ํ•จ์ •์€ ์—ญํ•  ํ™•์‚ฐ(role sprawl)์ž…๋‹ˆ๋‹ค. ํŒ€์€ ๊ณ„์† ์—ญํ• ์„ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค(์˜ˆ: Support Level 1, Support Level 2, Support Manager ๋“ฑ). ๋” ์ž‘์€ ์—ญํ•  ์ง‘ํ•ฉ๊ณผ ๋ช…ํ™•ํ•œ ๋ฒ”์œ„๊ฐ€ ์žˆ์œผ๋ฉด ๋Œ€๋ถ€๋ถ„์˜ ๊ฒฝ์šฐ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. "own team", "assigned region", "accounts you manage" ๊ฐ™์€ ๋ฒ”์œ„๊ฐ€ ์ƒˆ ์—ญํ• ๋ณด๋‹ค ์ฐจ์ด๋ฅผ ๋” ์ž˜ ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค.

์‹ค์ œ ๋‚ด๋ถ€ ๋„๊ตฌ์—์„œ ์ž์ฃผ ๋ณด์ด๋Š” ๋ช‡ ๊ฐ€์ง€ ์‹ค์ˆ˜:

  • "view"์™€ "edit"๋งŒ ์ •์˜ํ•˜๊ณ  export, bulk edit, refund, impersonate, "change owner" ๊ฐ™์€ ์•ก์…˜์„ ์žŠ์Œ.
  • ์˜ˆ์™ธ๋ฅผ ์žฅ๊ธฐ ํŒจ์น˜๋กœ ์‚ฌ์šฉํ•จ(์˜ˆ: "Sam์—๊ฒŒ 1์ฃผ์ผ ๋™์•ˆ Finance ์ ‘๊ทผ ๋ถ€์—ฌ"). ์ผํšŒ์„ฑ ๊ถŒํ•œ์ด ์˜๊ตฌํ™”๋˜๊ธฐ ์‰ฝ์Šต๋‹ˆ๋‹ค.
  • UI์—์„œ ๋ฒ„ํŠผ์„ ์ˆจ๊ธฐ๊ณ  ์‹œ์Šคํ…œ์ด ์•ˆ์ „ํ•˜๋‹ค๊ณ  ๊ฐ€์ •ํ•จ. API๋Š” ์—ฌ์ „ํžˆ ์š”์ฒญ์„ ๊ฑฐ๋ถ€ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
  • ๋ˆ„๊ตฐ๊ฐ€์˜ ๋ฒ”์œ„๊ฐ€ ๋ฐ”๋€” ๋•Œ(ํŒ€ ์ด๋™, ์ง€์—ญ ๋ณ€๊ฒฝ) ์–ด๋–ป๊ฒŒ ์ฒ˜๋ฆฌํ• ์ง€ ๊ฒฐ์ •ํ•˜์ง€ ์•Š์Œ. ๊ถŒํ•œ์€ ์˜ˆ์ธก ๊ฐ€๋Šฅํ•˜๊ฒŒ ์—…๋ฐ์ดํŠธ๋˜์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
  • "admin"์„ ๋ฌด์ œํ•œ์œผ๋กœ ์ทจ๊ธ‰ํ•จ. ๊ด€๋ฆฌ์ž๋„ ์ข…์ข… ๋ถ„๋ฆฌ๊ฐ€ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค(์˜ˆ: "์‚ฌ์šฉ์ž ๊ด€๋ฆฌ ๊ฐ€๋Šฅ"ํ•˜์ง€๋งŒ "์ง€๊ธ‰ ์Šน์ธ ๋ถˆ๊ฐ€").

์˜ˆ์™ธ๋Š” ํŠน๋ณ„ํžˆ ์ฃผ์˜ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ž„์‹œ ์ƒํ™ฉ์— ์œ ์šฉํ•˜์ง€๋งŒ ๋งŒ๋ฃŒ๋˜๊ฑฐ๋‚˜ ๊ฒ€ํ† ๋˜์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ์™ธ๊ฐ€ ๊ณ„์† ๋Š˜๋ฉด ์—ญํ• ์ด๋‚˜ ๋ฒ”์œ„ ๋งคํ•‘์ด ๊น”๋”ํ•˜์ง€ ์•Š๋‹ค๋Š” ์‹ ํ˜ธ์ž…๋‹ˆ๋‹ค.

๊ฐ„๋‹จํ•œ ์˜ˆ: ์ง€์›(Support)๊ณผ ์žฌ๋ฌด(Finance) ๋„๊ตฌ์—์„œ Support๋Š” ๊ณ ๊ฐ ํ”„๋กœํ•„์„ ๋ณด๊ณ  ํ‹ฐ์ผ“์„ ๋งŒ๋“ค ์ˆ˜ ์žˆ๊ณ , Finance๋Š” ์„ธ๊ธˆ๊ณ„์‚ฐ์„œ๋ฅผ ๋‚ด๋ณด๋‚ด๊ณ  ํ™˜๋ถˆ์„ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํŽ˜์ด์ง€ ๋ณด์•ˆ๋งŒ ํ•˜๋ฉด Support ๋‹ด๋‹น์ž๊ฐ€ ์ง์ ‘ export ์—”๋“œํฌ์ธํŠธ๋ฅผ ํ˜ธ์ถœํ•ด ๋ฒ„๋ฆด ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ปค์Šคํ…€ ์ฝ”๋“œ๋กœ ๋นŒ๋“œํ•˜๋“  AppMaster ๊ฐ™์€ ํ”Œ๋žซํผ์œผ๋กœ ๋ฐฑ์—”๋“œ๋ฅผ ์ƒ์„ฑํ•˜๋“ , ๊ทœ์น™์€ UI๋ฟ ์•„๋‹ˆ๋ผ ์„œ๋ฒ„ ์ธก์— ์กด์žฌํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

๋นŒ๋“œํ•˜๊ธฐ ์ „์— ๋น ๋ฅด๊ฒŒ ์ ๊ฒ€ํ•  ์ฒดํฌ๋ฆฌ์ŠคํŠธ

๋…ธ์ฝ”๋“œ๋กœ ๋‚ด๋ถ€ ๋„๊ตฌ๋ฅผ ๊ตฌ์ถ•ํ•˜์„ธ์š”
AppMaster๋กœ ํ•ธ๋“œ์ฝ”๋”ฉ ์—†์ด ์šด์˜ ์ค€๋น„๋œ ์›นยท๋ชจ๋ฐ”์ผ ๋‚ด๋ถ€ ๋„๊ตฌ๋ฅผ ๋งŒ๋“œ์„ธ์š”.
์ง€๊ธˆ ์‹œ์ž‘

๊ถŒํ•œ ๋งคํŠธ๋ฆญ์Šค๋Š” ๋ช…ํ™•ํ•˜๊ณ  ์ง‘ํ–‰ ๊ฐ€๋Šฅํ•œ ๊ทœ์น™์œผ๋กœ ์ „ํ™˜๋  ๋•Œ๋งŒ ์œ ์šฉํ•ฉ๋‹ˆ๋‹ค. ์ฒซ ํ™”๋ฉด์ด๋‚˜ ์—”๋“œํฌ์ธํŠธ๋ฅผ ๋งŒ๋“ค๊ธฐ ์ „์— ์•„๋ž˜ ์ฒดํฌ๋ฆฌ์ŠคํŠธ๋ฅผ ํ™•์ธํ•˜์„ธ์š”. ์ด๋ ‡๊ฒŒ ํ•˜๋ฉด ์ƒˆ ์—ญํ• ์ด๋‚˜ ์—ฃ์ง€ ์ผ€์ด์Šค๊ฐ€ ๋‚˜ํƒ€๋‚  ๋•Œ ๊นจ์ง€๋Š” "๊ฑฐ์˜ ์•ˆ์ „ํ•œ(Almost secure)" ์„ค์ •์„ ํ”ผํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๊ทœ์น™์„ ๋จผ์ € ๋งŒ๋“ค๊ณ , UI๋ฅผ ๋งŒ๋“œ์„ธ์š”

๊ธฐ๋ณธ์ ์œผ๋กœ๋Š” "๊ธฐ๋ณธ ๊ฑฐ๋ถ€(default deny)" ํƒœ๋„๋ฅผ ์ ์šฉํ•˜์„ธ์š”: ๋ช…์‹œ์ ์œผ๋กœ ํ—ˆ์šฉ๋˜์ง€ ์•Š์€ ๊ฒƒ์€ ๋ชจ๋‘ ์ฐจ๋‹จํ•ฉ๋‹ˆ๋‹ค. ์ด๊ฒƒ์ด ์•ˆ์ „ํ•œ ๊ธฐ๋ณธ๊ฐ’์ด๋ฉฐ, ์ƒˆ ๊ธฐ๋Šฅ์„ ์ถ”๊ฐ€ํ•  ๋•Œ ์˜์™ธ์˜ ์ ‘๊ทผ์„ ๋ฐฉ์ง€ํ•ฉ๋‹ˆ๋‹ค.

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

๊ฐ„๋‹จํ•œ ์‚ฌ์ „ ๋นŒ๋“œ ์ฒดํฌ๋ฆฌ์ŠคํŠธ:

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

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

AppMaster๋กœ ๋นŒ๋“œํ•œ๋‹ค๋ฉด ์ด ํ•ญ๋ชฉ๋“ค์„ ํ™”๋ฉด๊ณผ ๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง์˜ ์š”๊ตฌ์‚ฌํ•ญ์œผ๋กœ ๋‹ค๋ฃจ์„ธ์š”. ๋ฒ„ํŠผ์œผ๋กœ ๋™์ž‘์„ ์ˆจ๊ธธ ์ˆ˜ ์žˆ์ง€๋งŒ ์ง„์งœ ๊ฐ•์ œ๋Š” ๋ฐฑ์—”๋“œ ๊ทœ์น™์ž…๋‹ˆ๋‹ค.

์˜ˆ์‹œ ์‹œ๋‚˜๋ฆฌ์˜ค: Support์™€ Finance๋ฅผ ์œ„ํ•œ ๋‚ด๋ถ€ ๋„๊ตฌ

์ค‘๊ฐ„ ๊ทœ๋ชจ ํšŒ์‚ฌ๊ฐ€ Support์™€ Finance๊ฐ€ ์‚ฌ์šฉํ•˜๋Š” ๋‚ด๋ถ€ ๋„๊ตฌ๋ฅผ ํ•˜๋‚˜ ์šด์˜ํ•œ๋‹ค๊ณ  ๊ฐ€์ •ํ•˜์„ธ์š”. ๋™์ผํ•œ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— Customers, Tickets, Refunds, Payouts, Settings(ํ…œํ”Œ๋ฆฟยทํ†ตํ•ฉ ๋“ฑ)๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ๋‹จ์ˆœ ๋กœ๊ทธ์ธ ํ™•์ธ์œผ๋กœ๋Š” ๋ถ€์กฑํ•œ ์œ ํ˜•์˜ ์•ฑ์ž…๋‹ˆ๋‹ค.

์ดˆ๊ธฐ์— ๋‹ค์Œ ์—ญํ• ์„ ์ •ํ–ˆ์Šต๋‹ˆ๋‹ค:

  • Support Agent: ํ•œ ํ(queue)์—์„œ ํ‹ฐ์ผ“ ์ฒ˜๋ฆฌ
  • Support Lead: ์—ฌ๋Ÿฌ ํ๋ฅผ ๋•๊ณ  ํŠน์ • ์•ก์…˜ ์Šน์ธ ๊ฐ€๋Šฅ
  • Finance: ๊ธˆ์ „ ๊ด€๋ จ ์—…๋ฌด ๋‹ด๋‹น
  • Ops Admin: ์ ‘๊ทผ ์ œ์–ด ๋ฐ ์‹œ์Šคํ…œ ์„ค์ • ๋‹ด๋‹น

์‹ค์šฉ์ ์ธ ๊ถŒํ•œ ๋งคํŠธ๋ฆญ์Šค๋Š” ๋ฆฌ์†Œ์Šค๋ณ„ ์•ก์…˜์„ ์ž‘์„ฑํ•˜๊ณ  ๋ฒ”์œ„๋กœ ์„ธ๋ถ„ํ™”ํ•˜๋Š” ๊ฒƒ์œผ๋กœ ์‹œ์ž‘ํ•ฉ๋‹ˆ๋‹ค.

ํ‹ฐ์ผ“์˜ ๊ฒฝ์šฐ Support Agent๋Š” ์ž์‹ ์—๊ฒŒ ํ• ๋‹น๋œ ํ์˜ ํ‹ฐ์ผ“๋งŒ ์กฐํšŒยท์—…๋ฐ์ดํŠธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ฉ”๋ชจ๋ฅผ ์ถ”๊ฐ€ํ•  ์ˆ˜ ์žˆ์ง€๋งŒ ํ‹ฐ์ผ“ ์†Œ์œ ์ž๋Š” ๋ณ€๊ฒฝํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. Support Lead๋Š” Support Agent์˜ ๋ชจ๋“  ๊ถŒํ•œ์— ๋”ํ•ด ๊ฐ™์€ ์ง€์—ญ ๋‚ด์—์„œ ํ‹ฐ์ผ“ ์žฌํ• ๋‹น์ด ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.

ํ™˜๋ถˆ์˜ ๊ฒฝ์šฐ Finance๋Š” ํ™˜๋ถˆ ์ƒ์„ฑ๊ณผ ์Šน์ธ ๊ถŒํ•œ์„ ๊ฐ€์ง€๋˜ ์ผ์ • ๊ธˆ์•ก ํ•œ๋„๊ฐ€ ์žˆ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. Support๋Š” ํ™˜๋ถˆ ์š”์ฒญ์„ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ์ง€๋งŒ ์Šน์ธํ•  ์ˆ˜๋Š” ์—†์Šต๋‹ˆ๋‹ค. ํ™˜๋ถˆ ์Šน์ธ(approve)์€ ์ƒ์„ฑ(create)๊ณผ ๋ณ„๊ฐœ์˜ ์•ก์…˜์œผ๋กœ ๋งคํŠธ๋ฆญ์Šค์— ๋ช…์‹œ๋˜์–ด ์šฐ์—ฐํžˆ ๊ถŒํ•œ์ด ๋ถ€์—ฌ๋˜์ง€ ์•Š๋„๋ก ํ•ฉ๋‹ˆ๋‹ค.

Payouts์™€ Settings๋Š” ์—„๊ฒฉํ•˜๊ฒŒ ๊ด€๋ฆฌ๋ฉ๋‹ˆ๋‹ค: Payouts๋Š” Finance๋งŒ ์กฐํšŒ ๊ฐ€๋Šฅํ•˜๊ณ  Settings๋Š” Ops Admin๋งŒ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. Support๋Š” ์ด๋Ÿฌํ•œ ํ™”๋ฉด์„ ๋ณด์ง€ ๋ชปํ•˜๊ฒŒ ํ•˜์—ฌ ์œ ํ˜น๊ณผ ์‹ค์ˆ˜๋ฅผ ์ค„์ž…๋‹ˆ๋‹ค.

์˜ˆ์™ธ ๊ทœ์น™์„ ํ•˜๋‚˜ ์ถ”๊ฐ€ํ•ด๋ณด์„ธ์š”: Support Lead๊ฐ€ 2์ฃผ ๋™์•ˆ ๋‹ค๋ฅธ ์ง€์—ญ์„ ์ปค๋ฒ„ํ•ฉ๋‹ˆ๋‹ค. Ops Admin ๊ฐ™์€ ๊ด‘๋ฒ”์œ„ํ•œ ์—ญํ• ์„ ์ฃผ๋Š” ๋Œ€์‹  ๋งคํŠธ๋ฆญ์Šค์— ์ž„์‹œ ๋ฒ”์œ„ ํ™•์žฅ(์˜ˆ: Support Lead + Region B, ๋งŒ๋ฃŒ ๋‚ ์งœ ๊ธฐ์žฌ)์„ ์ถ”๊ฐ€ํ•˜์„ธ์š”. ์ด ํ•œ ๊ฐ€์ง€ ์˜ˆ์™ธ๊ฐ€ ์—ญํ•  ๋ณต์ œ๋ณด๋‹ค ์•ˆ์ „ํ•ฉ๋‹ˆ๋‹ค.

AppMaster๋กœ ๋นŒ๋“œํ•˜๋ฉด ๊ฐ™์€ ๋งคํŠธ๋ฆญ์Šค๊ฐ€ UI์— ํ‘œ์‹œ๋˜๋Š” ํŽ˜์ด์ง€์™€ ๋ฐฑ์—”๋“œ๊ฐ€ ํ—ˆ์šฉํ•˜๋Š” ๋™์ž‘์„ ์•ˆ๋‚ดํ•˜๋ฏ€๋กœ ๋ˆ„๊ตฐ๊ฐ€๊ฐ€ Payouts๋‚˜ Settings์˜ ์—”๋“œํฌ์ธํŠธ๋ฅผ ์ถ”์ธกํ•ด๋„ ์ ‘๊ทผํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.

๊ถŒํ•œ์„ ํ…Œ์ŠคํŠธํ•˜๊ณ  ์‹œ๊ฐ„ ๊ฒฝ๊ณผ์— ๋”ฐ๋ผ ์œ ์ง€ํ•˜๋Š” ๋ฐฉ๋ฒ•

๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง์—์„œ ๊ถŒํ•œ์„ ๊ฐ•์ œํ•˜์„ธ์š”
Business Process๋กœ ์Šน์ธยท๋‚ด๋ณด๋‚ด๊ธฐยท์‚ญ์ œ ๊ทœ์น™์„ ๋ณ€๊ฒฝ ์ง€์ ์—์„œ ๊ฐ•์ œํ•˜์„ธ์š”.
ํ”Œ๋กœ์šฐ ์ƒ์„ฑ

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

์ž‘์€ ํ…Œ์ŠคํŠธ ์‚ฌ์šฉ์ž ์ง‘ํ•ฉ์œผ๋กœ ์‹œ์ž‘ํ•˜์„ธ์š”. ์—ฌ๋Ÿฌ ๊ณ„์ •์ด ํ•„์š”ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์—ญํ• ๋ณ„๋กœ ํ•œ ๋ช…์”ฉ, ๊ทธ๋ฆฌ๊ณ  ์ผ๋ฐ˜์ ์ธ ์˜ˆ์™ธ์šฉ ์—ฃ์ง€ ์‚ฌ์šฉ์ž(์˜ˆ: "ํ™˜๋ถˆ ์Šน์ธ ๊ถŒํ•œ์ด ์žˆ๋Š” Support ๋‹ด๋‹น์ž")๋ฅผ ๋งŒ๋“œ์„ธ์š”. ์ด ๊ณ„์ •๋“ค์„ ์Šคํ”„๋ฆฐํŠธ๋งˆ๋‹ค ์žฌ์‚ฌ์šฉํ•˜์„ธ์š”.

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

  • Role: Support Agent. Action: Refund. Expected: ๊ฑฐ๋ถ€(๋ช…ํ™•ํ•œ ๋ฉ”์‹œ์ง€, ๋ฐ์ดํ„ฐ ๋ณ€๊ฒฝ ์—†์Œ).
  • Role: Finance. Action: Refund. Expected: ํ—ˆ์šฉ, ํ™˜๋ถˆ ๋ ˆ์ฝ”๋“œ ์ƒ์„ฑ, ํ–‰์œ„์ž์™€ ์‚ฌ์œ  ๋กœ๊น….
  • Role: Manager. Action: View tickets. Scope: team only. Expected: ํŒ€ ํ‹ฐ์ผ“ ์กฐํšŒ ํ—ˆ์šฉ, ๋‹ค๋ฅธ ํŒ€ ํ‹ฐ์ผ“ ์—ด๋žŒ ๋ถˆ๊ฐ€.

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

๋ฒ”์œ„๋Š” ์‹ค์ œ ๋ฐ์ดํ„ฐ๋ฅผ ์‚ฌ์šฉํ•ด ํ…Œ์ŠคํŠธํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์†Œ์œ ๊ถŒ, ํŒ€, ์ง€์—ญ๋ณ„๋กœ ๋‹ค๋ฅธ ํ…Œ์ŠคํŠธ ๋ ˆ์ฝ”๋“œ๋ฅผ ๋งŒ๋“ค์–ด ID๋ฅผ ์ถ”์ธกํ•ด ์ ‘๊ทผํ•  ์ˆ˜ ์—†๋Š”์ง€ ๊ฒ€์ฆํ•˜์„ธ์š”.

๋งˆ์ง€๋ง‰์œผ๋กœ ๋ฏผ๊ฐํ•œ ์•ก์…˜(ํ™˜๋ถˆ, ๋‚ด๋ณด๋‚ด๊ธฐ, ์—ญํ•  ๋ณ€๊ฒฝ)์— ๋Œ€ํ•ด ๋ฌด์—‡์„ ๋กœ๊น…ํ• ์ง€ ๊ฒฐ์ •ํ•˜์„ธ์š”. ๋ˆ„๊ฐ€, ๋ฌด์—‡์„, ์–ธ์ œ, ์–ด๋””์„œ ํ–ˆ๋Š”์ง€ ๊ธฐ๋กํ•˜๊ณ , ๋กœ๊ทธ๋ฅผ ์ •๊ธฐ์ ์œผ๋กœ ๊ฒ€ํ† ํ•˜๋ฉฐ ๊ถŒํ•œ ํŽธ์ง‘์ด๋‚˜ ๋Œ€๋Ÿ‰ ๋‚ด๋ณด๋‚ด๊ธฐ ๊ฐ™์€ ๋“œ๋ฌธ ์•ก์…˜์€ ์•Œ๋ฆผ ๊ทœ์น™์„ ์ถ”๊ฐ€ํ•˜์„ธ์š”.

๋‹ค์Œ ๋‹จ๊ณ„: ๋งคํŠธ๋ฆญ์Šค์—์„œ ์‹ค์ œ ๋‚ด๋ถ€ ๋„๊ตฌ๋กœ ์ด๋™ํ•˜๊ธฐ

๊ถŒํ•œ ๋งคํŠธ๋ฆญ์Šค๋ฅผ ๋ฌธ์„œ์— ๋ฌป์–ด๋‘์ง€ ๋ง๊ณ  ๋นŒ๋“œ ํ”Œ๋žœ์œผ๋กœ ์ทจ๊ธ‰ํ•˜์„ธ์š”. ๊ฐ€์น˜ ์‹คํ˜„์„ ๋น ๋ฅด๊ฒŒ ํ•˜๋ ค๋ฉด ๋ฐ์ดํ„ฐ์™€ ํ”„๋กœ์„ธ์Šค ์˜ค๋„ˆ๋“ค๊ณผ ๊ธฐ๋ณธ ์‚ฌํ•ญ์„ ํ™•์ธํ•˜์„ธ์š”.

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

๊ทธ๋‹ค์Œ v1 ๋งคํŠธ๋ฆญ์Šค๋ฅผ ์ดˆ์•ˆ์œผ๋กœ ๋งŒ๋“ค๊ณ  ๋ฆฌ์†Œ์Šค ์˜ค๋„ˆ์™€ ํ•จ๊ป˜ ์ง‘์ค‘ ๋ฆฌ๋ทฐ๋ฅผ ํ•˜์„ธ์š”. ์‹ค์šฉ์ ์œผ๋กœ ์ ‘๊ทผํ•˜์„ธ์š”: "Support๊ฐ€ ์„ธ๊ธˆ๊ณ„์‚ฐ์„œ๋ฅผ ๋ณผ ์ˆ˜ ์žˆ๋‚˜?", "Finance๊ฐ€ ๊ณ ๊ฐ ์ •๋ณด๋ฅผ ์ˆ˜์ •ํ•  ์ˆ˜ ์žˆ๋‚˜?" ๋ˆ„๊ตฐ๊ฐ€ ์ฃผ์ €ํ•˜๋ฉด ์šฐ์„  ํ‰์ดํ•œ ๋ฌธ์žฅ์œผ๋กœ ๊ทœ์น™์„ ์ ์œผ์„ธ์š”. ๋‚˜์ค‘์— ํ˜•์‹ํ™”ํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค.

v1 ํ•ฉ์˜ ํ›„์—๋Š” ํ•œ ๋„๋ฉ”์ธ์„ ์—”๋“œํˆฌ์—”๋“œ๋กœ ๋จผ์ € ๋นŒ๋“œํ•˜์„ธ์š”. ๋ฐ์ดํ„ฐยท๋กœ์งยทUI๋ฅผ ๋ชจ๋‘ ๊ฑด๋“œ๋ฆฌ๋Š” ์–‡์€ ์Šฌ๋ผ์ด์Šค(์˜ˆ: ํ‹ฐ์ผ“ ์‹œ์Šคํ…œ, ๋˜๋Š” ์„ธ๊ธˆ๊ณ„์‚ฐ์„œ ์Šน์ธ)๋ฅผ ์„ ํƒํ•˜์„ธ์š”. ๋ˆ„๊ฐ€ ๋ณผ ์ˆ˜ ์žˆ๊ณ , ๋ˆ„๊ฐ€ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ์‹œ๋„ํ•  ๋•Œ ๋ฌด์Šจ ์ผ์ด ์ผ์–ด๋‚˜๋Š”์ง€ ๋‹ตํ•  ์ˆ˜ ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

AppMaster๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค๋ฉด ๋งคํŠธ๋ฆญ์Šค๋ฅผ ์ œํ’ˆ ์š”์†Œ์— ๋งคํ•‘ํ•œ ๋’ค์— ์ƒ์„ฑํ•˜์„ธ์š”:

  • Data Designer: ๋ฆฌ์†Œ์Šค๋ฅผ ์—”ํ‹ฐํ‹ฐ(ํ…Œ์ด๋ธ”)์™€ ๋ฒ”์œ„์— ์˜ํ–ฅ์„ ์ฃผ๋Š” ์ฃผ์š” ํ•„๋“œ(team_id, region_id ๋“ฑ)์™€ ์ •๋ ฌ
  • Business Processes: ๋ณ€๊ฒฝ์ด ์ผ์–ด๋‚˜๋Š” ์ง€์ ์—์„œ ๊ทœ์น™ ๊ฐ•์ œ(create, update, approve, export)
  • UI ๊ฐ€์‹œ์„ฑ ๊ทœ์น™: ์‚ฌ์šฉ์ž์—๊ฒŒ ํ•  ์ˆ˜ ์—†๋Š” ๋™์ž‘์€ ์ˆจ๊ธฐ๊ณ , ์ ‘๊ทผ ๊ฑฐ๋ถ€ ์‹œ ์ด์œ ๋ฅผ ๋ช…ํ™•ํžˆ ํ‘œ์‹œ
  • Endpoints: ๊ฐ ์—ญํ• ์— ํ•„์š”ํ•œ ๊ฒƒ๋งŒ ๋…ธ์ถœํ•˜๊ณ  ๊ด€๋ฆฌ์ž ์ „์šฉ ์ž‘์—…์€ ๋ถ„๋ฆฌ

๊ฐ„๋‹จํ•œ ์˜ˆ: ๋‘ ์—ญํ• (Support ์ƒ์„ฑ, Finance ์Šน์ธ)๋กœ ๊ตฌ์„ฑ๋œ "ํ™˜๋ถˆ ์š”์ฒญ" ํ๋ฆ„์„ ๋งŒ๋“œ์„ธ์š”. ๊ทธ ํ๋ฆ„์ด ๊น”๋”ํ•˜๊ฒŒ ์ž‘๋™ํ•˜๋ฉด "Support๋Š” 30๋ถ„ ๋‚ด์—๋งŒ ์ทจ์†Œ ๊ฐ€๋Šฅ" ๊ฐ™์€ ์—ฃ์ง€ ์ผ€์ด์Šค๋ฅผ ์ถ”๊ฐ€ํ•˜์„ธ์š”.

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

์‰ฌ์šด ์‹œ์ž‘
๋ฉ‹์ง„๋งŒ๋“ค๊ธฐ

๋ฌด๋ฃŒ ์š”๊ธˆ์ œ๋กœ AppMaster๋ฅผ ์‚ฌ์šฉํ•ด ๋ณด์„ธ์š”.
์ค€๋น„๊ฐ€ ๋˜๋ฉด ์ ์ ˆํ•œ ๊ตฌ๋…์„ ์„ ํƒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์‹œ์ž‘ํ•˜๋‹ค
๋‚ด๋ถ€ ๋„๊ตฌ์šฉ ๊ถŒํ•œ ๋งคํŠธ๋ฆญ์Šค ์„ค๊ณ„: ์—ญํ• ๊ณผ ๋ฒ”์œ„ | AppMaster