์๊ฐ์ ๋น์ฆ๋์ค ๋ก์ง ํ ์คํธ: ๋ฌด์์ ๋จผ์ ์๋ํํ ๊น?
์ํฌํ๋ก, API ๊ณ์ฝ, ์ฌํ ๊ฐ๋ฅํ ํ ์คํธ ๋ฐ์ดํฐ ์์ผ๋ก ์๊ฐ์ ๋น์ฆ๋์ค ๋ก์ง์ ์๋ํํ๋ ์ค์ฉ์ ์ธ ์ฐ์ ์์๋ฅผ ๋ฐฐ์ฐ์ธ์. ๋ชจ๋ธ ๋ณ๊ฒฝ ์ดํ์๋ ์๋ํ๋ ๋น ๋ฅธ ํผ๋๋ฐฑ ๋ฐฉ๋ฒ์ ์ ์ํฉ๋๋ค.

์๊ฐ์ ๋น์ฆ๋์ค ๋ก์ง์์ ํํ ์๋ชป๋๋ ์
์๊ฐ์ ์ํฌํ๋ก๋ ๋ ผ๋ฆฌ๋ฅผ ๋์ผ๋ก ํ์ธํ ์ ์์ด์ ๋ ์์ ํ๋ค๊ณ ๋๊ปด์ง๋๋ค. ํ์ง๋ง ์์ฃผ ๋ณ๊ฒฝ๋๊ณ ์์ ํธ์ง๋ง์ผ๋ก๋ ์ค์ ์ฌ์ฉ์ ๊ฒฝ๋ก๊ฐ ๊นจ์ง ์ ์์ต๋๋ค. ๊ทธ๋์ ๋ ธ์ฝ๋ ๋๊ตฌ์์๋ ์๊ฐ์ ๋น์ฆ๋์ค ๋ก์ง ํ ์คํธ๊ฐ ์ค์ํฉ๋๋ค.
๋๋ถ๋ถ ์คํจ๋ฅผ ์ผ์ผํค๋ ๊ฒ์ ์ํฌํ๋ก์ "ํฐ ์์ด๋์ด"๊ฐ ์๋๋๋ค. ๋ฌธ์ ๋ ์์ ์ฐ๊ฒฐ ๊ณ ๋ฆฌ์ ๋๋ค: ์กฐ๊ฑด์ด ๋ฐ๋๋ค(AND vs OR), ๊ธฐ๋ณธ๊ฐ์ด ๋ฐ๋๋ค, ๋จ๊ณ๊ฐ ์๋ชป๋ ์์๋ก ์คํ๋๋ค, ๋๋ ์๋ฌ ๋ถ๊ธฐ๊ฐ ๊ฑด๋๋ฐ์ด์ง๋ค. AppMaster์์๋ Business Process๊ฐ ํธ์ง๋๊ฑฐ๋ Data Designer ํ๋ ์ด๋ฆ์ด ๋ฐ๋๊ฑฐ๋ API ์๋ต ํํ๊ฐ ์งํํ ๋ ์ด๋ฐ ์ํฉ์ ๋ณด๊ฒ ๋ฉ๋๋ค.
๋ง์ ์คํจ๋ ๋์ ๋์ง ์์ต๋๋ค. ๋ชจ๋ ๊ฒ์ด ๋ฐฐํฌ๋๊ณ UI๋ ๋ก๋๋์ง๋ง, ์ํฌํ๋ก๊ฐ ์๋ชป๋ ๋ฉ์์ง๋ฅผ ๋ณด๋ด๊ฑฐ๋ ์ค๋ณต์ ๋ง๋ค๊ฑฐ๋ ์ฐจ๋จ๋์ด์ผ ํ ๊ฒ์ ์น์ธํด ๋ฒ๋ฆฝ๋๋ค. ์๋ ์ ๊ฒ์ ํ๋ฉด์ด ๋ฉ์ฉกํ๋ฉด ๋ฌธ์ ๋ฅผ ๋์น๊ธฐ ์ฝ์ต๋๋ค.
๋ชฉํ๋ ๋ชจ๋ ๊ฒ์ ํ ์คํธํ์ง ์๊ณ ๋ ๋น ๋ฅธ ํผ๋๋ฐฑ์ ์ป๋ ๊ฒ์ ๋๋ค. ํต์ฌ ๋ก์ง์ด ๋ฐ๋์์ ๋ ๊ฒฝ๊ณ ํ๋ ์๊ท๋ชจ ์๋ํ ๊ฒ์ฌ๋ฅผ ์ํ๊ณ , ์ฃ์ง ์ผ์ด์ค๋ ์๊ฐ์ ๋ค๋ฌ๊ธฐ๋ ์๋์ผ๋ก ๋จ๊ฒจ๋ก๋๋ค.
์ปค๋ฒ๋ฆฌ์ง๋ฅผ ์ค์ฉ์ ์ผ๋ก ์๊ฐํ๋ ๋ฐฉ๋ฒ์ ์๋ก ๋ณด์ํ๋ ์ธ ๊ณ์ธต์ ๋๋ค:
- ํต์ฌ ๊ฒฝ๋ก๋ฅผ ์๋ํฌ์๋๋ก ์คํํ๋ ์ํฌํ๋ก ์์ค ํ ์คํธ(์์ฒญ ์ ์ถ -> ๊ฒ์ฆ -> ์น์ธ -> ์๋ฆผ).
- UI์ ํตํฉ์ด ๊ธฐ๋ํ๋ ์ ๋ ฅ/์ถ๋ ฅ์ด ์ฌ์ ํ ์ผ์นํ๋์ง ํ์ธํ๋ API ๊ณ์ฝ ๊ฒ์ฌ.
- ๋ชจ๋ธ ๋ณ๊ฒฝ ํ์๋ ๋์ผํ๊ฒ ์ฌ๊ตฌ์ฑํ ์ ์๋ ์ฌํ ๊ฐ๋ฅํ ํ ์คํธ ๋ฐ์ดํฐ.
์: ๊ณ ๊ฐ์ง์ ์ฑ์ "ํ๋ถ ์น์ธ" ์ํฌํ๋ก๊ฐ ์๋ค๋ฉด ๋ชจ๋ ํ๋ฉด์ ํ ์คํธํ ํ์๋ ์์ต๋๋ค. ํ๋ ์ด๊ณผ ์์ฒญ์ด ํญ์ ๋งค๋์ ๋ก ๋ผ์ฐํ ๋๋์ง, ์ํ๊ฐ ์ฌ๋ฐ๋ฅด๊ฒ ์ ๋ฐ์ดํธ๋๋์ง, ์ด๋ฉ์ผ์ด๋ Telegram์ผ๋ก ์ ์ก๋๋ ๋ฉ์์ง์ ์ฌ๋ฐ๋ฅธ ํ๋๊ฐ ํฌํจ๋๋์ง๋ง ํ์ ํ๋ฉด ๋ฉ๋๋ค.
์ํฌํ๋ก, API, UI๋ฅผ ์ํ ๊ฐ๋จํ ํ ์คํธ ๋งต
๋ฌด์์ ํ ์คํธํ๋์ง(๋ก์ง)์ ์ด๋์ ์คํ๋๋์ง(์ํฌํ๋ก, API, UI)๋ฅผ ๋ถ๋ฆฌํ๋ฉด ํ ์คํธ๊ฐ ์ฌ์์ง๋๋ค. ๋ชฉํ๋ ๋ชจ๋ ๊ฒ์ ๋ชจ๋ ๊ณณ์์ ํ ์คํธํ๋ ๊ฒ์ด ์๋๋ผ, ๊ธฐ๋ฅ์ด ์ฌ์ ํ ์๋ํจ์ ์ฆ๋ช ํ๋ ๊ฐ์ฅ ์์ ์กฐ๊ฐ์ ๊ณ ๋ฅด๋ ๊ฒ์ ๋๋ค.
"์ ๋ ์คํ์ผ" ๋ก์ง ๊ฒ์ฌ๋ ํ ๋ฒ์ ํ๋์ ๊ท์น(๊ณ์ฐ, ์กฐ๊ฑด, ์ํ ๋ณ๊ฒฝ)์ ์ง์คํฉ๋๋ค. ๋น ๋ฅด๊ณ ์ค๋ฅ ์์น๋ฅผ ์ ํํ ์๋ ค์ฃผ์ง๋ง, ์ฌ๋ฌ ๋จ๊ณ๊ฐ ์ฐ์๋ ๋๋ง ๋ํ๋๋ ๋ฌธ์ ๋ ๋์นฉ๋๋ค.
์ํฌํ๋ก ์์ค ํ ์คํธ๋ ์ค๊ฐ ๊ณ์ธต์ ๋๋ค. ๋ช ํํ ์ํ์์ ์์ํด ํ์ค์ ์ธ ์ ๋ ฅ์ ์ํฌํ๋ก์ ๋ฃ๊ณ ์ค์ํ ๊ฒฐ๊ณผ(์์ฑ๋ ๋ ์ฝ๋, ๋ณ๊ฒฝ๋ ์ํ, ์ ์ก๋ ์๋ฆผ, ๊ฑฐ๋ถ๋ ๋์)๋ฅผ ๋จ์ธํฉ๋๋ค. AppMaster์์๋ ์ ์ฒด UI๋ฅผ ํด๋ฆญํ์ง ์๊ณ Business Process๋ฅผ ๋๊น์ง ์คํํ๋ ๊ฒฝ์ฐ๊ฐ ๋ง์ต๋๋ค.
์๋ํฌ์๋ UI ํ ์คํธ๋ ์ต์์์ ์์นํฉ๋๋ค. ๋ฐฐ์ (wiring) ๋ฌธ์ ๋ฅผ ์ก์ ์ ์์ง๋ง ๋๋ฆฌ๊ณ ๊นจ์ง๊ธฐ ์ฝ์ต๋๋ค. UI๋ง์ผ๋ก ์์กดํ๋ฉด ํ ์คํธ ๊ณ ์น๋๋ฐ ๋ ๋ง์ ์๊ฐ์ ์ฐ๊ฒ ๋ฉ๋๋ค.
๊ฐ์ฅ ์์ ์ ๋ขฐ ๊ฐ๋ฅํ ํ ์คํธ ์กฐ๊ฐ์ ๊ณ ๋ฅผ ๋ ๋ค์ ์์๊ฐ ์ ์๋ํฉ๋๋ค:
- ๊ธฐ๋ฅ์ด ์ฌ๋ฌ ๋จ๊ณ๋ ์ญํ ์ ํฌํจํ๋ฉด ์ํฌํ๋ก ์์ค ํ ์คํธ๋ก ์์ํ์ธ์.
- UI๋ ํตํฉ์ด ๋์ผํ ์๋ํฌ์ธํธ์ ์์กดํ๋ฉด API ๊ณ์ฝ ๊ฒ์ฌ๋ฅผ ์ถ๊ฐํ์ธ์.
- ๋ก๊ทธ์ธ, ์ฒดํฌ์์, ์์ฒญ ์ ์ถ ๊ฐ์ ํต์ฌ ์ฌ์ฉ์ ๊ฒฝ๋ก์ ๋ํด์๋ง UI ํ ์คํธ๋ฅผ ์ฌ์ฉํ์ธ์(1~2๊ฐ).
- ์๊ณ๊ฐ, ๊ถํ ๊ฐ์ ๊น๋ค๋ก์ด ๊ท์น์๋ ์ ๋ ์คํ์ผ ๊ฒ์ฌ๋ฅผ ์ฌ์ฉํ์ธ์.
์น์ธ ํ๋ก์ธ์ค์ ๊ฒฝ์ฐ: ์์ฒญ์ Draft์์ Approved๋ก ์ด๋์ํค๋ ํ ๊ฐ์ ์ํฌํ๋ก ํ
์คํธ, status ํ๋๋ฅผ ์ผ๊ด๋๊ฒ ์ ์งํ๋ ๊ณ์ฝ ๊ฒ์ฌ ํ๋, ์ฌ์ฉ์๊ฐ ์์ฒญ์ ์ ์ถํ ์ ์์์ ์ฆ๋ช
ํ๋ UI ํ
์คํธ ํ๋ ์ ๋๋ฉด ๋ฉ๋๋ค.
๋จผ์ ์๋ํํ ๊ฒ(๊ทธ๋ฆฌ๊ณ ๋น์ฅ์ ์๋์ผ๋ก ๋ ๊ฒ)
์์ ๋ก์ง ๋ฒ๊ทธ๊ฐ ๊ฐ์ฅ ํฐ ํผํด๋ฅผ ์ฃผ๋ ๊ณณ๋ถํฐ ์๋ํ๋ฅผ ์์ํ์ธ์. ๋ณดํต ๊ธ์ , ๊ถํ, ๊ณ ๊ฐ ๋ฐ์ดํฐ์ ์ฐ๊ฒฐ๋ ์ํฌํ๋ก๊ฐ ์ฐ์ ์์์ ๋๋ค. ์๋ชป๋๋ฉด ์๋ชป๋ ๊ธ์ก์ ์ฒญ๊ตฌํ๊ฑฐ๋ ๊ธฐ๋ก์ ๋ ธ์ถ์ํค๊ฑฐ๋ ์ฌ์ฉ์๋ฅผ ์ฐจ๋จํ ์ ์๋ ๊ฒฝ์ฐ ์ต์ฐ์ ์ ๋๋ค.
๋ค์์ผ๋ก ์๋์ ์ผ๋ก ๋ณต์กํ ์ํฌํ๋ก๋ฅผ ๋ชฉํ๋ก ์ผ์ผ์ธ์: ๋จ๊ณ์ ๋ถ๊ธฐ, ์ฌ์๋, ํตํฉ์ด ๋ง์ ๊ฒฝ์ฐ์ ๋๋ค. ๋ฐ๋ชจ์ "ํ๋ณต ๊ฒฝ๋ก(happy path)"์์ ๋์น ์กฐ๊ฑด์ด API๊ฐ ๋๋ฆฌ๊ฑฐ๋ ๊ฒฐ์ ๊ฐ ์คํจํ๊ฑฐ๋ ์ฌ์ฉ์๊ฐ ํน์ดํ ์ญํ ์ ๊ฐ์ง ๋ ์ค์ ์ฌ๊ณ ๋ก ์ด์ด์ง๋๋ค.
๋น๋๋ ์ค์ํฉ๋๋ค. ํ๋ฃจ์ ์์ฒ ๋ฒ ์คํ๋๋ ์ํฌํ๋ก(์ฃผ๋ฌธ ์์ฑ, ํฐ์ผ ๋ผ์ฐํ , ๋น๋ฐ๋ฒํธ ์ฌ์ค์ )๋ ํ ๋ฌ์ ํ ๋ฒ ์คํ๋๋ ๊ด๋ฆฌ์ ํ๋ก์ธ์ค๋ณด๋ค ์๋ํ๋ฅผ ์ฐ์ ์ํด์ผ ํฉ๋๋ค.
ํ ์คํธ๋ฅผ ์์ฑํ๊ธฐ ์ ์ ๊ฒฐ๊ณผ๋ฅผ ์ธก์ ๊ฐ๋ฅํ๊ฒ ๋ง๋์ธ์. ์ข์ ์๋ํ ํ ์คํธ๋ "๋ณด๊ธฐ์๋ ๊ด์ฐฎ๋ค"๊ฐ ์๋๋ผ "๋ ์ฝ๋ X๋ ์ํ Y๋ก ๋๋๊ณ , ์ด ๋ถ์ ํจ๊ณผ๋ค์ด ์ ํํ ํ ๋ฒ ๋ฐ์ํ๋ค"์ ๋๋ค. AppMaster Business Processes์์๋ ์ ๋ ฅ, ์์ ์ํ ๋ณ๊ฒฝ, ์์ ํธ์ถ์ด๋ ๋ฉ์์ง๋ก ๋ช ํํ ํํํ ์ ์์ต๋๋ค.
์๋ํ ์ฐ์ ์์๋ฅผ ๋น ๋ฅด๊ฒ ํ๋จํ๋ ํํฐ:
- ํ๋ฆฌ๋ฉด ์ํฅ์ด ํฐ ๊ฒฝ์ฐ(๊ธ์ , ์ ๊ทผ, ๋ฏผ๊ฐ ๋ฐ์ดํฐ)
- ๋ถ๊ธฐ๋ ์ธ๋ถ ์๋น์ค๊ฐ ๋ง์ด ๊ด์ฌํ๋ ๊ฒฝ์ฐ
- ์์ฃผ ์คํ๋๊ฑฐ๋ ๋ง์ ์ฌ์ฉ์์ ์ํฅ์ ๋ฏธ์น๋ ๊ฒฝ์ฐ
- ๋์ค์ ๋๋ฒ๊น ํ๊ธฐ ์ด๋ ค์ด ๊ฒฝ์ฐ(๋ฌด์ ์คํจ, ๋น๋๊ธฐ ๋จ๊ณ)
- ํ ๋ฌธ์ฅ์ผ๋ก ์์ฑ ๊ฐ๋ฅํ ๋ช ํํ ํฉ/๋ถํฉ ์กฐ๊ฑด์ด ์๋ ๊ฒฝ์ฐ
ํ์์ ๊ฒ์ฌ, ์๊ฐ์ ๋ ์ด์์, ์์ง ๋ฐ๊ฒฌ ์ค์ธ ์ฃ์ง ์ผ์ด์ค๋ ์๋ ํ ์คํธ๋ก ๋จ๊ฒจ๋์ธ์. ๋์์ด ์์ ๋๊ณ ๋ฌด์์ "์ฑ๊ณต"์ผ๋ก ๋ณผ์ง ๋ชจ๋ ๋์ํ ๋ ์๋ํํ์ธ์.
์ค์ ๋ก์ง ์ค๋ฅ๋ฅผ ์ก๋ ์ํฌํ๋ก ์์ค ํ ์คํธ
์ํฌํ๋ก ์์ค ํ ์คํธ๋ ์ ๋ ๊ฒ์ฌ ๋ฐ๋ก ์ ๋จ๊ณ์ ์์ต๋๋ค. ์ํฌํ๋ก๋ฅผ ๋ธ๋๋ฐ์ค๋ก ๋ณด๊ณ : ํธ๋ฆฌ๊ฑฐํ๊ณ ์ต์ข ์ํ์ ๋ถ์ ํจ๊ณผ๋ฅผ ๊ฒ์ฆํฉ๋๋ค. ์ฌ์ฉ์๊ฐ ์ค์ ๋ก ๋๋ผ๋ ์ค๋ฅ๋ ์ฌ๊ธฐ์ ์กํ๋๋ค.
ํ๋์ ํธ๋ฆฌ๊ฑฐ์ ํ๋์ ์ค์ํ ๊ฒฐ๊ณผ๋ฅผ ์ด๋ฆ์ผ๋ก ์ ํ์ธ์. ์: "์์ฒญ์ด ์ ์ถ๋๋ฉด ์ํ๊ฐ Pending์ด ๋๊ณ ์น์ธ์์๊ฒ ์๋ฆผ์ด ์ ์ก๋๋ค." ์ด ์กฐ๊ฑด์ด ์ ์ง๋๋ฉด ์์ ๋ด๋ถ ๋ฆฌํฉํฐ๋ ๋๋ถ๋ถ ๋ฌธ์ ๋ฅผ ์ผ์ผํค์ง ์์ต๋๋ค.
๊ฒฐ๊ณผ๋ฅผ ๋ฐ๊พธ๋ ๋ถ๊ธฐ๋ง ์ปค๋ฒํ๊ณ ๋ชจ๋ ๋ ธ๋๋ฅผ ๊ฒ์ฌํ ํ์๋ ์์ต๋๋ค. ๊ฐ๊ฒฐํ ์ธํธ ์์๋:
- ์ฑ๊ณต ๊ฒฝ๋ก(๋ชจ๋ ๊ฒ์ด ์ ํจํ๊ณ ์ฌ์ฉ์๊ฐ ๊ถํ์ด ์์)
- ๊ฒ์ฆ ์คํจ(ํ์ ํ๋ ๋๋ฝ, ํ์ ์ค๋ฅ, ๊ธ์ก ๋ฒ์ ์ด๊ณผ)
- ๊ถํ ๊ฑฐ๋ถ(์ฌ์ฉ์๋ ๋ณผ ์๋ ์์ง๋ง ํ๋ํ ์ ์์)
๊ทธ ๋ค์ ์ํฌํ๋ก๊ฐ ์ค์ ๋ก ์คํ๋์์์ ์ฆ๋ช ํ๋ ๋ถ์ ํจ๊ณผ๋ฅผ ์ ๊ฒํ์ธ์: PostgreSQL์ ์์ฑ๋๊ฑฐ๋ ์ ๋ฐ์ดํธ๋ ๋ ์ฝ๋, ๋ณ๊ฒฝ๋ ์ํ ํ๋, ์ ์ก๋ ๋ฉ์์ง(์ด๋ฉ์ผ/SMS ๋๋ Telegram)๋ฅผ ํ์ธํฉ๋๋ค.
ํ ์คํธ๋ฅผ ์งง๊ฒ ์ ์งํ๋ ํจํด์ "ํธ๋ฆฌ๊ฑฐ, ๊ทธ๋ฆฌ๊ณ ๊ฒฐ๊ณผ ๋จ์ธ"์ ๋๋ค:
- ํธ๋ฆฌ๊ฑฐ: ์ต์ ์ ๋ ฅ์ ๋ง๋ค์ด ์ํฌํ๋ก๋ฅผ ์์(API ํธ์ถ, ์ด๋ฒคํธ, ๋ฒํผ ์ก์ )
- ์ต์ข ์ํ: ์ํ, ์์ ์/๋ด๋น์, ํ์์คํฌํ
- ๋ถ์ ํจ๊ณผ: ์ ๋ ์ฝ๋, ๊ฐ์ฌ ๋ก๊ทธ ํญ๋ชฉ, ํ์ ์์ธ ์๋ฆผ
- ๋น์ฆ๋์ค ๊ท์น: ํ๋, ํ์ ์น์ธ, "์๊ธฐ ์์ ์ ์์ฒญ ์น์ธ ๋ถ๊ฐ"
- ๋๋ผ์ ์์: ์ถ๊ฐ ์์ฑ ์์, ์ค๋ณต ๋ฉ์์ง ์์
์ฌ๊ธฐ์๋ ํฝ์ ๋จ์์ UI ํ์ธ์ ํผํ์ธ์. ๋ฒํผ์ด ์ด๋ํ๋๋ผ๋ ๋น์ฆ๋์ค ๊ท์น์ ๋ณํ์ง ์์ต๋๋ค. UI ๋ชจ์๊ณผ ์๊ด์์ด ์ํฌํ๋ก๊ฐ ๋ณด์ฅํด์ผ ํ๋ ๊ฒ์ ๋จ์ธํ์ธ์.
๊ฐ ์ํฌํ๋ก ํ ์คํธ๋ ํ ๊ฐ์ง ๊ฒฐ๊ณผ์ ์ง์คํ์ธ์. ํ๋์ ํ ์คํธ๊ฐ ๋ค์ฏ ๊ฐ์ง ๊ท์น๊ณผ ์ธ ๊ฐ์ง ๋ถ์ ํจ๊ณผ๋ฅผ ๊ฒ์ฆํ๋ ค ํ๋ฉด ์ฝ๊ธฐ ์ด๋ ต๊ณ ๊ณ ์น๊ธฐ ๊ณ ํต์ค๋ฝ์ต๋๋ค.
๋ฌด์ ์คํจ๋ฅผ ๋ง๋ API ๊ณ์ฝ ๊ฒ์ฌ
API ๊ณ์ฝ์ API๊ฐ ์งํค๊ธฐ๋ก ํ ์ฝ์์ ๋๋ค: ๋ฌด์์ ๋ฐ๋์ง, ๋ฌด์์ ๋ฐํํ๋์ง, ์ด๋ป๊ฒ ์คํจํ๋์ง. ์ด ์ฝ์์ด ์๊ณ ์์ด ๋ฐ๋๋ฉด ์ต์ ์ ๋ฒ๊ทธ๊ฐ ๋ฐ์ํฉ๋๋ค: ๋ชจ๋ ๊ฒ์ด ์ ์์ฒ๋ผ ๋ณด์ด๋ค๊ฐ ํน์ ๊ฒฝ๋ก์์ ์ค์ ์ฌ์ฉ์์๊ฒ ๋ฌธ์ ๊ฐ ์๊น๋๋ค.
๊ณ์ฝ ๊ฒ์ฌ๋ ์ํฌํ๋ก๊ฐ API ํธ์ถ์ ์์กดํ ๋ ์ด๋ฅผ ๋ณดํธํ๋ ๋น ๋ฅธ ๋ฐฉ๋ฒ์ ๋๋ค. ๋น์ฆ๋์ค ๋ก์ง์ ์ ํ์ฑ์ ์ฆ๋ช ํ์ง ๋ชปํ์ง๋ง, ๋ฌด์์ UI ์คํจ๋ก ๋ํ๋๊ธฐ ์ ์ ๊นจ์ง๋ ๋ณ๊ฒฝ์ ์ก์๋ ๋๋ค.
๊ณ์ฝ์์ ๊ณ ์ ํด์ผ ํ ํญ๋ชฉ
ํด๋ผ์ด์ธํธ๋ฅผ ์กฐ์ฉํ ๊นจํธ๋ฆฌ๋ ๊ฒฝํฅ์ด ์๋ ํญ๋ชฉ๋ถํฐ ์์ํ์ธ์:
- ์ผ๋ฐ์ ์ธ ๊ฒฐ๊ณผ์ ๋ํ ์ํ ์ฝ๋(์ฑ๊ณต, ๊ฒ์ฆ ์ค๋ฅ, ๊ธ์ง, ์ฐพ์ ์ ์์)
- ์์ฒญ๊ณผ ์๋ต์ ํ์ ํ๋(์ด๋ค ํ๋๊ฐ null์ด ๋ ์ ์๋์ง)
- ํ๋ ํ์ ๊ณผ ํ์(์ซ์ vs ๋ฌธ์์ด, ๋ ์ง ํ์, enum ๊ฐ)
- ๊ฒ์ฆ ๋ฉ์์ง(์ ํํ ํ ์คํธ๊ฐ ์๋๋ผ ์์ ์ ์ธ ํค/์ฝ๋)
- ์๋ฌ ํํ(์๋ฌ๊ฐ ์ด๋์ ์๋์ง, ์ฌ๋ฌ ์๋ฌ๋ ์ด๋ป๊ฒ ๋ฐํ๋๋์ง)
๋ถ์ ํ ์คํธ๋ ์๋์ ์ผ๋ก ํฌํจํ์ธ์: ํ์ ํ๋ ๋๋ฝ, ์๋ชป๋ ํ์ ์ ์ก, ๊ถํ ์์ด ์ก์ ์๋. ์ด๋ฐ ํ ์คํธ๋ ์ ๋ ดํ๋ฉด์ ์ํฌํ๋ก์ API ๊ฐ์ ๊ฐ์ ๋ถ์ผ์น๋ฅผ ๋๋ฌ๋ ๋๋ค.
AppMaster๋ก ๋น๋ํ๋ ๊ฒฝ์ฐ ๋ชจ๋ธ์ด๋ ๋ก์ง ๋ณ๊ฒฝ ํ ์ฑ์ ์ฌ์์ฑํ ๋ ๊ณ์ฝ์ ๋ ์ค์ํฉ๋๋ค. ํ๋ ์ด๋ฆ ๋ณ๊ฒฝ, ๊ฒ์ฆ ๊ท์น ๊ฐํ, ์๋ก์ด ํ์ ์์ฑ์ ๋ฐฑ์๋๊ฐ ์ฑ๊ณต์ ์ผ๋ก ์ปดํ์ผ๋์ด๋ ์ด์ ํด๋ผ์ด์ธํธ๋ ํตํฉ์ ๊นจํธ๋ฆด ์ ์์ต๋๋ค.
๊ณ์ฝ ๊ฒ์ฌ๋ฅผ ์ด๋์ ์คํํ ๊น
ํ๋์ ์ ๋ขฐ ๊ฐ๋ฅํ ์ฅ์๋ฅผ ์ ํํ๊ณ , ๋ ๋น ๋ฅธ ํผ๋๋ฐฑ์ด ํ์ํ ๋๋ง ์ถ๊ฐํ์ธ์:
- ํต์ฌ ์๋ํฌ์ธํธ ๋ณ๊ฒฝ ์ CI์์ ๋งค๋ฒ ์คํ
- ์คํ ์ด์ง ๋ฐฐํฌ ํ ํ๊ฒฝ ํน์ด ๋ฌธ์ ํฌ์ฐฉ
- ์ผ๊ฐ ์คํ์ผ๋ก ๊ด๋ฒ์ํ ์ปค๋ฒ๋ฆฌ์ง๋ฅผ ํ๋ณด
ํธํ์ฑ ๊ธฐ๋์น์๋ ํฉ์ํ์ธ์. ์ด์ ํด๋ผ์ด์ธํธ๊ฐ ๊ณ์ ์๋ํด์ผ ํ๋ค๋ฉด ํ๋ ์ ๊ฑฐ๋ ์๋ฏธ ๋ณ๊ฒฝ์ ๋ฒ์ ํ๋ ๋ณ๊ฒฝ์ผ๋ก ์ฒ๋ฆฌํ์ธ์. ์์ ๋ฆฌํฉํฐ๋ก ๋ณด์ง ๋ง์ธ์.
์ ๋ขฐํ ์ ์๋ ์ฌํ ๊ฐ๋ฅํ ํ ์คํธ ๋ฐ์ดํฐ
์ํฌํ๋ก ํ ์คํธ๋ ํญ์ ๋์ผํ ์ํ์์ ์์ํ ๋๋ง ๋์์ด ๋ฉ๋๋ค. ์ฌํ ๊ฐ๋ฅํ ํ ์คํธ ๋ฐ์ดํฐ๋ ์์ธก ๊ฐ๋ฅํ๊ณ ๋ค๋ฅธ ํ ์คํธ์ ๊ฒฉ๋ฆฌ๋๋ฉฐ ์ฝ๊ฒ ์ฌ์ค์ ๋์ด ์ด์ ์คํ์ด ๋ค์ ์คํ์ ์ํฅ์ ์ฃผ์ง ์์ต๋๋ค. ๋ง์ ํ ์คํธ ๋ ธ๋ ฅ์ด ์ฌ๊ธฐ์ ์กฐ์ฉํ ์คํจํฉ๋๋ค.
์ญํ ๊ณผ ์ํฌํ๋ก๊ฐ ์์กดํ๋ ํต์ฌ ๋ ์ฝ๋๋ฅผ ํฌํจํ ์์ ์๋ ๋ฐ์ดํฐ์ ์ ์ ์งํ์ธ์: Admin ์ฌ์ฉ์, ๋งค๋์ , ์ผ๋ฐ ์ง์, ๊ณ ๊ฐ 1๋ช , ํ์ฑ ๊ตฌ๋ 1๊ฐ, ๊ทธ๋ฆฌ๊ณ ๋ฌธ์ ์ฌ๋ก 1๊ฑด(์ฐ์ฒด ์ก์ฅ ๋ฑ). ์ด๋ฌํ ์๋๋ฅผ ํ ์คํธ ์ ๋ฐ์์ ์ฌ์ฌ์ฉํ๋ฉด ๋ก์ง ๊ฒ์ฆ์ ์๊ฐ์ ์ฐ๊ณ ๋ฐ์ดํฐ๋ฅผ ์ฌ์ฐฝ์กฐํ๋ ๋ฐ ์๊ฐ์ ๋ญ๋นํ์ง ์์ต๋๋ค.
์ถ๊ฐ ํ ์คํธ๋ฅผ ์ถ๊ฐํ๊ธฐ ์ ์ ํ๊ฒฝ์ ๊นจ๋ํ ์ํ๋ก ๋๋๋ฆฌ๋ ๋ฐฉ์์ ๊ฒฐ์ ํ์ธ์:
- ๋งค ์คํ๋ง๋ค ํ ์คํธ ํ๊ฒฝ์ ์ฒ์๋ถํฐ ์ฌ๊ตฌ์ฑ(๋๋ฆฌ์ง๋ง ๋งค์ฐ ๊นจ๋)
- ์คํ ์ฌ์ด์ ํต์ฌ ํ ์ด๋ธ์ ์๋ผ๋ด๊ธฐ ๋๋ ๋น์ฐ๊ธฐ(๋น ๋ฅด์ง๋ง ์ฃผ์ ํ์)
- ๊ฐ ํ ์คํธ๊ฐ ๊ฑด๋๋ ๊ฒ๋ง ๋ค์ ์์ฑ(๊ฐ์ฅ ๋น ๋ฅด์ง๋ง ์ค์ํ๊ธฐ ์ฌ์)
ํต์ฌ ๊ฒ์ฌ๋ ๋ฌด์์์ฑ์ ํผํ์ธ์. ํ์์ ์คํ์์๋ ๋ฌด์์ ์ด๋ฆ, ํ์์คํฌํ, ๊ธ์ก์ ์จ๋ ๋์ง๋ง, ํต์ฌ ๊ฒ์ฌ์์๋ ๊ณ ์ ๊ฐ(์: InvoiceTotal = 100.00)์ ์ฌ์ฉํ๊ณ ํ ์คํธ๊ฐ ๊ท์น์ ์ฆ๋ช ํ ๋๋ง ํ๋์ ๋ณ์๋ฅผ ๋ฐ๊พธ์ธ์.
๋ํ ๊ฐ ์ํฌํ๋ก ํ ์คํธ์ ํ์ํ ์ต์ ๋ฐ์ดํฐ๋ฅผ ๋ฌธ์ํํ์ธ์: ์ด๋ค ์ฌ์ฉ์ ์ญํ , ์ด๋ค ์ํ ํ๋, ์ด๋ค ๊ด๋ จ ์ํฐํฐ๊ฐ Business Process ์์ ์ ์ ์กด์ฌํด์ผ ํ๋์ง. ํ ์คํธ ์คํจ ์ ๋ก์ง์ด ๊นจ์ก๋์ง ์ค์ ์ด ์๋ชป๋์๋์ง ๋น ๋ฅด๊ฒ ํ๋จํ ์ ์์ต๋๋ค.
๋ชจ๋ธ ๋ณ๊ฒฝ์ ๊ฒฌ๋๋ ํ ์คํธ ๋ง๋ค๊ธฐ
๋ชจ๋ธ ๋ณ๊ฒฝ์ "์ข์" ํ ์คํธ๊ฐ ๊ฐ์๊ธฐ ์คํจํ๋ ๊ฐ์ฅ ํฐ ์์ธ์ ๋๋ค. ํ๋ ์ด๋ฆ์ ๋ฐ๊พธ๊ฑฐ๋ ํ ์ด๋ธ์ ๋ถ๋ฆฌํ๊ฑฐ๋ ๊ด๊ณ๋ฅผ ๋ณ๊ฒฝํ๊ฑฐ๋ Data Designer๋ฅผ ์ ๋ฐ์ดํธํด AppMaster ์ฑ์ ์ฌ์์ฑํ๋ฉด ํ ์คํธ ์ค์ ์ด ์ฌ์ ํ ์ด์ ํํ๋ก ์ฐ๊ธฐ๋ฅผ ์๋ํฉ๋๋ค. ๋ ์ฌํ ๊ฒฝ์ฐ, ํ ์คํธ๊ฐ ๋ด๋ถ ์ทจ์ฝํ ID์ ์์กดํ๋ฉด ํ๋ฆฐ ๊ฒ์ ๊ฒ์ฌํ๋ฉด์๋ ํต๊ณผํ ์ ์์ต๋๋ค.
๋ฐ์ดํฐ๋ฒ ์ด์ค ID๋ ์๋ ์์ฑ๋๋ UUID๋ฅผ ํ๋์ฝ๋ฉํ๋ ๊ฒ์ ํํ ํจ์ ์ ๋๋ค. ์ด๋ฌํ ๊ฐ์ ๋น์ฆ๋์ค ์๋ฏธ๋ฅผ ๋ด๊ณ ์์ง ์์ผ๋ฉฐ ์๋ ๋ฐ์ดํฐ ์ฌ๋ฐฐ์น, ํ๊ฒฝ ์ฌ๊ตฌ์ฑ, ์ํฐํฐ ์ถ๊ฐ ๋ฑ์ผ๋ก ๋ฐ๋ ์ ์์ต๋๋ค. ํ ์คํธ๋ ์ด๋ฉ์ผ, ์ฃผ๋ฌธ ๋ฒํธ, ์ธ๋ถ ์ฐธ์กฐ, ์ฌ๋์ด ์ฝ์ ์ ์๋ ์ฝ๋ ๊ฐ์ ์์ ์ ์ธ ๋น์ฆ๋์ค ์๋ณ์์ ๊ณ ์ ํ์ธ์.
ํ์ฌ ๋ชจ๋ธ์์ ํ ์คํธ ๋ฐ์ดํฐ ์์ฑํ๊ธฐ
ํ ์คํธ ๋ฐ์ดํฐ๋ฅผ ์์ ์ ํ ๊ธฐ๋ฅ์ฒ๋ผ ์ทจ๊ธํ์ธ์. ์ง๋๋ฌ ๋ชจ๋ธ์ด ์๋๋ผ ์ค๋์ ๋ชจ๋ธ์ ๊ธฐ๋ฐํด ์ํฐํฐ๋ฅผ ์์ฑํ๋ ๋ฐ์ดํฐ ๋น๋๋ฅผ ์ฌ์ฉํ์ธ์. ํ์ ํ๋๊ฐ ์ถ๊ฐ๋๋ฉด ๋น๋ ํ๋๋ง ์ ๋ฐ์ดํธํ๋ฉด ๋ชจ๋ ํ ์คํธ๊ฐ ํํ์ ๋ด ๋๋ค.
ํญ์ ๊ฐ์ ์ญํ (Requester, Approver), ํ ๋ถ์, ํ ์ํ ๊ณ ๊ฐ ๊ฐ์ ์์์ ์ ํํ๋ ์ํฐํฐ ์ธํธ๋ฅผ ์ ์งํ์ธ์. ์ด๋ ๊ฒ ํ๋ฉด ์ํฌํ๋ก ํ ์คํธ๊ฐ ์ฝ๊ธฐ ์ฌ์์ง๊ณ ์ผํ์ฑ ํฝ์ค์ฒ๊ฐ ์์ด์ง ์์ต๋๋ค.
์ค์ํธ ์์ ์ฑ์ ์ ์งํ๋ ๊ท์น:
- ๋จ์ธ์๋ ๋ด๋ถ ID๊ฐ ์๋ ๋น์ฆ๋์ค ํค(์:
employee_email)๋ฅผ ์ฌ์ฉํ์ธ์. - ์ํฐํฐ ์์ฑ์ ๋น๋์ ์ค์ํํ์ธ์(ํ๋ ๋ณ๊ฒฝ ์ ํ ๊ณณ๋ง ๊ณ ์น๋ฉด ๋ฉ๋๋ค).
- ๋๋ถ๋ถ์ ์ํฌํ๋ก๋ฅผ ์ปค๋ฒํ๋ 5โ10๊ฐ์ ์ ํํ๋ ๋ ์ฝ๋๋ฅผ ์ ์งํ์ธ์.
- ์๋ ๋ฐ์ดํฐ๊ฐ ์ฌ์ ํ ๋ก๋๋๋์ง ํ์ธํ๋ ๋ง์ด๊ทธ๋ ์ด์ ์ฒดํฌ ํ ์คํธ๋ฅผ ์ถ๊ฐํ์ธ์.
- ํ์ ํ๋๋ ๊ด๊ณ๊ฐ ๋ฐ๋๋ฉด ๋น ๋ฅด๊ฒ ์คํจํ๊ณ ๋ช ํํ ์ค๋ฅ๋ฅผ ์ถ๋ ฅํ์ธ์.
๊ทธ ๋ง์ด๊ทธ๋ ์ด์ ์ฒดํฌ ํ ์คํธ๋ ๋จ์ํ์ง๋ง ๊ฐ๋ ฅํฉ๋๋ค. ์๋ ๋ฐ์ดํฐ๊ฐ ๋ ์ด์ ๋ชจ๋ธ์ ๋ง์ง ์์ผ๋ฉด ์ฌ๋ฌ ์ํฌํ๋ก ํ ์คํธ๊ฐ ํผ๋์ค๋ฝ๊ฒ ์คํจํ๊ธฐ ์ ์ ์ฆ์ ์ ์ ์์ต๋๋ค.
AppMaster ํ๋ก์ ํธ์์ ํนํ ์ฃผ์ํ ์
AppMaster๋ ๋น ๋ฅด๊ฒ ์์ง์ด๊ธฐ ์ฝ๊ฒ ํด์ฃผ๋ฏ๋ก ์ฑ์ด ๋น ๋ฅด๊ฒ ํํ๋ฅผ ๋ฐ๊ฟ ์ ์์ต๋๋ค. ์๊ฐ์ ๋ฐ ๋ชจ๋ธ ๋ณ๊ฒฝ์ "๋์ค์ ํ์ธํ์"๊ฐ ์๋๋ผ ํ ์คํธ ํธ๋ฆฌ๊ฑฐ๋ก ๋ค๋ฃจ์ธ์. ์๊ฐ์ ๋น์ฆ๋์ค ๋ก์ง ํ ์คํธ๋ ๋ชจ๋ธ ๋ณ๊ฒฝ ์ค์ ๋ฌธ์ ๋ฅผ ์ก์ ๋ ๊ฐ์น๊ฐ ์ปค์ง๋๋ค, ์ฌ์ฉ์์๊ฒ ๋ฌธ์ ๊ฐ ์๊ธด ๋ค์ ์ก๋ ๊ฒ์ด ์๋๋ผ.
Data Designer(PostgreSQL ๋ชจ๋ธ)๋ฅผ ํธ์งํ ๋๋ ์ด์ ์๋ ๋ฐ์ดํฐ๊ฐ ๋ ์ด์ ๋ง์ง ์์ ์ ์๋ค๊ณ ๊ฐ์ ํ์ธ์. ํ๋ ์ด๋ฆ ๋ณ๊ฒฝ, ์๋ก์ด ํ์ ์ด, ๊ด๊ณ ๋ณ๊ฒฝ์ ์ค์ ์คํฌ๋ฆฝํธ๋ฅผ ๊นจ๋จ๋ ค ํ ์คํธ๊ฐ ์๋ชป๋ ์ด์ ๋ก ์คํจํ๊ฒ ๋ง๋ญ๋๋ค. ๊ฐ ๋ฐ์ดํฐ ๋ชจ๋ธ ์ ๋ฐ์ดํธ๋ฅผ ์๋ ๋ฐ์ดํฐ๋ฅผ ์๋ก๊ณ ์นจํ๋ ์ ํธ๋ก ์ฌ์ฉํด ํ ์คํธ๊ฐ ํ์ค์ ์ด๊ณ ๊นจ๋ํ ๊ธฐ์ค์์ ์์๋๋๋ก ํ์ธ์.
Business Process Editor ์ ๋ฐ์ดํธ๋ ๋์ผํ ๊ท์จ์ด ํ์ํฉ๋๋ค. ์ํฌํ๋ก๊ฐ ๋ณ๊ฒฝ๋๋ฉด(์ ๋ถ๊ธฐ, ์ ์ํ, ์ ์ญํ ์ฒดํฌ) ์ํฌํ๋ก ์์ค ํ ์คํธ๋ฅผ ์ฆ์ ์ ๋ฐ์ดํธํ์ธ์. ๊ทธ๋ ์ง ์์ผ๋ฉด ํ ์คํธ๋ ํต๊ณผํ์ง๋ง ํ์ค ํ๋ก์ธ์ค์ ๋ง์ง ์๋ ๊ฑฐ์ง๋ ์์ ๊ฐ์ด ์๊น๋๋ค.
API์ ๊ฒฝ์ฐ ์๋ํฌ์ธํธ ๋ณ๊ฒฝ์ ๊ณ์ฝ ์ค๋ ์ท๊ณผ ์ฐ๊ฒฐํ์ธ์. ์ ๋ ฅ ๋๋ ์ถ๋ ฅ์ด ๋ฐ๋๋ฉด ๊ฐ์ ์์ ์ธ์ ์์ ๊ณ์ฝ ๊ฒ์ฌ๋ฅผ ์ ๋ฐ์ดํธํด ์น์ฑ์ด๋ ๋ชจ๋ฐ์ผ ์ฑ์ ๋ฌด์์ผ๋ก ๊นจ์ง๋ ๋ณ๊ฒฝ์ ๋ฐฐํฌํ์ง ์๋๋ก ํ์ธ์.
๊ฐ ํ ์คํธ ํ๊ฒฝ์์ ๋ค์์ ์ฌํ์ธํ์ธ์:
- ์ธ์ฆ ๊ท์น๊ณผ ์ญํ (์ฌ์ ๊ตฌ์ฑ๋ ์ธ์ฆ์ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ ํนํ ์ค์)
- ํ์ฑํ๋ ๋ชจ๋(Stripe ๊ฐ์ ๊ฒฐ์ , Telegram/์ด๋ฉ์ผ/SMS ๊ฐ์ ๋ฉ์์ง)
- ํตํฉ ์ค์ ๊ณผ ์ํฌ๋ฆฟ, ๋๋ ํ ์คํธ ๋๋ธ์ ๋ช ํํ ์ฌ์ฉ
- ๊ตฌ์ฑ์ ์ํฅ์ ์ฃผ๋ ๋ฐฐํฌ ๊ฐ์ (ํด๋ผ์ฐ๋ vs ์์ฒด ํธ์คํ )
์: ์๋ก์ด ํ์ Department ํ๋๋ฅผ ์ถ๊ฐํ๊ณ BP ๋จ๊ณ๊ฐ ์๋ ๋ผ์ฐํ
ํ๋๋ก ์กฐ์ ํ๋ค๋ฉด, ์๋ ์ฌ์ฉ์์ ๋ถ์๋ฅผ ์ถ๊ฐํ๊ณ ์น์ธ ์ํฌํ๋ก ํ
์คํธ๋ฅผ ์๋ก์ด ๋ผ์ฐํ
์ ๋จ์ธํ๋๋ก ์
๋ฐ์ดํธํ์ธ์. AppMaster๋ ์๊ฐ ๋ชจ๋ธ์์ ๊น๋ํ ์์ค ์ฝ๋๋ฅผ ์ฌ์์ฑํด์ฃผ์ด ๋๋ฆฌํํธ๋ฅผ ์ค์ด๋ ๋ฐ ๋์์ด ๋์ง๋ง, ํ
์คํธ๊ฐ ๊ตฌํ ์ธ๋ถ๊ฐ ์๋๋ผ ๋์(์ถ๋ ฅ, ์ํ, ๊ถํ)์ ์ด์ ์ ๋ง์ถ ๋๋ง ํจ๊ณผ์ ์
๋๋ค.
์ฒซ ์ ๋ขฐ ๊ฐ๋ฅํ ํ ์คํธ ์ค์ํธ๋ฅผ ์ค์ ํ๋ ๋จ๊ณ๋ณ ๊ณํ
๋ชจ๋ธ์ด๋ ํ๋ฉด์ด ๋ฐ๋์ด๋ ๋ฐ๋์ ์๋ํด์ผ ํ๋ ๊ฒ์ ๊ณ ๋ฅด์ธ์. ๋ณดํต ๋, ์น์ธ, ์ ๊ทผ, ๊ณ ๊ฐ ์ฝ์์ ์ฎ๊ธฐ๋ ์ํฌํ๋ก๊ฐ ํด๋น๋ฉ๋๋ค.
์ค์ ์ํฌํ๋ก์ ์งง์ ๋ชฉ๋ก์ ์์ฑํ๊ณ ๊ฒฐ๊ณผ๋ฅผ ํ ๋ฌธ์ฅ์ผ๋ก ์ ์ํ์ธ์. "๋งค๋์ ๊ฐ ์น์ธํ ์ธ๋ณด์ด์ค๊ฐ ๊ฒฐ์ ์์ฒญ์ ์์ฑํ๋ค"๋ ํ ์คํธ ๊ฐ๋ฅํ์ง๋ง "์น์ธ์ด ์๋ํ๋ค"๋ ํํ์ ๋ชจํธํฉ๋๋ค.
๊ฐ ์ํฌํ๋ก์ ์ต์ํ์ ์๋ ๋ฐ์ดํฐ๋ฅผ ๋ง๋์ธ์. ์๊ณ ๋ช ๋ช ํ์ฌ ๋ก๊ทธ์์ ์ฝ๊ฒ ์ฐพ์ ์ ์๋๋ก ํ์ธ์: ์ญํ ๋ณ ์ฌ์ฉ์ 1๋ช , ๊ณ์ 1๊ฐ, ์ํ๋ณ ๋ฌธ์ 1๊ฐ. AppMaster์์๋ ์ด๊ฒ์ Data Designer ๋ชจ๋ธ๊ณผ ์ ๋ ฌํด ํ๋๊ฐ ์งํํด๋ ๋ฐ์ดํฐ๊ฐ ์ผ๊ด๋๊ฒ ์ ์ง๋๋๋ก ํฉ๋๋ค.
๋จผ์ ์ํฌํ๋ก ์์ค์์ ์๋จ ๋ช ๊ฐ์ ํ๋ฆ๋ง ์๋ํฌ์๋๋ก ์๋ํํ์ธ์. ์: ์น์ธ ์ํฌํ๋ก๋ฅผ ์์ํ๊ณ ๋งค๋์ ๊ฒฐ์ ์ ์๋ฎฌ๋ ์ด์ ํ ๋ค ์ต์ข ์ํ(์น์ธ, ๊ฐ์ฌ ๊ธฐ๋ก ์์ฑ, ์๋ฆผ ์ ์ก)๋ฅผ ํ์ธํฉ๋๋ค.
๊ทธ ํ๋ฆ๋ค์ด ์์กดํ๋ ์๋ํฌ์ธํธ์ ๋ํด์๋ง API ๊ณ์ฝ ๊ฒ์ฌ๋ฅผ ์ถ๊ฐํ์ธ์. ๋ชจ๋ ๊ฒ์ ํ ์คํธํ๋ ค๋ ๊ฒ ์๋๋ผ ์ํฌํ๋ก๋ฅผ ์กฐ์ฉํ ๊นจ๋จ๋ฆด ์ ์๋ ํํ ๋ณ๊ฒฝ์ ์ก๋ ๊ฒ์ด ๋ชฉ์ ์ ๋๋ค.
์คํ์ ์ฌํ ๊ฐ๋ฅํ๊ฒ ๋ง๋์ธ์:
- ๊ฐ ์คํ ์ ์ DB๋ฅผ ์ฌ์ค์ (๋๋ ์ ์ฉ ํ ์คํธ ์คํค๋ง ์ฌ์ฉ)
- ์ต์ํ์ ์๋ ๋ฐ์ดํฐ๋ง ์ฌ์ฃผ์
- ๋ณ๊ฒฝ ์๋ง๋ค ํ ์คํธ ์คํ(๋ฆด๋ฆฌ์ค ์ ๋ง์ด ์๋๋ผ)
- ๋ช ํํ ์คํจ ์ถ๋ ฅ ์ ์ฅ: ์ํฌํ๋ก ์ด๋ฆ, ์ ๋ ฅ, ์ต์ข ์ํ
- ์ค์ ๋ฒ๊ทธ๊ฐ ๋์น๊ฑฐ๋ ์ ๊ธฐ๋ฅ์ด ์ถ์๋ ๋๋ง ์ปค๋ฒ๋ฆฌ์ง ํ์ฅ
์ด๋ ๊ฒ ํ๋ฉด ์ค์ํธ๊ฐ ์๊ณ ๋น ๋ฅด๋ฉฐ ์๊ฐ์ ๋ก์ง ํ์ฅ์ ๋ฐ๋ผ ์ ์ฉํ๊ฒ ์ ์ง๋ฉ๋๋ค.
์ํฌํ๋ก ํ ์คํธ๋ฅผ ๋ถ์์ ํ๊ฒ ๋ง๋๋ ํํ ์ค์
๋ถ์์ ํ(flaky) ํ ์คํธ๋ ์์ ์๋ ๊ฒ๋ณด๋ค ๋ ํด๋กญ์ต๋๋ค. ์คํจ๋ฅผ ๋ฌด์ํ๋๋ก ๋ง๋ค๊ณ ์ค์ ๋ก์ง ์ค๋ฅ๊ฐ ํต๊ณผํฉ๋๋ค. ๊ฐ์ฅ ํฐ ์์ธ์ ์ํฌํ๋ก๋ฅผ UI ์คํฌ๋ฆฝํธ๋ก ์ทจ๊ธํ๋ ๊ฒ์ ๋๋ค.
ํด๋ฆญ์ ๊ณผ๋ํ๊ฒ ์๋ํํ๋ ๊ฒ์ ๊ณ ์ ์ ์ธ ํจ์ ์ ๋๋ค. ๋ฒํผ์ ๋๋ฅผ ์ ์๋ค๋ ๊ฒ์ ์ฆ๋ช ํด๋ ์ฌ๋ฐ๋ฅธ ๊ฒฐ๊ณผ๊ฐ ๋ฐ์ํ๋ค๋ ๊ฒ์ ์ฆ๋ช ํ์ง ์์ต๋๋ค. ๋ ๋์ ๊ฒ์ฆ์ ์ํฌํ๋ก๊ฐ ์ฌ๋ฐ๋ฅธ ๋ ์ฝ๋๋ฅผ ์์ฑํ๋์ง, ์ฌ๋ฐ๋ฅธ ์ํ๋ฅผ ์ค์ ํ๋์ง, ์ฌ๋ฐ๋ฅธ ๋ฉ์์ง๋ฅผ ๋ณด๋๋์ง๋ฅผ ํ์ธํ๋ ๊ฒ์ ๋๋ค. AppMaster์์๋ ์ผ๋ฐ์ ์ผ๋ก Business Process๊ฐ ์์ฑํ ๊ฒฐ๊ณผ(ํ๋, ์ ์ด, ๋ถ์ ํจ๊ณผ)๋ฅผ ๊ฒ์ฆํฉ๋๋ค.
๋ ๋ค๋ฅธ ๋ถ์์ ์ฑ ์์ธ์ ์ง์ ๋ถํ๊ฒ ๊ณต์ ๋ ํ ์คํธ ๊ณ์ ์ ๋๋ค. ํ์ด ํ๋์ "ํ ์คํธ ์ฌ์ฉ์"๋ฅผ ์ฌ์ฌ์ฉํ๋ฉด ์๋ฐฑ ๊ฑด์ ์ค๋๋ ์์ฒญ, ์ด์ํ ๊ถํ, ๋จ์ ์ด์์ผ๋ก ์ธํด ์ ์คํ์ด ๊ฐ๋๋ง ์คํจํฉ๋๋ค. ๊ฐ ์คํ์ ์ ์ฌ์ฉ์๋ฅผ ์ฐ๊ฑฐ๋ ๋์ผํ ์๊ท๋ชจ ๋ฐ์ดํฐ์ ์ ์๋ ค์ง ์ํ๋ก ๋๋๋ฆฌ๋ ํธ์ด ๋ซ์ต๋๋ค.
๋ชจ๋ธ์ด ๋ฐ๋๋ ์๊ฐ ๊นจ์ง๋ ๊ฐ์ ๋ ํผํ์ธ์. ID ํ๋์ฝ๋ฉ, ๋ ์ฝ๋ ์์์ ์์กด, "๋ชฉ๋ก์ ์ฒซ ๋ฒ์งธ ํญ๋ชฉ ์ ํ" ๊ฐ์ ๋ฐฉ์์ ์ทจ์ฝํฉ๋๋ค. ์์ ์ ํค(์ธ๋ถ ์ฐธ์กฐ, ์ด๋ฉ์ผ, ํ ์คํธ์์ ์ค์ ํ ์ฝ๋)๋ก ๋ ์ฝ๋๋ฅผ ์ ํํ์ธ์.
์ด๊ธฐ์ ๊ณ ์น๋ฉด ์ข์ ํจํด:
- ํ๋ณต ๊ฒฝ๋ก๋ง ํ ์คํธํด ๊ถํ ์ค๋ฅ, ํ๋ ๋๋ฝ, ๊ฑฐ๋ถ ์ํ๋ฅผ ํ ์คํธํ์ง ์๋ ๊ฒฝ์ฐ
- UI ๋จ๊ณ๋ก ๋ก์ง์ ์ฆ๋ช ํ๋ ค๊ณ ํ๊ณ ๊ฐ์ฌ ๋ก๊ทธ์ ์ํฌํ๋ก ๊ฒฐ๊ณผ๋ฅผ ํ์ธํ์ง ์๋ ๊ฒฝ์ฐ
- ์คํ ์์ด ๋ผ์ด๋ธ ์ธ๋ถ ์๋น์ค(๊ฒฐ์ , ์ด๋ฉ์ผ/SMS)์ ์์กดํ๋ ๊ฒฝ์ฐ
- ์์ํ ์ค์ผ๋๋ ์ฅ๊ธฐ ์ฌ์ฉ ํ ์คํธ ๊ณ์ ์ ๊ณต์ ํ๋ ๊ฒฝ์ฐ
- ID ํ๋์ฝ๋ฉํ๊ฑฐ๋ ์ ๋ ฌ/ํ์์คํฌํ ์ผ๊ด์ฑ์ ๊ฐ์ ํ๋ ๊ฒฝ์ฐ
์: ์์ฐ์ด ์์ผ๋ฉด ์ ์ถ์ ์ฐจ๋จํด์ผ ํ๋ ์น์ธ ์ํฌํ๋ก๊ฐ ์๋ค๋ฉด, ๊ฑฐ๋ถ๋ฅผ ์์ํ๊ณ ๋ช ํํ ์ค๋ฅ ์ํ๋ฅผ ๊ธฐ๋ํ๋ ๋ถ์ ํ ์คํธ๋ฅผ ์์ฑํ์ธ์. ์ด ํ ํ ์คํธ๊ฐ ํด๋ฆญ ์คํฌ๋ฆฝํธ ๋๋ฏธ๋ณด๋ค ๋ ๋ง์ ํ๊ท๋ฅผ ์ก๋ ๊ฒฝ์ฐ๊ฐ ๋ง์ต๋๋ค.
ํ ์คํธ๋ฅผ ์ถ๊ฐํ๊ธฐ ์ ์ ํ๋ ๋น ๋ฅธ ์ฒดํฌ๋ฆฌ์คํธ
์ ํ ์คํธ๋ฅผ ์ถ๊ฐํ๊ธฐ ์ ์ ๊ทธ๊ฒ์ด ๊ฐ์น๊ฐ ์๋์ง ํ์ธํ์ธ์. ๋น ๋ฅด๊ฒ ์ค์ํธ๋ฅผ ํค์ฐ๋ ๊ฐ์ฅ ์ฌ์ด ๋ฐฉ๋ฒ์ ์ฝ๊ธฐ ์ด๋ ต๊ณ ์ฌ์คํํ๊ธฐ ์ด๋ ต๊ณ ๊นจ์ง๊ธฐ ์ฌ์ด ํ ์คํธ๋ฅผ ์ถ๊ฐํ๋ ๊ฒ์ ๋๋ค.
์ ํ ์คํธ๋ฅผ ์์ ์ ํ ๊ธฐ๋ฅ์ฒ๋ผ ๋ค๋ฃจ๋ ์ต๊ด์ด ์ ์ฉํฉ๋๋ค: ๋ช ํํ ๋ชฉํ, ์์ ์ ์ ๋ ฅ, ๋ถ๋ช ํ ํฉ/๋ถํฉ.
์ฌ์ ์ ๊ฒ ๋ชฉ๋ก:
- ๊ธฐ๋ ๊ฒฐ๊ณผ๋ฅผ ํ ๋ฌธ์ฅ์ผ๋ก ์ค๋ช ํ ์ ์๋๊ฐ(์: "์น์ธ๋ ์์ฒญ์ด ์ธ๋ณด์ด์ค๋ฅผ ์์ฑํ๊ณ ์ฌ๋ฌดํ์ ์๋ฆฐ๋ค")?
- ๋ฐ์ดํฐ๋ฅผ ์ฌ์ค์ ํ๊ณ ๊ฐ์ ๊ฒฐ๊ณผ๋ก ํ ์คํธ๋ฅผ ์ธ ๋ฒ ์คํํ ์ ์๋๊ฐ?
- ๊ฐ ์ค์ ์ํฌํ๋ก์ ๋ํด ์ ์ด๋ ํ ๊ฐ์ ๋ถ์ ์ฌ๋ก(ํ์ ํ๋ ๋๋ฝ, ์๋ชป๋ ์ญํ , ํ๋ ์ด๊ณผ)๋ฅผ ๊ฐ์ง๊ณ ์๋๊ฐ?
- ์ํฌํ๋ก๊ฐ API๋ฅผ ๊ฑด๋๋ฆฌ๋ฉด ์ํ ์ฝ๋๋ ๋ฐ์ดํฐ ํ์ , ์๋ฌ ํ์ ๋ฑ ๊ณ์ฝ์ ๊ฒ์ฌํ๋๊ฐ(๋จ์ํ "200 OK"๋ง ํ์ธํ์ง ์๋๊ฐ)?
- ๋ฐ์ดํฐ ๋ชจ๋ธ์ด ๋ฐ๋๋ฉด ๋น๋/ํฝ์ค์ฒ ๊ฐ์ ๊ณต์ ๋ ๋ช ๊ณณ๋ง ์ ๋ฐ์ดํธํ๋ฉด ๋๋๊ฐ, ์๋๋ฉด ํ๋์ฝ๋ฉ ๊ฐ์ ์ฐพ์๋ค๋ ์ผ ํ๋๊ฐ?
AppMaster๋ก ๊ฐ๋ฐ ์ค์ด๋ผ๋ฉด ํ ์คํธ ๋ ์ฝ๋๋ฅผ ์ฑ์ด ์ค์ ๋ก ์ฌ์ฉํ๋ ๊ฐ์ API๋ Business Process๋ฅผ ํตํด ์์ฑํ๋ ์ฌ์ฌ์ฉ ๊ฐ๋ฅํ ์ค์ ๋จ๊ณ๋ฅผ ์ ํธํ์ธ์. ์ด๋ ๊ฒ ํ๋ฉด ํ ์คํธ๊ฐ ์ค์ ๋์์ ๊ฐ๊น๊ฒ ์ ์ง๋๊ณ ๋ชจ๋ธ์ด ์งํํ ๋ ํํธํ๋ฅผ ์ค์ผ ์ ์์ต๋๋ค.
์: ์น์ธ ์ํฌํ๋ก๋ฅผ ๊ณผ๋ํ๊ฒ ํ ์คํธํ์ง ์๊ณ ๊ฒ์ฆํ๊ธฐ
๋ด๋ถ ์น์ธ ์ฑ์ ์์ํด๋ณด์ธ์: ์์ฒญ์๊ฐ ๊ตฌ๋งค ์์ฒญ์ ์ ์ถํ๋ฉด ์น์ธ์๊ฐ ๊ฒํ ํ๊ณ ์์ฒญ์ ๋ช ํํ ์ํ๋ฅผ ๊ฑฐ์ณ ์ด๋ํฉ๋๋ค. ๊ฐ์น๋ ๋จ์ํฉ๋๋ค: ์ฌ๋ฐ๋ฅธ ์ฌ๋์ด ์์ฒญ์ ์ฌ๋ฐ๋ฅธ ๋ค์ ์ํ๋ก ์ด๋์ํฌ ์ ์์ด์ผ ํฉ๋๋ค.
๊ฐ์ฅ ์ค์ํ ๋์๋ง ํ ์คํธ๋ก ์์ํ์ธ์:
- Approve: ์น์ธ์๊ฐ ์์ฒญ์ "Pending"์์ "Approved"๋ก ์ฎ๊ธฐ๊ณ ๋๊ฐ ์ธ์ ์น์ธํ๋์ง ๊ฐ์ฌ ํ๋๊ฐ ์ค์ ๋๋์ง
- Reject: ์น์ธ์๊ฐ ์์ฒญ์ "Rejected"๋ก ์ฎ๊ธฐ๊ณ ์ด์ ์ ๋ ฅ์ด ํ์์ธ์ง
- Request changes: ์น์ธ์๊ฐ "Needs changes"๋ก ์ฎ๊ธฐ๊ณ ์์ฒญ์๊ฐ ์ฌ์ ์ถํ ์ ์๋์ง
์น์ธ ์๋ํฌ์ธํธ ์ฃผ๋ณ์ ํ๋์ API ๊ณ์ฝ ๊ฒ์ฌ๋ฅผ ์ถ๊ฐํ์ธ์. ์๋ฅผ ๋ค์ด ์ํฌํ๋ก๊ฐ POST /requests/{id}/approve๋ฅผ ํธ์ถํ๋ค๋ฉด ๋ค์์ ํ์ธํ์ธ์:
- ์๋ต ์ฝ๋(์ฑ๊ณต์ 200, ์๋ชป๋ ์ญํ ์ 403 ๋ฑ)
- ์๋ต ํํ(
status๊ฐ ์๋ ค์ง ๊ฐ์ธ์ง,updated_at์กด์ฌ ์ฌ๋ถ) - ๊ธฐ๋ณธ ๊ท์น(์: ์ํ๊ฐ "Draft"์์ ๋ฐ๋ก "Approved"๋ก ์ ํํ ์ ์์)
ํ ์คํธ ๋ฐ์ดํฐ๋ ์๊ณ ์ฌํ ๊ฐ๋ฅํ๊ฒ ์ ์งํ์ธ์. ๋ก์ง์ ํ์ํ ๊ฒ๋ง ์๋ํ์ธ์: ํ ๋ช ์ ์์ฒญ์, ํ ๋ช ์ ์น์ธ์, "Pending" ์ํ์ ์์ฒญ 1๊ฐ. ๊ณ ์ ๋ ์๋ณ์(์: ๊ณ ์ ์ด๋ฉ์ผ)๋ฅผ ์ฌ์ฉํ๋ฉด ์ฌ์์ฑ ํ์๋ ๊ฐ์ ๋ ์ฝ๋๋ฅผ ์ฝ๊ฒ ์ฐพ์ ์ ์์ต๋๋ค.
์ด์ ๋ชจ๋ธ ๋ณ๊ฒฝ์ ์์ํด๋ณด์ธ์: cost_center ๊ฐ์ ์ ํ์ ํ๋๋ฅผ ์ถ๊ฐํ๋ฉด ๋ง์ ํ
์คํธ๊ฐ ์ ํํ๋ก ์์ฒญ์ ๋ง๋ค์ด ์คํจํฉ๋๋ค.
๋ชจ๋ ํ
์คํธ๋ฅผ ๋ค์ ์ฐ๋ ๋์ ๊ณตํต๋ "์์ฒญ ์์ฑ" ํฌํผ(๋๋ ์๋ ๋จ๊ณ) ํ๋๋ฅผ ์
๋ฐ์ดํธํด cost_center๋ฅผ ํฌํจํ๋๋ก ํ์ธ์. ์ํฌํ๋ก ํ
์คํธ๋ ์ํ ์ ์ด์ ์ง์คํ๊ณ , ๊ณ์ฝ ๊ฒ์ฌ๋ ์์ฒญ์ด๋ ์๋ต ์คํค๋ง์ ์ ํ๋๋ฅผ ์ก์๋ผ ๊ฒ์
๋๋ค.
๋ค์ ๋จ๊ณ: ์ค์ํธ๋ฅผ ์๊ณ ์ ์ฉํ๊ฒ ์ต์ ์ํ๋ก ์ ์งํ๊ธฐ
์ฌ๋๋ค์ด ์ ๋ขฐํ๋ ํ ์คํธ ์ค์ํธ๋ง ๋์์ด ๋ฉ๋๋ค. ์ค์ํธ๊ฐ ๋น ๋ฅด๊ฒ ์ปค์ก๋ค๊ฐ ๋ฐฉ์น๋๋ฉด ์ ๋ขฐ๊ฐ ์ฌ๋ผ์ง๋๋ค. ๋น์ฆ๋์ค ๊ฐ์น๊ฐ ์๋ ์์์ ์ํฌํ๋ก์ ์ง์คํ์ธ์.
์ฐ์ ์์ ์ํฌํ๋ก ๋ชฉ๋ก์ ์์ ๋ฐ๋ณต ๊ฐ๋ฅํ ํ ์คํธ ๋ฐฑ๋ก๊ทธ๋ก ์ ํํ์ธ์. ๊ฐ ์ํฌํ๋ก์ ๋ํด ํ ๋ฌธ์ฅ์ผ๋ก ์ค๋ช ํ ์ ์๋ ๋ช ํํ ํต๊ณผ ์กฐ๊ฑด์ ๋ถ์ฌํ์ธ์. "์๋ฃ"๊ฐ ๋ฌด์์ธ์ง ์ค๋ช ํ ์ ์๋ค๋ฉด ํ ์คํธ๋ ๋ชจํธํด์ง๋๋ค.
๋๋ถ๋ถ ํ์ ํจ๊ณผ์ ์ธ ๊ฐ๋จํ ๋ฆฌ๋ฌ:
- ๋ณ๊ฒฝ ์๋ง๋ค ์คํ๋๋ 5~10๊ฐ์ ๊ณ ๊ฐ์น ์ํฌํ๋ก ํ ์คํธ ์ ์ง
- ์๊ฐ ์ ๋ฆฌ๋ก ์ฃฝ์ ํ ์คํธ ์ญ์ ํ๊ณ ์๋ ๋ฐ์ดํฐ๋ฅผ ๊ฐฑ์
- ํ๋ก๋์ ์ ๋ฒ๊ทธ๊ฐ ๋๋ฌํ๋ฉด ๊ทธ ๋ฒ๊ทธ๋ฅผ ์ก์ ํ๋์ ํ ์คํธ ์ถ๊ฐ
- ํ ์คํธ ๋ฐ์ดํฐ๋ฅผ ์๊ณ ๋ช ๋ช ํด ์คํจ ์์ธ ํ์ ์ ์ฝ๊ฒ ํจ
- ์คํจ๋ฅผ ์ฃผ๊ฐ์ผ๋ก ๋ฆฌ๋ทฐํ๊ณ ํ ์คํธ๋ ์ํฌํ๋ก๋ฅผ ์ฆ์ ๊ณ ์นจ
์ ๋ฆฌ ์์ ์ ์ค์ ์์ ์ ๋๋ค. ์ํฌํ๋ก๊ฐ ๋ณ๊ฒฝ๋์ด ๊ธฐ์กด ํ ์คํธ๊ฐ ํ์ค์ ๋ฐ์ํ์ง ์์ผ๋ฉด ์ฆ์ ์ญ์ ํ๊ฑฐ๋ ๋ค์ ์์ฑํ์ธ์.
AppMaster(appmaster.io)๋ก ์ํฌํ๋ก์ API๋ฅผ ๋น๋ ์ค์ด๋ผ๋ฉด, ๋์ผํ ๊ฐ์์ฑ์ ์ฌ์ฉํด ๊ตฌ์ฒด์ ์ธ ๊ฒฐ๊ณผ๋ฅผ ์ ์ํ๊ณ ์์ ์ํฌํ๋ก ์์ค ๊ฒ์ฌ๋ฅผ ์ด๊ธฐ์ ๊ณ ์ ํ์ธ์. ๋ฐ์ดํฐ ๋ชจ๋ธ์ด ์งํํ ๋ ํ ์คํธ๋ฅผ ์ผ์น์ํค๋ ๊ฐ์ฅ ์ฌ์ด ๋ฐฉ๋ฒ์ ๋๋ค.
์์ฃผ ๋ฌป๋ ์ง๋ฌธ
์๋ํ๋ ์๊ท๋ชจ ๋ก์ง ์ค๋ฅ๊ฐ ํฐ ํผํด๋ฅผ ์ฃผ๋ ๊ณณ๋ถํฐ ์์ํ์ธ์: ๊ธ์ ํ๋ฆ, ๊ถํ, ์น์ธ, ๊ณ ๊ฐ ๋ฐ์ดํฐ ๋ณ๊ฒฝ ๋ฑ์ ๋๋ค. ํต์ฌ ๊ฐ์น๊ฐ ๊ฑธ๋ฆฐ ํ๋ ๊ฐ์ ์ํฌํ๋ก๋ฅผ ๊ณจ๋ผ ์ต์ข ์ํ์ ๋ถ์ ํจ๊ณผ๋ฅผ ๊ฒ์ฌํ๋ ํ ์คํธ๋ฅผ ์์ฑํ์ธ์. ํ๋ฉด ์ ์ฒด๋ฅผ ๊ฒ์ฌํ ํ์๋ ์์ต๋๋ค.
๋ง์ ์ํฌํ๋ก ๋ฒ๊ทธ๋ ๋์ ๋์ง ์์ต๋๋ค. UI๋ ์ ์์ ์ผ๋ก ๋ณด์ด๊ณ ๋ฐฐํฌ๋ ์ฑ๊ณตํ์ง๋ง, ์ํฌํ๋ก๊ฐ ์๋ชป๋ ์ฌ๋์๊ฒ ์ ๋ฌ๋๊ฑฐ๋ ์์ธ ๋ถ๊ธฐ๊ฐ ๊ฑด๋๋ฐ์ด์ง๊ฑฐ๋ ์ค๋ณต์ด ์์ฑ๋๋ ์์ ๋๋ค. ์๋ํ๋ ๊ฒ์ฌ๋ ์ํ ๋ณ๊ฒฝ, ์์ฑ๋ ๊ธฐ๋ก, ์ ์ก๋ ์๋ฆผ ๊ฐ์ ๊ฒฐ๊ณผ๋ฅผ ๋จ์ธํด ์ด๋ฌํ ํ๊ท๋ฅผ ์ก์๋ ๋๋ค.
์ํฌํ๋ก ์์ค ํ ์คํธ๋ ํ์ค์ ์ธ ์ ๋ ฅ์ผ๋ก Business Process๋ฅผ ํธ๋ฆฌ๊ฑฐํ๊ณ , ์ต์ข ์์ ๋ฐ๋์ ์ฑ๋ฆฝํด์ผ ํ๋ ๊ฒ๋ค๊ณผ ์ฃผ์ ๋ถ์ ํจ๊ณผ๋ฅผ ๊ฒ์ฆํฉ๋๋ค. ์ํฌํ๋ก๋ฅผ ๋ธ๋๋ฐ์ค๋ก ์ทจ๊ธํ๋ฏ๋ก ๋ด๋ถ ๋ฆฌํฉํฐ๋ ์์ UI ๋ณ๊ฒฝ์ ๋ ๋ฏผ๊ฐํฉ๋๋ค.
๋ก๊ทธ์ธ์ด๋ ์์ฒญ ์ ์ถ๊ณผ ๊ฐ์ด ์ฐ๊ฒฐ(์์ด์ด๋ง) ๋ฌธ์ ๊ฐ ์ค์ํ 1โ2๊ฐ์ ํต์ฌ ๊ฒฝ๋ก์๋ง UI ํ ์คํธ๋ฅผ ์ฌ์ฉํ์ธ์. UI ํ ์คํธ๋ ๋ ์ด์์์ด๋ ์ ํ์ ๋ณ๊ฒฝ์ ์ทจ์ฝํ๋ฏ๋ก ์ต์ํํ๋ ๊ฒ์ด ์ข์ต๋๋ค.
๊ณ์ฝ ๊ฒ์ฌ(contract checks)๋ API๊ฐ ์ฝ์ํ๋ ๊ฒ๋ค โ ํ์ ํ๋, ํ์ , ์ํ ์ฝ๋, ์๋ฌ ํ์ โ ์ ํ์ธํฉ๋๋ค. ๋น์ฆ๋์ค ๊ท์น์ ์ ํ์ฑ์ ๋ณด์ฅํ์ง ์์ง๋ง, ์น/๋ชจ๋ฐ์ผ ์ฑ์ด๋ ํตํฉ์ด ์กฐ์ฉํ ๊นจ์ง๋ ๊ฒ์ ๋ฏธ๋ฆฌ ์ก์๋ ๋๋ค.
์ฑ๊ณต๊ณผ ์ผ๋ฐ ์คํจ์ ๋ํ ์ํ ์ฝ๋, ์์ฒญ/์๋ต์ ํ์ ํ๋ ๋ฐ null ํ์ฉ์ฑ, ํ๋ ํ์๊ณผ enum ๊ฐ, ์ผ๊ด๋ ์๋ฌ ์๋ต ๊ตฌ์กฐ ๋ฑ์ ๊ณ ์ ํ์ธ์. ๋ถํ์ํ ๋ ธ์ด์ฆ๋ฅผ ํผํ๋ ค๋ฉด ํธํ์ฑ์ ์ง์คํ ๊ฒ์ฆ์ ์ ์งํฉ๋๋ค.
์ญํ ๊ณผ ์ํฌํ๋ก๊ฐ ์์กดํ๋ ๋ช ๊ฐ์ง ํต์ฌ ๋ ์ฝ๋๋ง ํฌํจํ ์๊ณ ๋ช ํํ ์๋ ๋ฐ์ดํฐ๋ฅผ ์ค๋นํ๊ณ , ๊ฐ ์คํ๋ง๋ค ๋์ผํ ๋ฐฉ๋ฒ์ผ๋ก ์ฌ์ค์ ํ์ธ์. ์์ธก ๊ฐ๋ฅ์ฑ์ด ์ค์ํฉ๋๋ค. ์์ ์ ์ธ ์ ๋ ฅ์ด ์คํจ ์์ธ ๋ถ์๊ณผ ์ฌํ์ ์ฝ๊ฒ ๋ง๋ญ๋๋ค.
๋ด๋ถ ID๋ฅผ ํ๋์ฝ๋ฉํ์ง ๋ง๊ณ ์ด๋ฉ์ผ, ์ธ๋ถ ์ฐธ์กฐ, ์ฝ๊ธฐ ์ฌ์ด ์ฝ๋ ๊ฐ์ ์์ ์ ์ธ ๋น์ฆ๋์ค ํค๋ฅผ ์ฌ์ฉํ์ธ์. ์ํฐํฐ ์์ฑ์ ๋น๋๋ ํฌํผ๋ก ์ค์ํํ๋ฉด Data Designer๊ฐ ๋ฐ๋์ด๋ ํ ๊ณณ๋ง ๊ณ ์น๋ฉด ๋ฉ๋๋ค.
Data Designer๋ Business Process Editor ๋ณ๊ฒฝ์ ์๋ ๋ฐ์ดํฐ, ์ํฌํ๋ก ํ ์คํธ, ๊ด๋ จ API ๊ณ์ฝ์ ๊ฐ์ ์์ ์ธ์ ์์ ๊ฐฑ์ ํ๋๋ก ํ์ธ์. AppMaster๊ฐ ์๊ฐ ๋ชจ๋ธ์์ ์ฝ๋๋ฅผ ์์ฑํ๋๋ผ๋ ํ ์คํธ๋ ๊ด์ฐฐ ๊ฐ๋ฅํ ๋์(์ถ๋ ฅ, ์ํ, ๊ถํ)์ ์ด์ ์ ๋ง์ถฐ์ผ ํฉ๋๋ค.
์๊ฒ ์์ํ์ธ์: ๊ณ ์ฅ๋๋ฉด ์ ๋๋ 5โ10๊ฐ์ ์ํฌํ๋ก๋ฅผ ์ ํ๊ณ , ๊ฒฐ๊ณผ๋ณ๋ก ์ํฌํ๋ก ์์ค ํ ์คํธ๋ฅผ ํ๋์ฉ ์์ฑํ๊ณ , ๊ทธ ์ํฌํ๋ก๊ฐ ์์กดํ๋ ์๋ํฌ์ธํธ์ ๋ํ ๊ณ์ฝ ๊ฒ์ฌ๋ฅผ ์ถ๊ฐํ๋ฉฐ, UI ํ ์คํธ๋ ์ต์ํํฉ๋๋ค. AppMaster๋ก ๊ฐ๋ฐ ์ค์ด๋ผ๋ฉด ๋จผ์ Business Processes์ API ์ค์ฌ์ผ๋ก ์๋ํํ์ธ์. ์ค์ ๋ฒ๊ทธ๊ฐ ๋ฐ์ํ๊ฑฐ๋ ๊ธฐ๋ฅ์ด ์์ ๋ ๋๋ง ๋ฒ์๋ฅผ ํ์ฅํฉ๋๋ค.


