๋๊ท๋ชจ ํ์ผ ์ ๋ก๋: ๊ฒ์ฆ, ์ ์ฅ, ์ ๊ทผ
๋๊ท๋ชจ ํ์ผ ์ ๋ก๋๋ ๋ช ํํ ๊ฒ์ฆ, ์ ๋๋ ์ ์ฅ ๊ฒฝ๋ก, ๋ง๋ฃ๋๋ ๋ค์ด๋ก๋ ๋งํฌ, ๊ฐ๋ ฅํ ๊ถํ์ด ํ์ํด ์ฌ์ฉ์ ํ์ผ์ ๋ณดํธํฉ๋๋ค.

๋๊ท๋ชจ ํ๊ฒฝ์์ ์ฌ์ฉ์ ํ์ผ ์ ๋ก๋๊ฐ ์ด๋ ค์ด ์ด์
ํ ์คํธ ์ฌ์ฉ์๊ฐ ๋ช ๋ช ์ธ ์ํ์์๋ ์ ๋ก๋๊ฐ ๊ฐ๋จํด ๋ณด์ ๋๋ค. ํ์ง๋ง ์ค์ ์ฌ์ฉ์๋ค์ด ํฐ ์ฌ์ง, ์ค์บํ PDF, ํ์ฅ์๊ฐ ์๋ชป๋ ์ ์ ์๋ ๋ฌธ์๋ฅผ ๋ณด๋ด๋ฉด ์ํฉ์ด ๋ฌ๋ผ์ง๋๋ค. ๊ทธ ์๊ฐ ํ์ผ ์ ๋ก๋๋ ๋จ์ํ ํผ ๋ฒํผ์ด ์๋๋ผ ์์ ์ฑ๊ณผ ์ด์์ ๋ฌธ์ ๋ก ๋ฐ๋๋๋ค.
๋๋ถ๋ถ์ ๋ฌธ์ ๋ ๋ณด์, ๋น์ฉ, ๊ฐ์ธ์ ๋ณด ์ธก๋ฉด์์ ๋จผ์ ๋๋ฌ๋ฉ๋๋ค. ๊ณต๊ฒฉ์๋ ์ ์ฑ์ฝ๋๋ฅผ ์ ๋ก๋ํ๋ ค ํ๊ณ , ์ฌ์ฉ์๋ ์ฑ์ด ์ด ์ ์๋ ํ์ผ์ ์ฌ๋ฆฌ๋ฉฐ, ํ์ ๊ณต๊ฐ URL์ ํตํด ๋ฏผ๊ฐ ๋ฌธ์๋ฅผ ์ค์๋ก ๋ ธ์ถ์ํฌ ์ ์์ต๋๋ค. ์ ์ฅ ๋น์ฉ๊ณผ ๋์ญํญ์ด ๋์ด๋๊ณ , ๊ฐ์ ํ์ผ์ด ๋ฐ๋ณต ๋ค์ด๋ก๋๋๋ฉด ๋น์ฉ์ ๋ ์ปค์ง๋๋ค.
์ด๋ฏธ์ง์ PDF๋ ์๋ก ๋ค๋ฅธ ๋ฌธ์ ๋ฅผ ๋ง๋ญ๋๋ค. ์ด๋ฏธ์ง๋ ์ฉ๋์ด ํฌ๊ณ ํ์์ด ๋ค์ํ๋ฉฐ ์์น ๊ฐ์ ์จ๊ฒจ์ง ๋ฉํ๋ฐ์ดํฐ๋ฅผ ํฌํจํ ์ ์์ต๋๋ค. ๋ํ ์ฑ ์๋๋ฅผ ์ํด ์ธ๋ค์ผ๊ณผ ๋ฆฌ์ฌ์ด์ง์ด ํ์ํฉ๋๋ค. PDF๋ ์์ ํ๊ฒ ๋ฏธ๋ฆฌ๋ณด๊ธฐํ๊ธฐ ์ด๋ ต๊ณ ํฌํจ๋ ์๋ฒ ๋๋ ์ฝํ ์ธ ๊ฐ ์์ ์ ์์ผ๋ฉฐ, ์ธ๋ณด์ด์ค๋ ์ ๋ถ์ฆ, ๊ณ์ฝ์์ฒ๋ผ ๋๋ฆฌ ์ ๊ทผ๋์ด์ ์ ๋๋ ๋ฏผ๊ฐํ ๊ธฐ๋ก์ ํฌํจํ๋ ๊ฒฝ์ฐ๊ฐ ๋ง์ต๋๋ค.
๋๊ท๋ชจ์์๋ ๋์์ ์ ๋ก๋ํ๋ ์ฌ์ฉ์๊ฐ ๋ ๋ง๊ณ , ํ์ผ์ด ๋ ํฌ๊ณ ์ด ์ ์ฅ ์ฉ๋์ด ๋ง์์ง๋ฉฐ, ๋ถ์์ ํ ๋คํธ์ํฌ๋ก ์ธํ ๋ค์ด๋ก๋ ๋ฐ ์ฌ์๋๊ฐ ์ฆ๊ฐํ๊ณ , ํ ๋ฐ ๋ณด์กด ์ ์ฑ ๊ฐ์ ๊ท์น์ด ๋ ๋ค์ํด์ง๋๋ค.
๋ชฉํ๋ ๋จ์ํ ์ ๋ก๋๊ฐ ์๋ํ๋ ๊ฒ์ด ์๋๋ผ ๋ช ๋ฌ ๋ค์๋ ๊ด๋ฆฌํ๊ธฐ ์ฌ์ด ์์ ํ ์ ๋ก๋์ ๋๋ค: ๋ช ํํ ๊ท์น, ์์ธก ๊ฐ๋ฅํ ์ ์ฅ ๊ฒฝ๋ก, ๊ฐ์ฌ ๊ฐ๋ฅํ ๋ฉํ๋ฐ์ดํฐ, ๊ทธ๋ฆฌ๊ณ ์ค์ ๋น์ฆ๋์ค์ ํ์ผ ๊ณต์ ๋ฐฉ์์ ๋ง๋ ์ ๊ทผ ์ ์ด๊ฐ ํ์ํฉ๋๋ค.
ํ์ผ ์ ํ๊ณผ ์ ๊ทผ ๊ถํ ๋งตํํ๊ธฐ
์คํ ๋ฆฌ์ง๋ ๋ณด์์ ์กฐ์ ํ๊ธฐ ์ ์ ์ฌ๋๋ค์ด ๋ฌด์์ ์ ๋ก๋ํ ์ง, ๋๊ฐ ๋ณผ ์ ์๋์ง ๋ช ํํ ํ์ธ์. ๋๊ท๋ชจ ์ ๋ก๋ ๋ฌธ์ ์ ๋๋ถ๋ถ์ ์ค์ ๋ก ์ ์ฅ ๋ฌธ์ ๋ผ๊ธฐ๋ณด๋ค ์ ๊ทผ, ๋ณด์กด, ์ํ์ ๋ํ ๊ธฐ๋์น ๋ถ์ผ์น์ ๋๋ค.
์ค์ ํ์ผ ์นดํ ๊ณ ๋ฆฌ๋ฅผ ๋ชฉ๋กํํ์ธ์. ์๋ฐํ๋ ๊ณ์ฝ์ PDF์ ์ ํ ๋ค๋ฅด๊ฒ ๋์ํ๊ณ , ์ง์์ฉ ์คํฌ๋ฆฐ์ท์ ์๊ฐ ๋ฆฌํฌํธ์ ๋ค๋ฆ ๋๋ค.
์ ๋ก๋๋ฅผ ๋งตํํ๋ ์ค์ฉ์ ์ธ ๋ฐฉ๋ฒ์ ๊ฐ ์นดํ ๊ณ ๋ฆฌ๋ฅผ ์ ๊ทผ ํจํด์ ์ฐ๊ฒฐํ๋ ๊ฒ์ ๋๋ค:
- ์๋ฐํ์ ๊ณต๊ฐ ํ๋กํ ์ด๋ฏธ์ง๋ ๋ง์ ์ฌ๋์ด ์ฝ์ ์ ์๊ณ , ์์ ์ ์์ ์๋ง ๊ฐ๋ฅํฉ๋๋ค.
- ์์์ฆ๊ณผ ์ธ๋ณด์ด์ค๋ ๊ธฐ๋ณธ์ ์ผ๋ก ๋น๊ณต๊ฐ์ด๋ฉฐ ์ฌ๋ฌด ์ญํ ์ด๋ ๊ณ์ ์์ ์์๋ง ๊ณต์ ๋ฉ๋๋ค.
- ๊ณ์ฝ์์ ๊ท์ ์ค์ ํ์ผ์ ์ ๊ทผ์ด ๋งค์ฐ ์ ํ์ ์ด๋ฉฐ ๊ฐ์ฌ ์ถ์ ๊ณผ ๋ ์๊ฒฉํ ๋ณด์กด ๊ท์น์ด ํ์ํ ์ ์์ต๋๋ค.
- ๋ฆฌํฌํธ์ ๋ด๋ณด๋ด๊ธฐ๋ ํ ๋ด์์ ๊ณต์ ํ ์ ์์ง๋ง ์ ์ ํ ์ํฌ์คํ์ด์ค๋ ๊ณ ๊ฐ ๋ฒ์๋ก ํ์ ํด์ผ ํฉ๋๋ค.
- ํฐ์ผ ์ฒจ๋ถํ์ผ์ ๋ณดํต ํฐ์ผ ์ฐธ์ฌ์์๊ฒ๋ง ๋น๊ณต๊ฐ์ด๋ฉฐ ๋๋ก๋ ์๊ฐ ์ ํ์ด ๊ฑธ๋ฆฝ๋๋ค.
์ํ ์ค๋ ์ท์ ๋น ๋ฅด๊ฒ ์์ฑํ์ธ์. ์ ๋ก๋๋ ์ ์ฑ์ฝ๋๋ฅผ ์จ๊ธธ ์ ์๊ณ , ๋ฏผ๊ฐํ ๋ฐ์ดํฐ๋ฅผ ๋ ธ์ถํ ์ ์์ผ๋ฉฐ, URL์ ์ถ์ธกํ๋ฉด ์ ๊ทผ์ด ํ์ฉ๋๋ ๊นจ์ง ๊ถํ์ ๋๋ฌ๋ผ ์ ์์ต๋๋ค. ๊ทธ๋์ ๋๊ท๋ชจ ํ์ผ ์ ๋ก๋๋ ๋ฐ์ดํธ ๊ทธ ์์ฒด๋งํผ ์ ๊ทผ ์ ์ด๊ฐ ์ค์ํฉ๋๋ค.
์ฑ๋ฅ๋ ์ค์ํฉ๋๋ค. ๋์ฉ๋ PDF, ๊ณ ํด์๋ ์ด๋ฏธ์ง, ๋ถ์์ ํ ๋ชจ๋ฐ์ผ ๋คํธ์ํฌ๋ ๋ถ๋ถ ์ ๋ก๋์ ์ฌ์๋๋ฅผ ์ด๋ํฉ๋๋ค. ์ด๋ค ์ ๋ก๋๊ฐ ๋ฐ๋์ ์ฑ๊ณตํด์ผ ํ๋์ง(์ธ๋ณด์ด์ค, ์ ๋ถ์ฆ ๋ฑ)์ ์ ํ์ ์ธ์ง(ํ๋กํ ๋ฐฐ๋ ๋ฑ)๋ฅผ ๋ฏธ๋ฆฌ ๊ฒฐ์ ํ์ธ์.
๊ฐ ํ์ผ ์ ํ์ ๋ํด ๋ค์ ์ง๋ฌธ์ ์ด๊ธฐ์ ๋ตํ์ธ์:
- ๋๊ฐ ์ ๋ก๋, ์กฐํ, ๊ต์ฒด, ์ญ์ ํ ์ ์๋๊ฐ?
- ๋น๊ณต๊ฐ์ธ์ง, ๊ทธ๋ฃน ๋ด ๊ณต์ ์ธ์ง, ๊ณต๊ฐ์ธ์ง?
- ์ ๊ทผ์ด ๋ง๋ฃ๋๊ฑฐ๋ ์ฆ์ ์ทจ์๋์ด์ผ ํ๋๊ฐ?
- ์ ๋ก๋๊ฐ ์ค๋จ๋์ด ์ฌ์๋๋ ๋ ์ด๋ป๊ฒ ํ ๊ฒ์ธ๊ฐ?
- ์ผ๋ง๋ ์ค๋ ๋ณด๊ดํ๋ฉฐ ๋๊ฐ ๋ด๋ณด๋ผ ์ ์๋๊ฐ?
AppMaster ๊ฐ์ ๋๊ตฌ๋ก ๋น๋ํ๋ค๋ฉด ์ด ๋ต๋ณ๋ค์ ๋จผ์ ์ ํ ๊ท์น์ผ๋ก ๊ฐ์ฃผํ๊ณ ๋ฐ์ดํฐ ๋ชจ๋ธ๊ณผ ์๋ํฌ์ธํธ์ ๊ตฌํํด ์น๊ณผ ๋ชจ๋ฐ์ผ ์ ๋ฐ์์ ๊ถํ์ด ์ผ๊ด๋๊ฒ ์ ์ง๋๋๋ก ํ์ธ์.
๋ฌธ์ ๋ฅผ ์ด๊ธฐ์ ์๋ฐฉํ๋ ํ์ผ ์ ๋ก๋ ๊ฒ์ฆ ๊ท์น
๋๊ท๋ชจ ํ๊ฒฝ์์ ์ ๋ก๋๋ฅผ ์์ ํ๊ณ ์์ธก ๊ฐ๋ฅํ๊ฒ ์ ์งํ๋ ค๋ฉด ๊ฒ์ฆ์ด ์ฒซ ๋ฐฉ์ด์ ์ ๋๋ค. ์ข์ ๊ท์น์ ๋์ ํ์ผ์ด ์ ์ฅ์์ ๋ฟ๊ธฐ ์ ์ ์ฐจ๋จํ๊ณ , ์ฌ์ฉ์๊ฐ ๋ช ํํ ํผ๋๋ฐฑ์ ๋ฐ์ ์ง์ ํฐ์ผ์ ์ค์ฌ์ค๋๋ค.
๋ธ๋๋ฆฌ์คํธ๊ฐ ์๋๋ผ ํ์ฉ ๋ฆฌ์คํธ(allowlist)๋ก ์์ํ์ธ์. ํ์ผ๋ช ํ์ฅ์๋ฅผ ํ์ธํ๊ณ ์ ๋ก๋๋ ์ฝํ ์ธ ์์ ๊ฐ์ง๋ MIME ์ ํ๋ ๊ฒ์ฆํ์ธ์. ํ์ฅ์๋ง ์์กดํ๋ฉด ์ฐํ๊ฐ ์ฝ๊ณ , MIME๋ง ์์กดํ๋ฉด ๊ธฐ๊ธฐ๋ง๋ค ์ผ๊ด์ฑ์ด ๋จ์ด์ง ์ ์์ต๋๋ค.
์ฉ๋ ์ ํ์ ํ์ผ ์ ํ๊ณผ ์ ํ ๊ท์น์ ๋ง์ถ์ธ์. ์ด๋ฏธ์ง์ ๊ฒฝ์ฐ 5~10MB๊ฐ ์ ์ ํ ์ ์๊ณ , PDF๋ ๋ ๋์ ํ๋๊ฐ ํ์ํ ์ ์์ต๋๋ค. ๋น๋์ค๋ ๋ณ๋์ ํ์ดํ๋ผ์ธ์ด ํ์ํ ๊ฒฝ์ฐ๊ฐ ๋ง์ต๋๋ค. ์ ๋ฃ ์๊ธ์ ๊ฐ ์๋ค๋ฉด ํ๋๋ฅผ ์๊ธ์ ์ ์ฐ๊ฒฐํด โ๊ทํ์ ํ๋์ PDF ์ต๋ 10MB ํ์ฉโ์ฒ๋ผ ๋ช ํํ ์๋ด๋ฅผ ์ ๊ณตํ์ธ์.
์ผ๋ถ ํ์ผ์ ๋ ๊น์ ๊ฒ์ฌ๊ฐ ํ์ํฉ๋๋ค. ์ด๋ฏธ์ง๋ ๋๋น์ ๋์ด(๋๋ก๋ ์ข ํก๋น)๊น์ง ๊ฒ์ฆํด ๋๋ฌด ํฐ ์ ๋ก๋๋ก ํ์ด์ง๋ฅผ ๋๋ฆฌ๊ฒ ํ์ง ์๋๋ก ํ์ธ์. PDF๋ ํ์ด์ง ์๊ฐ ์ค์ํ ์ ์์ต๋๋ค.
์ ๋ก๋ ์ ํ์ผ๋ช ์ ๋ณ๊ฒฝํ์ธ์. ์ฌ์ฉ์๊ฐ ์ฌ๋ฆฐ ํ์ผ๋ช ์๋ ๊ณต๋ฐฑ, ์ด๋ชจ์ง, ๋ฐ๋ณต ์ด๋ฆ(scan.pdf ๋ฑ)์ด ๋ค์ด์๊ธฐ ์ฝ์ต๋๋ค. ์์ฑ๋ ID์ ์์ ํ ํ์ฅ์๋ฅผ ์ฌ์ฉํ๊ณ ์๋ณธ ์ด๋ฆ์ ํ์์ฉ ๋ฉํ๋ฐ์ดํฐ๋ก ์ ์ฅํ์ธ์.
๋ง์ ์ฑ์ ์ ์ฉ๋๋ ๊ธฐ๋ณธ ๊ฒ์ฆ ๊ธฐ์ค ์์๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค:
- ํ์ฉ ๋ฆฌ์คํธ(type: ํ์ฅ์ + MIME), ๊ทธ ์ธ๋ ๊ฑฐ๋ถ
- ์ ํ๋ณ ์ต๋ ์ฉ๋ ์ค์ (์ ํ์ ์ผ๋ก ์๊ธ์ ๋ณ๋ก ๋ค๋ฅด๊ฒ)
- ์ด๋ฏธ์ง ํฌ๊ธฐ(๋๋น/๋์ด) ๊ฒ์ฆ ๋ฐ ๊ทน๋จ์ ํฌ๊ธฐ ๊ฑฐ๋ถ
- ์ฌ์ฉ ์ฌ๋ก์ ์ค์ํ๋ฉด PDF ํ์ด์ง ์ ๊ฒ์ฆ
- ์์ ํ๊ณ ์ ์ผํ ํ์ผ๋ช ์ผ๋ก ๋ณ๊ฒฝํ๊ณ ์๋ณธ์ ๋ฉํ๋ฐ์ดํฐ๋ก ๋ณด๊ด
๊ฒ์ฆ ์คํจ ์ ์ฌ์ฉ์๊ฐ ์กฐ์นํ ์ ์๋ ํ ๊ฐ์ง ๋ช ํํ ๋ฉ์์ง๋ฅผ ๋ณด์ฌ์ฃผ๊ณ (์: โPDF๋ 20MB, 50ํ์ด์ง ์ดํ์ฌ์ผ ํฉ๋๋ค.โ), ๋์์ ๊ด๋ฆฌ์์ฉ ๊ธฐ์ ์์ธ(๊ฐ์ง๋ MIME, ํฌ๊ธฐ, ์ฌ์ฉ์ ID, ์ฌ์ )๋ ๋ก๊น ํ์ธ์. AppMaster์์๋ ์ด๋ฌํ ๊ฒ์ฌ๊ฐ Business Process์ ๋ค์ด๊ฐ ๋ชจ๋ ์ ๋ก๋ ๊ฒฝ๋ก๊ฐ ๋์ผํ ๊ท์น์ ๋ฐ๋ฅด๋๋ก ํ ์ ์์ต๋๋ค.
์ ๋ก๋์ ํ์ผ ๋ฉํ๋ฐ์ดํฐ๋ฅผ ์ํ ๋ฐ์ดํฐ ๋ชจ๋ธ
์ข์ ๋ฐ์ดํฐ ๋ชจ๋ธ์ ์ ๋ก๋๋ฅผ ํ๋ฒํ๊ฒ ๋ง๋ญ๋๋ค. ๋ชฉํ๋ ํ์ผ์ ์์ ์, ์ฉ๋, ์ฌ์ฉ ์ฌ๋ถ(์์ ์ฑ)๋ฅผ ์ถ์ ํ๋ ํน์ ์ ์ฅ ๊ณต๊ธ์์ ์ข ์๋์ง ์๋ ๊ฒ์ ๋๋ค.
์ ๋ขฐํ ๋งํ ํจํด์ ๋ ๋จ๊ณ ํ๋ก์ฐ์ ๋๋ค. ๋จผ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ ๋ก๋ ๋ ์ฝ๋๋ฅผ ๋ง๋ค๊ณ ์ ๋ก๋ ID๋ฅผ ๋ฐํํฉ๋๋ค. ๋์งธ๋ก ๊ทธ ID๋ฅผ ์ฌ์ฉํด ๋ฐ์ด๋๋ฆฌ๋ฅผ ์ ์ฅ์์ ์ ๋ก๋ํฉ๋๋ค. ์ด๋ ๊ฒ ํ๋ฉด ๋งค์นญ๋๋ ํ์ด ์๋ ์์๊ป๋ผ ๊ฐ์ ํ์ผ์ด ๋ฒํท์ ๋จ๋ ๊ฒ์ ๋ง๊ณ ๋ฐ์ดํธ๊ฐ ์ด๋ํ๊ธฐ ์ ์ ๊ถํ์ ๊ฐ์ ํ ์ ์์ต๋๋ค.
๊ฐ๋จํ uploads ํ
์ด๋ธ(๋๋ ์ปฌ๋ ์
)๋ก ์ถฉ๋ถํ ๊ฒฝ์ฐ๊ฐ ๋ง์ต๋๋ค. AppMaster์์๋ Data Designer์ PostgreSQL ๋ชจ๋ธ๋ก ๊น๋ํ๊ฒ ๋งคํ๋์ด ์น๊ณผ ๋ชจ๋ฐ์ผ ์ ๋ฐ์ ๊ฑธ์ณ ์ฌ์ฉํ ์ ์์ต๋๋ค.
๋์ค์ ์ง์๊ณผ ๊ฐ์ฌ์ ์ค์ ๋ก ํ์ํ ํญ๋ชฉ์ ์ ์ฅํ์ธ์:
- ์์ ์ ์ฐธ์กฐ(
user_id)์ ๋ฒ์(org_id๋๋team_id) - ๋ชฉ์ (avatar, invoice_pdf, ticket_attachment)
- ์๋ณธ ํ์ผ๋ช
, ๊ฐ์ง๋ MIME ์ ํ,
size_bytes - ์ ์ฅ ์์น(๋ฒํท/์ปจํ
์ด๋,
object_key)์ ์ฒดํฌ์ฌ(์ ํ) - ํ์์คํฌํ(
created_at,uploaded_at)์ ์ ๋ก๋์ IP/๋๋ฐ์ด์ค(์ ํ)
์ํ ๋ชจ๋ธ์ ๊ฐ๋จํ๊ฒ ์ ์งํ์ธ์. ๋ค ๊ฐ์ง ์ํ๋ฉด ๋๋ถ๋ถ ์ ํ์ ์ปค๋ฒํฉ๋๋ค:
pending: ๋ ์ฝ๋๋ ์กด์ฌํ๋ ์ ๋ก๋ ๋ฏธ์๋ฃuploaded: ๋ฐ์ดํธ ์ ์ฅ ์๋ฃverified: ๊ฒ์ฌ๋ฅผ ํต๊ณผํด ์ฌ์ฉ ์ค๋น ์๋ฃblocked: ๊ฒ์ฌ ์คํจ ๋๋ ์ ์ฑ ์๋ฐ
์ฒ์๋ถํฐ ์ ๋ฆฌ ๊ณํ์ ์ธ์ฐ์ธ์. ์ฌ์ฉ์๊ฐ ํญ์ ๋ซ๊ฑฐ๋ ์ฐ๊ฒฐ์ ์์ผ๋ฉด ๋ฏธ์๋ฃ pending ์
๋ก๋๊ฐ ๋ฐ์ํฉ๋๋ค. ์ผ์ผ ์์
์ผ๋ก ๋ง๋ฃ๋ pending ํ์ ์ ์ฅ ๊ฐ์ฒด๋ฅผ ์ญ์ ํ๊ณ , ๋ณด๊ณ ๋ฅผ ์ํด ํ์ ์ทจ์๋ก ํ์ํ๋ฉฐ, ์ค๋๋ blocked ํญ๋ชฉ์ ๋ณด์กด ๊ธฐ๊ฐ ํ ์ญ์ ํ๊ณ verified ํ์ผ์ ๋น์ฆ๋์ค ๊ท์น์ ๋ฐ๋ผ ๋ณด๊ดํ์ธ์.
์ด ๋ชจ๋ธ์ ๋ณต์ก์ฑ์ ์ถ๊ฐํ์ง ์๊ณ ์ถ์ ์ฑ๊ณผ ํต์ ๋ ฅ์ ์ ๊ณตํฉ๋๋ค.
์๊ฐ์ด ์ง๋๋ ๊น๋ํ ์ ์ฅ์ ์กฐ์งํ
๋๊ท๋ชจ๋ก ํ์ผ์ด ์์ด๋ฉด ๊ฐ์ฅ ํฐ ์ํ์ ๋น์ฉ์ด ์๋๋ผ ๋์ฅํ์ ๋๋ค. ํ์ด ํ์ผ์ด ๋ฌด์์ธ์ง, ๋๊ตฌ ๊ฒ์ธ์ง, ์ต์ ์ธ์ง ์๋์ง ์ ์ ์์ผ๋ฉด ๋ฒ๊ทธ๋ฅผ ๋ด๊ณ ๋ฐ์ดํฐ๋ฅผ ์ ์ถํ๊ฒ ๋ฉ๋๋ค.
์์ธก ๊ฐ๋ฅํ ํด๋ ์ ๋ต ํ๋๋ฅผ ์ ํ๊ณ ์งํค์ธ์. ๋ง์ ํ์ ํ ๋ํธ(ํ์ฌ)๋ณ๋ก ํํฐ์ ํ ๋ค์ ์ฉ๋, ๋ ์ง ์์ผ๋ก ์กฐ์งํฉ๋๋ค. ๋ค๋ฅธ ํ์ ํ ๋ํธ, ์ฌ์ฉ์, ์ฉ๋ ์์ผ๋ก ํฉ๋๋ค. ์ ํํ ์ ํ๋ณด๋ค ์ผ๊ด์ฑ์ด ๋ ์ค์ํฉ๋๋ค. ๋ ์ง๋ ๋๋ ํ ๋ฆฌ๊ฐ ๋ฌดํํ ์ปค์ง๋ ๊ฒ์ ๋ง๊ณ ์ ๋ฆฌ ์์ ์ ์ฝ๊ฒ ๋ง๋ญ๋๋ค.
๊ฒฝ๋ก ๋๋ ํ์ผ๋ช ์ ๊ฐ์ธ ๋ฐ์ดํฐ๋ฅผ ๋ฃ์ง ๋ง์ธ์. ์ด๋ฉ์ผ, ์ ์ฒด ์ด๋ฆ, ์ธ๋ณด์ด์ค ๋ฒํธ, ์ ํ๋ฒํธ ๋ฑ์ ํฌํจํ์ง ๋ง์ธ์. ๋์ ๋ฌด์์ ID๋ฅผ ์ฌ์ฉํ์ธ์. ์ฌ๋์ด ์ดํดํ๋ ํญ๋ชฉ์ผ๋ก ๊ฒ์ํด์ผ ํ๋ค๋ฉด ๊ฐ์ฒด ํค๊ฐ ์๋๋ผ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๋ฉํ๋ฐ์ดํฐ์ ์ ์ฅํ์ธ์.
์๋ณธ๊ณผ ํ์๋ฌผ์ ๋ถ๋ฆฌํด ๊ท์น์ ๋ช ํํ ํ์ธ์. ์๋ณธ ์ ๋ก๋๋ ํ ๋ฒ ์ ์ฅํ๊ณ ์ธ๋ค์ผ์ด๋ ํ๋ฆฌ๋ทฐ๋ ๋ค๋ฅธ ์ ๋์ฌ๋ก ๋ณด๊ดํ๋ฉด ๋ณด๊ด ์ ์ฑ ๊ณผ ๊ถํ์ ๋ณ๋๋ก ์ ์ฉํ๊ธฐ ์ฝ์ต๋๋ค.
๊ฐ๋จํ๊ณ ๋ด๊ตฌ์ฑ ์๋ ๋ช ๋ช ๋ฐฉ์ ์์:
- ํ ๋ํธ ID(๋๋ ์ํฌ์คํ์ด์ค ID)๋ก ํํฐ์
- ๋ชฉ์ ์ ๋์ฌ ์ถ๊ฐ(avatars, invoices, attachments)
- ์๊ฐ ๋ฒํท ์ถ๊ฐ(YYYY/MM)
- ํ์ผ๋ช ์ ๋ถํฌ๋ช ํ ํ์ผ ID ์ฌ์ฉ
- ํ์๋ฌผ์ ๋ณ๋ ์ ๋์ฌ(previews, thumbnails) ์๋ ์ ์ฅ
๋ฒ์ ๊ด๋ฆฌ๋ ์ด๋ป๊ฒ ํ ์ง ๊ฒฐ์ ํ์ธ์. ์ฌ์ฉ์๊ฐ ํ์ผ์ ๊ต์ฒดํ ์ ์๋ค๋ฉด ๋์ผ ๊ฐ์ฒด ํค๋ฅผ ๋ฎ์ด์ฐ๊ฑฐ๋(๊ฐ๋จํ์ง๋ง ํ์คํ ๋ฆฌ ์์) ์ ๋ฒ์ ์ ๋ง๋ค์ด ์ด์ ๊ฒ์ ๋นํ์ฑํํ๋(๊ฐ์ฌ ์นํ์ ) ๋ฐฉ๋ฒ ์ค ์ ํํ์ธ์. ๋ง์ ํ์ ๊ท์ ๋ฌธ์์๋ ํ์คํ ๋ฆฌ๋ฅผ ๋ณด๊ดํ๊ณ ํ๋กํ ์ฌ์ง์ ๋ฎ์ด์ฐ๊ธฐ๋ฅผ ์ฌ์ฉํฉ๋๋ค.
๋ช ๋ช ๊ท์น์ ๋ฌธ์๋ก ๋จ๊ธฐ์ธ์. AppMaster์์๋ ๋ฐฑ์๋ ๋ก์ง, UI ๋น๋, ํฅํ ํตํฉ์ด ๋์ผํ ๊ฒฝ๋ก๋ฅผ ์์ฑํ๋๋ก ํ๋ก์ ํธ ๋ฌธ์์ ๊ท์น์ ๊ธฐ๋กํ์ธ์.
๊ถํ ๋ฐ ์ ๊ทผ ์ ์ด ํจํด
๋๊ท๋ชจ ํ์ผ ์ ๋ก๋์์ ๊ถํ์ ์์ ์ง๋ฆ๊ธธ์ด ํฐ ์ฌ๊ณ ๋ก ์ด์ด์ง๋ ๊ณณ์ ๋๋ค. ๊ธฐ๋ณธ ์ ์ฑ ์ deny-by-default(๊ธฐ๋ณธ ์ฐจ๋จ)๋ก ์์ํ์ธ์: ์ ๋ก๋๋ ํ์ผ์ ๋ช ์์ ๊ท์น์ด ์์ ๋๊น์ง ๋น๊ณต๊ฐ์ ๋๋ค.
๋ ๊ฐ์ง ์ง๋ฌธ์ ๋ถ๋ฆฌํ๋ ๊ฒ์ด ๋์์ด ๋ฉ๋๋ค: ๋๊ฐ ๋ ์ฝ๋๋ฅผ ๋ณผ ์ ์๋๊ฐ, ๋๊ฐ ๋ฐ์ดํธ๋ฅผ ๊ฐ์ ธ์ฌ ์ ์๋๊ฐ. ์ด ๋์ ๋์ผํ์ง ์์ต๋๋ค. ๋ง์ ์ฑ์ ๋ฉํ๋ฐ์ดํฐ(ํ์ผ๋ช , ํฌ๊ธฐ, ์ ๋ก๋ ๋ ์ง)๋ฅผ ๋ณด๊ฒ ํ๋ ๋ค์ด๋ก๋๋ ์ ํํด์ผ ํฉ๋๋ค.
์ผ๋ฐ ์ ๊ทผ ํจํด
ํ์ผ ์ ํ๋ณ๋ก ๊ธฐ๋ณธ ํจํด ํ๋๋ฅผ ์ ํ๊ณ ์์ธ๋ ์ ์คํ ์ถ๊ฐํ์ธ์:
- ์์ ์ ์ ์ฉ: ์ ๋ก๋(๋ฐ ์๋น์ค ๊ณ์ )๋ง ๋ค์ด๋ก๋ ๊ฐ๋ฅ
- ํ ๊ธฐ๋ฐ: ์ํฌ์คํ์ด์ค/ํ๋ก์ ํธ ๊ตฌ์ฑ์์ด ๋ค์ด๋ก๋ ๊ฐ๋ฅ
- ์ญํ ๊ธฐ๋ฐ: Finance๋ HR ๊ฐ์ ์ญํ ์ด ํ์ ๋์ด์ ๋ค์ด๋ก๋ ๊ฐ๋ฅ
- ๋งํฌ ๊ณต์ : ํน๋ณ ํ ํฐ์ผ๋ก ๋ค์ด๋ก๋ ํ์ฉ, ๋ณดํต ๋ง๋ฃ์ ๋ฒ์๋ฅผ ์ง์
์ฃ์ง ์ผ์ด์ค๋ ์ผํ์ฑ ์์ ์ด ์๋๋ผ ๋ช ํํ ๊ท์น์ ์๊ตฌํฉ๋๋ค. ๊ด๋ฆฌ์ ์ ๊ทผ์ ์ ๋ฒ์๋ก ํ ๊ฒ์ธ์ง ํน์ ์นดํ ๊ณ ๋ฆฌ๋ก ํ์ ํ ๊ฒ์ธ์ง, ์ง์ํ์ ์์ ์ ๊ทผ์ ์ด๋ป๊ฒ(์๊ฐ ์ ํ ๋ฐ ๊ธฐ๋ก), ์ฌ์ฉ์๊ฐ ์ญ์ ๋ ๋ ํ์ผ์ ๋ณด์กดํ ์ง ์์ ์ ์ฌํ ๋น ๋๋ ์ญ์ ํ ์ง๋ฅผ ์ ํ์ธ์.
๋ฉํ๋ฐ์ดํฐ์ ๋ค์ด๋ก๋๋ฅผ ๋ณ๋๋ก ์ทจ๊ธํ์ธ์
๊ฐ๋จํ ํจํด์ ๋ ๋จ๊ณ ๊ฒ์ฌ์ ๋๋ค: (1) ์ฌ์ฉ์๊ฐ ์ ๋ก๋ ๋ ์ฝ๋๋ฅผ ์ฝ์ ์ ์๋๊ฐ, (2) ์ฌ์ฉ์๊ฐ ๋ค์ด๋ก๋ ์๋ต์ ์์ฒญํ ์ ์๋๊ฐ. ๋ ๋ฒ์งธ ๊ฒ์ฌ๋ ๋๊ตฐ๊ฐ ID๋ฅผ ์ถ์ธกํ๋๋ผ๋ "ํ์ฉ๋์ง ์์ผ๋ฉด ๋ค์ด๋ก๋ ๋ถ๊ฐ"๋ฅผ ๊ฐ์ ํ๋ ์ง์ ์ ๋๋ค.
๋ฏผ๊ฐํ ๋ฌธ์์ ๊ฒฝ์ฐ ์ ๊ทผ์ ๋ก๊น ํ์ธ์. ์ต์ํ ๋๊ฐ ๋ค์ด๋ก๋ํ๋์ง(์ฌ์ฉ์ ID์ ์ญํ ), ๋ฌด์์ ๋ค์ด๋ก๋ํ๋์ง(ํ์ผ ID์ ์ ํ), ์ธ์ (ํ์์คํฌํ), ์ ํ์ฉ๋์๋์ง(์ ์ฑ ๊ฒฐ๊ณผ, ๊ณต์ ํ ํฐ, ๊ด๋ฆฌ์ ์ค๋ฒ๋ผ์ด๋), ์ด๋์ ์ ๊ทผํ๋์ง(IP๋ ๋๋ฐ์ด์ค)๋ฅผ ๊ธฐ๋กํ์ธ์.
AppMaster์์๋ ์ด๋ฐ ๊ท์น์ Business Process Editor์ ๋ฃ์ด ์ ๋ก๋ ๋ฉํ๋ฐ์ดํฐ๋ฅผ ๋์ดํ๋ ํ๋ฆ๊ณผ ๋ค์ด๋ก๋ ํ ํฐ์ ์์ฑํ๋ ๋ ์๊ฒฉํ ํ๋ฆ์ ๋ถ๋ฆฌํด ์ ์ฉํ๋ ๊ฒฝ์ฐ๊ฐ ๋ง์ต๋๋ค.
๋ง๋ฃ๋๋ ๋ค์ด๋ก๋ ๋งํฌ: ๋ง์ฐฐ์ ์ค์ธ ์์ ํ ๋ค์ด๋ก๋
๋ง๋ฃ๋๋ ๋ค์ด๋ก๋ ๋งํฌ๋ "URL์ ์๋ ์ฌ๋์ ์์ํ ๋ค์ด๋ก๋ ๊ฐ๋ฅ"๊ณผ "๋งค๋ฒ ๋ก๊ทธ์ธํด์ผ ์ ๊ทผ ๊ฐ๋ฅ" ์ฌ์ด์ ํํ์ ๋๋ค. ์ด๋ฉ์ผ๋ก ๋ฌธ์๋ฅผ ๊ณต์ ํ๊ฑฐ๋ ๊ณ์ฝ์์๊ฒ ์์ ์ ๊ทผ์ ์ค ๋ ์ ์ฉํฉ๋๋ค. ๋๊ท๋ชจ์์๋ ๋งํฌ๋ก ์ ๊ทผ์ ํ์ฉํ๋ ์ ์ฅ์ ์ ์ฒด๋ฅผ ์ด์ง ์์๋ ๋์ด ์ง์ ๋ฌธ์ ๋ฅผ ์ค์ฌ์ค๋๋ค.
๋ ๊ฐ์ง ์ผ๋ฐ์ ์ธ ํจํด:
- ์๋ช ๋ URL์ ์๋ ๋ง๋ฃ๋ฉ๋๋ค. ๊ฐ๋จํ๊ณ ๋น ๋ฅด์ง๋ง ์ด๋ฏธ ํผ์ง ๋งํฌ๋ฅผ ์ทจ์ํ๊ธฐ๋ ์ด๋ ต์ต๋๋ค.
- ํ ํฐ ๊ธฐ๋ฐ ๋ค์ด๋ก๋ ์๋ํฌ์ธํธ๋ ๋ ๋ง์ ์ ์ด๋ฅผ ์ ๊ณตํฉ๋๋ค. ๋งํฌ์ ์งง์ ํ ํฐ์ ๋ด๊ณ ์ฑ์ด ๋งค ์์ฒญ๋ง๋ค ๊ถํ์ ํ์ธํ ๋ค ํ์ผ์ ์ ๊ณตํ๊ฑฐ๋ ๋ฆฌ๋๋ ํธํฉ๋๋ค.
์ค์ฉ์ ์ธ ์ค์ :
- ๊ณต์ ๋งํฌ๋ ์งง๊ฒ(10~60๋ถ) ๋ง๋ฃ์ํค๊ณ ํ์ ์ ๊ฐฑ์ ํ์ธ์.
- ์ ๋ขฐ๋ ๋ก๊ทธ์ธ ์ธ์ ์ ๋ํด์๋ง ๋ ๊ธด ๋ง๋ฃ๋ฅผ ํ์ฉํ์ธ์(์: "๋ค์ ๋ค์ด๋ก๋"๋ ์ ๋งํฌ๋ฅผ ์์ฑ).
- ๋งํฌ ๋ฒ์๋ฅผ ์ข๊ฒ ์ค์ ํ์ธ์: ํ ํ์ผ, ํ ์ฌ์ฉ์(๋๋ ์์ ์), ํ ๋์(๋ณด๊ธฐ vs ๋ค์ด๋ก๋).
- ๋งํฌ ์์ฑ๊ณผ ์ฌ์ฉ์ ๋ก๊น ํด ์ ์ถ์ด ๋ฐ์ํ์ ๋ ์ถ์ ํ ์ ์๊ฒ ํ์ธ์.
๋ฒ์๋ ์ค์ํฉ๋๋ค. ๋ณด๊ธฐ(view)๋ ๋ณดํต ์ธ๋ผ์ธ ํ์๋ฅผ ์๋ฏธํ๊ณ ๋ค์ด๋ก๋๋ ๋ณต์ฌ๋ณธ์ ์ ์ฅํ๋ ๊ฒ์ ์๋ฏธํฉ๋๋ค. ๋ ๋ค ํ์ํ๋ฉด ๊ฐ ๋์์ ๋ํด ๋ณ๋์ ๋งํฌ์ ๊ท์น์ ๋ง๋์ธ์.
์ทจ์ ๊ณํ์ ์ธ์ฐ์ธ์. ์ฌ์ฉ์๊ฐ ์ ๊ทผ ๊ถํ์ ์์์ ๋(ํ๋ถ, ์ญํ ๋ณ๊ฒฝ, ๊ณ์ฝ ์ข ๋ฃ) ์๋ช ๋ URL๋ง์ผ๋ก๋ ๋ถ์กฑํ ์ ์์ต๋๋ค. ํ ํฐ ์๋ํฌ์ธํธ๋ฅผ ์ฌ์ฉํ๋ฉด ํ ํฐ์ ์ฆ์ ๋ฌดํจํํ ์ ์์ต๋๋ค. ์๋ช ๋ URL์ ์ด๋ค๋ฉด ๋ง๋ฃ๋ฅผ ์งง๊ฒ ์ ์งํ๊ณ ์๋ช ํค๋ฅผ ๊ต์ฒด(ํค ๋กํ ์ด์ )ํ ๋๋ง ๋ชจ๋ ๋งํฌ๋ฅผ ๊ฐ์ ๋ก ๋ฌดํจํํ์ธ์(ํค ๋กํ ์ด์ ์ ์ ์ฒด ์ทจ์์ด๋ฏ๋ก ์ ์คํ ์ฌ์ฉ).
์: ๊ณ ๊ฐ ํฌํธ์ ์ธ๋ณด์ด์ค ๋งํฌ๋ฅผ ํ๊ณ์ฌ์๊ฒ ์ด๋ฉ์ผ๋ก ๋ณด๋ด๋ฉด 30๋ถ ๋ค ๋ง๋ฃ๋๊ณ ๋ณด๊ธฐ ์ ์ฉ์ด๋ฉฐ ํด๋น ์ธ๋ณด์ด์ค ID์ ๊ณ ๊ฐ ๊ณ์ ์ ๋ฌถ์ฌ ์์ต๋๋ค. ๊ณ ๊ฐ์ด ๊ณ์ ์์ ์ ๊ฑฐ๋๋ฉด ์ด๋ฉ์ผ์ด ์ ๋ฌ๋์ด๋ ํ ํฐ์ ๊ฑฐ๋ถ๋ฉ๋๋ค.
๋จ๊ณ๋ณ: ํ์ฅ ๊ฐ๋ฅํ ์ ๋ก๋ ํ๋ก์ฐ
์ ๋ขฐํ ์ ์๋ ์ ๋ก๋ ํ๋ก์ฐ๋ ํ์ฉ ํญ๋ชฉ(๋ฌด์์ ํ์ฉํ ์ง), ๋ฐ์ดํธ๊ฐ ์ด๋๋ก ๊ฐ๋์ง, ๋์ค์ ๋๊ฐ ๊ฐ์ ธ๊ฐ์ง๋ผ๋ ์ธ ๊ฐ์ง ๊ด์ฌ์ฌ๋ฅผ ๋ถ๋ฆฌํฉ๋๋ค. ์ด๋ค์ด ๋ค์์ด๋ฉด ์์ ์ฃ์ง ์ผ์ด์ค๊ฐ ์ด์ ์ฌ๊ณ ๋ก ๋ฒ์ง๋๋ค.
์ด๋ฏธ์ง, PDF, ๋๋ถ๋ถ์ ์ฌ์ฉ์ ์์ฑ ํ์ผ์ ๋ํ ์ค์ฉ์ ํ๋ก์ฐ:
- ์ฉ๋ ๊ธฐ๋ฐ ๊ท์น ์ ์: ๊ฐ ์ฉ๋(์๋ฐํ, ์ธ๋ณด์ด์ค, ์ ๋ถ์ฆ ๋ฑ)์ ๋ํด ํ์ฉ ํ์ , ์ต๋ ์ฉ๋, ํ์ด์ง ์ ๊ฐ์ ์ถ๊ฐ ๊ฒ์ฌ ์ค์
- ๋ฐฑ์๋์ ์
๋ก๋ ์์ฒญ ์์ฑ: ํด๋ผ์ด์ธํธ๊ฐ ์
๋ก๋ ํ๊ฐ๋ฅผ ์์ฒญํ๋ฉด ๋ฐฑ์๋๊ฐ ์
๋ก๋ ๋์(์ค๋ธ์ ํธ ์ ์ฅ ํค + ๋จ๊ธฐ ํ ํฐ ๋ฑ)์ ๋ฐํํ๊ณ
pending์ํ์ ์ ๋ก๋ ํ์ ์์ฑ - ๋ฐ์ดํธ ์
๋ก๋ ํ ํ์ธ: ํด๋ผ์ด์ธํธ๊ฐ ์ ์ฅ์์ ์
๋ก๋ํ ๋ค ๋ฐฑ์๋์ ์๋ฃ๋ฅผ ํธ์ถํ๋ฉด ๋ฐฑ์๋๋ ์์ ํค์ ๊ธฐ๋ณธ ์์ฑ์ ํ์ธํ๊ณ ํ์
uploaded๋ก ํ์ - ๋น๋๊ธฐ ๊ฒ์ฆ ์คํ: ๋ฐฑ๊ทธ๋ผ์ด๋์์ ์ค์ ํ์ผ ํ์
(๊ฐ๋ฅํ๋ฉด ๋งค์ง ๋ฐ์ดํธ ํฌํจ) ๊ฒ์ฆ, ์ฉ๋ ํ์ธ, ์์ ํ ๋ฉํ๋ฐ์ดํฐ(ํฌ๊ธฐ, ํ์ด์ง ์) ์ถ์ถ, ์ ํ์ ์ผ๋ก ์
์ฑ์ฝ๋ ์ค์บ ์ํ. ์คํจ ์ ์
๋ก๋๋ฅผ
blocked๋ก ํ์ํ๊ณ ๋ค์ด๋ก๋ ์ฐจ๋จ - ์ ์ฑ ์ ๋ฐ๋ผ ์ ๊ณต: ๋ค์ด๋ก๋ ์ ํ์ผ ์์ ์ํฐํฐ(user, org, ticket, order)์ ๋ํ ์ ๊ทผ ๊ถํ์ ํ์ธํ ๋ค ํ๋ก์๋ก ์ ๊ณตํ๊ฑฐ๋ ๋น๊ณต๊ฐ ์ ์ฅ์ ์ ์งํ๊ธฐ ์ํด ๋ง๋ฃ๋๋ ๋ค์ด๋ก๋ ๋งํฌ๋ฅผ ๋ฐํ
์ ๋ฆฌ ์์
๋ ์ถ๊ฐํ์ธ์. ์งง์ ์๊ฐ ํ ๋ฏธ์๋ฃ pending ์
๋ก๋๋ฅผ ์ญ์ ํ๊ณ , ์ฐธ์กฐ๋์ง ์๋ ํ์ผ(์: ์ฌ์ฉ์๊ฐ ์
๋ก๋ํ์ง๋ง ํผ์ ์ ์ฅํ์ง ์์)์ ์ ๊ฑฐํ์ธ์.
AppMaster๋ก ๋น๋ํ๋ค๋ฉด ์ ๋ก๋๋ฅผ ์ํ ํ๋์ ์์ ์ ์ฐธ์กฐ๋ฅผ ๊ฐ์ง ๋ณ๋ ์ํฐํฐ๋ก ๋ชจ๋ธ๋งํ๊ณ ๋ชจ๋ ๋ค์ด๋ก๋ Business Process์์ ๋์ผํ ๊ถํ ๊ฒ์ฌ๋ฅผ ์ ์ฉํ์ธ์.
์์: ๊ณ ๊ฐ ํฌํธ์ ์ธ๋ณด์ด์ค
๊ณ ๊ฐ ํฌํธ์์ ์ฌ์ฉ์๊ฐ PDF ์ธ๋ณด์ด์ค๋ฅผ ์ ๋ก๋ํ๋ ๊ฒ์ ๊ฐ๋จํด ๋ณด์ด์ง๋ง ์์ฒ ๊ฐ์ ํ์ฌ, ์ฌ๋ฌ ์ญํ , ๊ฐ์ ์ธ๋ณด์ด์ค๊ฐ ์ฌ๋ฌ ๋ฒ ๊ต์ฒด๋๋ ์ํฉ์์๋ ๋ณต์กํด์ง๋๋ค.
์คํ ๋ฆฌ์ง ์กฐ์ง์ ์ํด ์๋ณธ ํ์ผ์ ์ฌ๋๋ค์ด ๊ฒ์ํ๊ธฐ ์ฌ์ด ์์ธก ๊ฐ๋ฅํ ๊ฒฝ๋ก์ ๋์ธ์. ์: invoices/<company_id>/<yyyy-mm>/<upload_id>.pdf. ํ์ฌ์ ์ ์ ๋ณด๋ ์ ๋ฆฌ์ ๋ฆฌํฌํ
์ ์ฝ๊ฒ ํ๊ณ upload_id๋ ๊ฐ์ ์ด๋ฆ์ ํ์ผ ์ถฉ๋์ ํผํฉ๋๋ค.
๋ฐ์ดํฐ๋ฒ ์ด์ค์๋ ํ์ผ์ด ๋ฌด์์ธ์ง ๋๊ฐ ์ ๊ทผํ ์ ์๋์ง๋ฅผ ์ค๋ช ํ๋ ๋ฉํ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ์ธ์:
company_id์billing_monthuploaded_by_user_id์uploaded_atoriginal_filename๊ณผcontent_typesize_bytes์ ์ฒดํฌ์ฌ(์ ํ)- ์ํ(active, replaced, quarantined)
๊ณต์ ํ ๋: ์ฒญ๊ตฌ ๊ด๋ฆฌ์๊ฐ ์ธ๋ถ ํ๊ณ์ฌ์๊ฒ 24์๊ฐ ๋์ ์ธ๋ณด์ด์ค ํ๋๋ฅผ ๋ณด๋ด๊ณ ์ถ๋ค๋ฉด ์ ์ญ ๊ถํ์ ๋ฐ๊พธ์ง ๋ง๊ณ ๊ทธ ํน์ ์ธ๋ณด์ด์ค์ ๋ฌถ์ธ ๋ง๋ฃ ๋ค์ด๋ก๋ ๋งํฌ๋ฅผ ์์ฑํ์ธ์. ๋ง๋ฃ ์๊ฐ๊ณผ ๋จ์ผ ๋ชฉ์ (๋ค์ด๋ก๋ ์ ์ฉ)์ ์๊ฒฉํ ์ค์ ํ์ธ์. ํ๊ณ์ฌ๊ฐ ํด๋ฆญํ๋ฉด ์ฑ์ด ํ ํฐ์ ํ์ธํ๊ณ ๋ง๋ฃ๋์ง ์์๋์ง ๊ฒ์ฆํ ๋ค ํ์ผ์ ์ ๊ณตํฉ๋๋ค.
์ฌ์ฉ์๊ฐ ์๋ชป๋ PDF๋ฅผ ์
๋ก๋ํ๊ฑฐ๋ ํ์ผ์ ๊ต์ฒดํ๋ฉด ์ด์ ๊ฐ์ฒด๋ฅผ ๋ฎ์ด์ฐ์ง ๋ง์ธ์. ์ด์ ๋ ์ฝ๋๋ฅผ replaced๋ก ํ์ํ๊ณ ๊ฐ์ฌ ๋ชฉ์ ์ ์ํด ๋ณด๊ดํ ๋ค ์ธ๋ณด์ด์ค ์ํธ๋ฆฌ๋ฅผ ์ upload_id๋ก ๊ฐ๋ฆฌํค๊ฒ ํ์ธ์. ๋ณด์กด ๊ท์น์ ์ค์ํด์ผ ํ๋ค๋ฉด ์ค์ผ์ค๋ ์์
์ผ๋ก ๊ต์ฒด๋ ํ์ผ์ ๋์ค์ ์ญ์ ํ ์ ์์ต๋๋ค.
์ง์ํ์ "๋ค์ด๋ก๋ ์ ๋จ" ํฐ์ผ์ด ์ค๋ฉด ๋ฉํ๋ฐ์ดํฐ๊ฐ ๋น ๋ฅด๊ฒ ์ง๋จํ๋ ๋ฐ ๋์์ ์ค๋๋ค: ๋งํฌ๊ฐ ๋ง๋ฃ๋๋, ์ธ๋ณด์ด์ค๊ฐ ๊ต์ฒด๋์๋, ์ฌ์ฉ์๊ฐ ์ฌ๋ฐ๋ฅธ ํ์ฌ์ ์ํด ์๋, ํ์ผ์ด ๊ฒฉ๋ฆฌ(quarantined)๋์๋? AppMaster์์๋ ์ด๋ฌํ ๊ฒ์ฌ๋ค์ Business Process์ ๋ฃ์ด ๋ชจ๋ ๋ค์ด๋ก๋๊ฐ ๋์ผํ ๊ท์น์ ๋ฐ๋ฅด๋๋ก ํ ์ ์์ต๋๋ค.
ํํ ์ค์์ ํํผ ๋ฐฉ๋ฒ
๋๋ถ๋ถ์ ์ด๊ธฐ ๋ฌธ์ ๋ ์ ๊ธฐํ์ง ์์ต๋๋ค. ๋ฐ๋ชจ์์๋ ๊ด์ฐฎ์ ๋ณด์ด๋ ๋ช ๊ฐ์ง ์ง๋ฆ๊ธธ์ด ๋์ค์ ๋ฌธ์ ๋ฅผ ๋ง๋ญ๋๋ค.
- ํ์ฅ์๋ง ์ ๋ขฐํ๊ฑฐ๋ MIME๋ง ์ ๋ขฐํ๋ ๊ฒ: ๊ณต๊ฒฉ์๋ ํ์ผ๋ช ์ ๋ฐ๊พธ๊ณ ๋ธ๋ผ์ฐ์ ๋ ๊ฑฐ์ง ์ ๋ณด๋ฅผ ๋ณด๋ผ ์ ์์ต๋๋ค. ๋ ๋ค ํ์ธํ๊ณ ๊ณ ์ํ ์ ๋ก๋๋ ์๋ฒ์์ ํ์ผ ์๊ทธ๋์ฒ(๋งค์ง ๋ฐ์ดํธ)๊น์ง ๊ฒ์ฆํ์ธ์.
- ๊ณต๊ฐ ์คํ ๋ฆฌ์ง๋ฅผ ์ฌ์ฉํ๊ณ ๊ถํ๋ง ๋ฏฟ๋ ๊ฒ: ๊ณต๊ฐ ๋ฒํท/์ปจํ ์ด๋๋ ์์ ์ค์ ํ๋๊ฐ ๋ฐ์ดํฐ ์ ์ถ๋ก ์ด์ด์ง๋๋ค. ๊ธฐ๋ณธ์ ์ผ๋ก ์ ์ฅ์๋ ๋น๊ณต๊ฐ๋ก ์ ์งํ๊ณ ์ฑ์ ํตํด ์ ๊ทผ์ ๊ฒ์ดํธํ์ธ์.
- ์ฌ์ฉ์ ์ ๊ณต ์ด๋ฆ์ ๊ฒฝ๋ก๋ URL์ ๋ฃ๋ ๊ฒ: invoice_john_smith.pdf ๊ฐ์ ์ด๋ฆ์ ๊ฐ์ธ์ ๋ณด๋ฅผ ๋ ธ์ถํ๊ณ ์ถ์ธก์ ์ฝ๊ฒ ๋ง๋ญ๋๋ค. ๊ฐ์ฒด ํค๋ ๋ฌด์์ ID๋ฅผ ์ฌ์ฉํ๊ณ ํ์ ์ด๋ฆ์ ๋ฉํ๋ฐ์ดํฐ๋ก ์ ์ฅํ์ธ์.
- ํ
๋ํธ ํ์ผ์ ๊ฐ์ ๊ฒฝ๋ก์ ์์ด๋๋ ๊ฒ:
/uploads/2026/01/๊ฐ์ ๊ฒฝ๋ก๋ ๊ถํ ๋ชจ๋ธ์ด ๋ ์ ์์ต๋๋ค. ๋ค์ด๋ก๋๋ฅผ ๋ฐํํ๊ธฐ ์ ์ ํญ์ ํ ๋ํธ์ ์ฌ์ฉ์ ๊ถํ์ ๊ฒ์ฆํ์ธ์. - ์คํจํ๊ฑฐ๋ ๋ฏธ์๋ฃ๋ ์ ๋ก๋ ์ ๋ฆฌ๋ฅผ ๊ฑด๋๋ฐ๋ ๊ฒ: ๋ฉํฐํํธ ์ ๋ก๋์ ์ฌ์๋๋ ์ ํฌ๋ฅผ ๋จ๊น๋๋ค. ๋ฏธ์๋ฃ ์ ๋ก๋๋ฅผ ์ ๊ฑฐํ๋ ๋ฐฑ๊ทธ๋ผ์ด๋ ์์ ์ ์ถ๊ฐํ์ธ์.
ํ์ด ์๋ ํ ๊ฐ์ง๋ ์ฌ์๋์ ์ค๋ณต์ ๋ํ ๊ณํ์ด ์๋ค๋ ์ ์ ๋๋ค. ๋ชจ๋ฐ์ผ ๋คํธ์ํฌ๋ ๋๊ธฐ๊ณ ์ฌ์ฉ์๋ ๋ ๋ฒ ํญํฉ๋๋ค. ์์คํ ์ ๋์ผ ํ์ผ์ ๋ค์ ์ ๋ก๋ํ๋ ๊ฒ์ ์ ์์ผ๋ก ์ทจ๊ธํด์ผ ํฉ๋๋ค.
์ค์ฉ์ ๋ฐฉ๋ฒ์ ๋จผ์ ์
๋ก๋ ID๋ฅผ ์์ฑํ ๋ค ์ฒญํฌ ๋๋ ๋จ์ผ ํ์ผ์ ์๋ฝํ๊ณ ๊ฒ์ฆ์ด ํต๊ณผ๋ ๋ค์๋ง ๋ ์ฝ๋๋ฅผ verified๋ก ํ์ํ๋ ๊ฒ์
๋๋ค. ๋์ผ ์
๋ก๋๊ฐ ๋ฐ๋ณต๋๋ฉด ์ ๋ณต์ฌ๋ณธ์ ๋ง๋ค์ง ๋ง๊ณ ๊ธฐ์กด ๋ ์ฝ๋๋ฅผ ๋ฐํํ์ธ์.
AppMaster๋ก ๋น๋ํ๋ค๋ฉด ํต์ฌ ๊ท์น์ ํ ๊ณณ(๋ฐฑ์๋ ๋ก์ง)์ ๋์ด ์น๊ณผ ๋ชจ๋ฐ์ผ์ด UI๊ฐ ๋ฐ๋์ด๋ ๋์ผํ๊ฒ ๋์ํ๊ฒ ํ์ธ์.
๋ฐฐํฌ ์ ๋น ๋ฅธ ์ฒดํฌ๋ฆฌ์คํธ
์ค์ ์ฌ์ฉ์์๊ฒ ์ ๋ก๋๋ฅผ ์ด๊ธฐ ์ ์ ๊ธฐ๋ณธ์ ํ ๋ฒ ์ ๊ฒํ์ธ์. ๋๊ท๋ชจ ํ์ผ ์ ๋ก๋ ๋ฌธ์ ๋ ๋๋ถ๋ถ ๋ง์ ์ฌ์ฉ์์ ํ์ผ, ๋ค์ํ ์ฃ์ง ์ผ์ด์ค๊ฐ ์๊ธด ํ์ ๋๋ฌ๋๋ ์์ ๊ฐ๊ทน์์ ์ต๋๋ค.
- ํ์ฉ ๋ฆฌ์คํธ ํ์ ๊ณผ ์ฉ๋๋ณ ์ฉ๋ ์ ํ ์ค์ (์๋ฐํ vs ์ธ๋ณด์ด์ค). ํ์ฅ์์ ์ค์ ์ฝํ ์ธ ํ์ ์ ๋ชจ๋ ๊ฒ์ฆ
- ์
๋ก๋ ๋ฉํ๋ฐ์ดํฐ๋ฅผ DB์ ์ ์ฅ: ์์ ์(user, team, account), ์ฉ๋,
pending/verified/blocked๊ฐ์ ๋ช ํํ ์ํ - ๊ธฐ๋ณธ์ ์ผ๋ก ์ ์ฅ์๋ ๋น๊ณต๊ฐ๋ก ์ ์งํ๊ณ ๋ชจ๋ ๋ค์ด๋ก๋์์ ๊ถํ ๊ฒ์ฌ๋ฅผ ๊ฐ์ (์จ๊ฒจ์ง URL๋ง ๋ฏฟ์ง ์๊ธฐ)
- ๊ณต์ ๊ฐ ํ์ํ๋ฉด ๋ง๋ฃ๋๋ ๋ค์ด๋ก๋ ๋งํฌ ์ฌ์ฉ, ์๋ช ์ ์งง๊ฒ(๋ถ~์๊ฐ ๋จ์)
- ๊ฒฝ๋ก์ ํ์ผ๋ช ์ ๊ฐ์ธ ๋ฐ์ดํฐ ํฌํจ ๊ธ์ง. ๋ฌด์์ ID ์ฌ์ฉํ๊ณ UI์๋ ์น์ํ ํ์๋ช ์ ๋ณด์ฌ์ฃผ๊ธฐ
๋ฏธ์๋ฃ ์ ๋ก๋์ ๋ํ ๊ณํ์ ์๋ฆฝํ์ธ์. ์ฌ์ฉ์๊ฐ ์ ๋ก๋๋ฅผ ์์ํ๊ณ ์๋ฃํ์ง ์๊ฑฐ๋ ํ์ผ์ ์์ฃผ ๊ต์ฒดํ๋ ๊ฒ์ ์ ์์ ๋๋ค.
๊ฐ๋จํ ์ ๋ฆฌ ๊ณํ:
verified์ ๋๋ฌํ์ง ๋ชปํ ๊ณ ์ ํ์ผ ์ญ์ - ๊ต์ฒด๋ ํ์ผ์ ๋ณด์กด ๊ธฐ๊ฐ์ ๋๊ณ ์ดํ ์ญ์
- ์ฃผ์ ์ด๋ฒคํธ(์ ๋ก๋, ๊ฒ์ฆ, ๋ค์ด๋ก๋, ์ญ์ )๋ฅผ ๋ก๊น ํด ์ง์์ด ์กฐ์ฌํ ์ ์๊ฒ ํ๊ธฐ
AppMaster์์ ์ด ์์คํ ์ ๊ตฌํํ๋ค๋ฉด Data Designer๋ก PostgreSQL์ ๋ฉํ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๊ณ , Business Process Editor์์ ๊ฒ์ฆ๊ณผ ํ์ผ ์ ๊ทผ ์ ์ด๋ฅผ ์ํํ๋ฉฐ, ํ์ผ ์ ๊ณต ์ ์งง์ ๋ง๋ฃ ํ ํฐ์ ์์ฑํ์ธ์.
๋ค์ ๋จ๊ณ: ์์ ํ๊ฒ ๋ฐฐํฌํ ๋ค ์์ ๊ฐ์ ์ ์๊ธฐ
์์ ํ ๋ฆด๋ฆฌ์ค๋ฅผ ๋น ๋ฅด๊ฒ ๋ด๋ ๋ฐฉ๋ฒ์ ํ๋์ ์ ๋ก๋ ์ ๊ทผ๋ฒ์ ์ ํํ๊ณ ์งํค๋ ๊ฒ์ ๋๋ค. ํ์ผ์ ๋จผ์ ๋ฐฑ์๋๋ฅผ ๊ฑฐ์น๊ฒ ํ ์ง, ๋จ๊ธฐ ํ ํฐ์ผ๋ก ์ง์ ์ค๋ธ์ ํธ ์คํ ๋ฆฌ์ง์ ์ ๋ก๋ํ๊ฒ ํ ์ง ๊ฒฐ์ ํ๊ณ ๊ฐ ๋จ๊ณ์ ์ฑ ์(ํด๋ผ์ด์ธํธ, ๋ฐฑ์๋, ์คํ ๋ฆฌ์ง)์ ๋ฌธ์ํํ์ธ์. ์ผ๊ด์ฑ์ด ๊ธฐ๋ฏผํจ๋ณด๋ค ๋ซ์ต๋๋ค.
๊ธฐ๋ณธ๊ฐ์ ์๊ฒฉํ๊ฒ ์์ํ์ธ์. ์ง์ง๋ก ํ์ํ ํ์ผ ํ์ ๋ง ํ์ฉํ๊ณ ์ฉ๋ ์ ํ์ ๋ณด์์ ์ผ๋ก ์ค์ ํ๋ฉฐ, ๊ณต๊ฐ์ฉ์ด ์๋ ๋ชจ๋ ํญ๋ชฉ์ ์ธ์ฆ์ ์๊ตฌํ์ธ์. ์ฌ์ฉ์๊ฐ ๋ ํฐ ํ์ผ์ด๋ ๋ ๋ง์ ํฌ๋งท์ ์์ฒญํ๋ฉด ํ ๋ฒ์ ํ๋์ ๊ท์น๋ง ์ํํ๊ณ ์ํฅ์ ์ธก์ ํ์ธ์.
์ผ์ฐ ๋ชจ๋ํฐ๋ง์ ์ถ๊ฐํด ๋ฌธ์ ๋ฅผ ๋น ๋ฅด๊ฒ ํฌ์ฐฉํ์ธ์:
- ์ ๋ก๋ ์คํจ์จ(๊ธฐ๊ธฐ, ๋ธ๋ผ์ฐ์ , ํ์ผ ํ์ ๋ณ)
- ํ๊ท ๋ฐ p95 ์ ๋ก๋ ํฌ๊ธฐ
- ์ ๋ก๋ ์๊ฐ(ํนํ ๋ชจ๋ฐ์ผ ๋คํธ์ํฌ์์)
- ์ผ๋ณ/์ฃผ๋ณ ์ ์ฅ์ ์ฆ๊ฐ๋
- ๋ค์ด๋ก๋ ์ค๋ฅ(๋ง๋ฃ ๋๋ ๊ธ์ง ๋งํฌ ํฌํจ)
์ด ์ ๋ก๋ ์์คํ ์ด ๋ ํฐ ์ฑ์ ์ผ๋ถ๋ผ๋ฉด ๋ฐ์ดํฐ ๋ชจ๋ธ๊ณผ ๊ถํ์ ๋น์ฆ๋์ค ๋ก์ง๊ณผ ๊ฐ๊น๊ฒ ์ ์งํ์ธ์. ๋ง์ ํ์ด AppMaster๋ฅผ ์ฌ์ฉํด ์ ๋ก๋ ๋ ์ฝ๋๋ฅผ PostgreSQL์ ๋๊ณ Business Process์์ ๊ฒ์ฆ๊ณผ ์ ๊ทผ ์ ์ด๋ฅผ ๊ตฌํํ๋ฉฐ ๋์ผํ ๋ก์ง์ ๋ฐฑ์๋, ์น, ๋ค์ดํฐ๋ธ ์ฑ์์ ์ฌ์ฌ์ฉํฉ๋๋ค.
๋ค์์ผ๋ก ์ ์ฉํ ๊ฐ์ ์ ๊ณตํต ํฌ๋งท์ ๋ํ ๋ฏธ๋ฆฌ๋ณด๊ธฐ ์ถ๊ฐ, ๋ฏผ๊ฐ ๋ฌธ์์ ๋ํ ๊ฐ์ฌ ๋ก๊ทธ, ์์ ์ ๋ก๋ ์๋ ์ญ์ ๊ฐ์ ๋จ์ ๋ณด์กด ๊ท์น์ ๋๋ค. ์๊ณ ๊พธ์คํ ์ ๊ทธ๋ ์ด๋๊ฐ ์ฌ์ฉ๋ ์ฆ๊ฐ์ ๋ฐ๋ผ ์์คํ ์ ์์ ์ ์ผ๋ก ์ ์งํฉ๋๋ค.
์์ฃผ ๋ฌป๋ ์ง๋ฌธ
์ค์ ์์ ์นดํ ๊ณ ๋ฆฌ(์๋ฐํ, ์ธ๋ณด์ด์ค, ๊ณ์ฝ์, ํฐ์ผ ์ฒจ๋ถํ์ผ, ๋ด๋ณด๋ด๊ธฐ ๋ฑ)๋ฅผ ๋จผ์ ์ ์ด๋ณด์ธ์. ๊ฐ ์นดํ ๊ณ ๋ฆฌ์ ๋ํด ๋๊ฐ ์ ๋ก๋ํ๊ณ , ๋๊ฐ ๋ณผ ์ ์์ผ๋ฉฐ, ๋๊ฐ ๊ต์ฒดํ๊ฑฐ๋ ์ญ์ ํ ์ ์๋์ง, ๊ณต์ ๊ฐ ๋ง๋ฃ๋์ด์ผ ํ๋์ง, ๋ณด๊ด ๊ธฐ๊ฐ์ ์ผ๋ง์ธ์ง ์ ํ์ธ์. ์ด ๊ฒฐ์ ๋ค์ด ๋ฐ์ดํฐ๋ฒ ์ด์ค ๋ชจ๋ธ๊ณผ ๊ถํ ๊ฒ์ฌ ๊ท์น์ ๊ฒฐ์ ํ๋ฏ๋ก ๋์ค์ ์ ์ฒด๋ฅผ ๋ค์ ์ค๊ณํ์ง ์์๋ ๋ฉ๋๋ค.
ํ์ฉ ๋ฆฌ์คํธ๋ฅผ ์ฌ์ฉํ๊ณ ํ์ผ๋ช ํ์ฅ์์ ์ ๋ก๋๋ ๋ด์ฉ์์ ๊ฐ์ง๋ MIME ์ ํ์ ๋ ๋ค ํ์ธํ์ธ์. ์ฉ๋๋ณ๋ก ๋ช ํํ ์ฉ๋ ์ ํ์ ์ค์ ํ๊ณ , ์ด๋ฏธ์ง ํฌ๊ธฐ๋ PDF ํ์ด์ง ์์ฒ๋ผ ํ์ํ ๊ณณ์๋ ์ถ๊ฐ ๊ฒ์ฌ๋ฅผ ๋ฃ์ผ์ธ์. ์ ๋ก๋ ์ ํ์ผ๋ช ์ ์์ฑ๋ ID๋ก ๋ฐ๊พธ๊ณ ์๋ ์ด๋ฆ์ ๋ฉํ๋ฐ์ดํฐ๋ก ์ ์ฅํด ์ถฉ๋๊ณผ ์์ ํ์ง ์์ ์ด๋ฆ์ ํผํ์ธ์.
ํ์ฅ์๋ง ๋ฏฟ๊ฑฐ๋ MIME๋ง ๋ฏฟ๋ ๊ฒ์ ๋ถ์กฑํฉ๋๋ค. ํ์ฅ์๋ ์ฝ๊ฒ ์์กฐ๋๊ณ , MIME ์ ํ์ ๊ธฐ๊ธฐ๋ ๋ธ๋ผ์ฐ์ ๋ง๋ค ์ผ๊ด๋์ง ์์ ์ ์์ต๋๋ค. ๋์ ๊ฐ์ด ๊ฒ์ฌํ๋ฉด ๋ช ๋ฐฑํ ์คํธํ์ ๋ง์ด ์ก์๋ผ ์ ์์ง๋ง, ์ํ์ด ๋์ ์ ๋ก๋์ ๊ฒฝ์ฐ ์๋ฒ์์ ํ์ผ ์๊ทธ๋์ฒ(๋งค์ง ๋ฐ์ดํธ)๋ฅผ ์ถ๊ฐ๋ก ํ์ธํ์ธ์. ์คํจํ ํญ๋ชฉ์ ์ฐจ๋จํ๊ณ ๊ฒํ ๋๋ ์ญ์ ๋ ๋๊น์ง ๋ค์ด๋ก๋๋ฅผ ๋ง์ผ์ธ์.
๋จผ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋ ์ฝ๋๋ฅผ ๋ง๋ค๊ณ ์ ๋ก๋ ID๋ฅผ ๋ฐํํ ๋ค, ๋ฐ์ดํธ๋ฅผ ์ ๋ก๋ํ๊ณ ์๋ฃ๋ฅผ ํ์ธํ๋ ํจํด์ด ์์ ํฉ๋๋ค. ์ด๋ ๊ฒ ํ๋ฉด ๋ชฉ์ ์ด๋ ์์ ์๊ฐ ์๋ โ๋ฏธ์คํฐ๋ฆฌ ํ์ผโ์ด ๋ฒํท์ ๋จ์ง ์๊ณ , ๋ฐ์ดํธ๊ฐ ์ด๋ํ๊ธฐ ์ ์ ๊ถํ์ ๊ฐ์ ํ ์ ์์ผ๋ฉฐ ๋ฏธ์๋ฃ ์ ๋ก๋๋ฅผ ์ฐพ๊ณ ์ ๋ฆฌํ๊ธฐ ์ฌ์์ง๋๋ค.
๊ธฐ๋ณธ์ ์ผ๋ก ์คํ ๋ฆฌ์ง๋ฅผ ๋น๊ณต๊ฐ๋ก ์ ์งํ๊ณ ์ฑ์ ๊ถํ ๋ก์ง์ ํตํด ์ ๊ทผ์ ์ ์ดํ์ธ์. ๊ฐ์ฒด ํค๋ ์์ธก ๊ฐ๋ฅํ์ง๋ง ๊ฐ์ธ ์ ๋ณด๋ฅผ ํฌํจํ์ง ์๊ฒ(ํ ๋ํธ/์ํฌ์คํ์ด์ค ID + ๋ถํฌ๋ช ์ ๋ก๋ ID ๋ฑ) ๋ง๋์ธ์. ์ฌ๋์ด ์ดํดํ๊ธฐ ์ฌ์ด ์ ๋ณด๋ ๊ฐ์ฒด ํค๊ฐ ์๋๋ผ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๋ฉํ๋ฐ์ดํฐ์ ์ ์ฅํ๊ณ , ์๋ณธ๊ณผ ํ์๋ฌผ(์ธ๋ค์ผ, ํ๋ฆฌ๋ทฐ)์ ๋ค๋ฅธ ์ ๋์ฌ ์๋์ ๋ณด๊ดํด ๋ณด๊ด ์ ์ฑ ๊ณผ ๊ถํ์ ๋ถ๋ฆฌํ์ธ์.
๋ฉํ๋ฐ์ดํฐ ์ ๊ทผ๊ณผ ๋ฐ์ดํธ ๋ค์ด๋ก๋๋ฅผ ๋ค๋ฅธ ๊ถํ์ผ๋ก ์ทจ๊ธํ์ธ์. ๋ง์ ๊ฒฝ์ฐ ์ฌ์ฉ์๋ ํ์ผ์ด ์กด์ฌํ๋ค๋ ๋ฉํ๋ฐ์ดํฐ๋ ๋ณผ ์ ์์ง๋ง ๋ค์ด๋ก๋ ๊ถํ์ ์์ด์ผ ํฉ๋๋ค. ๋ค์ด๋ก๋๋ ๊ธฐ๋ณธ์ ์ผ๋ก ์ฐจ๋จ(deny-by-default)ํ๊ณ , ๋ฏผ๊ฐํ ๋ฌธ์์ ๊ฒฝ์ฐ ๋๊ฐ ์ธ์ ๋ฌด์์ ๋ค์ด๋ก๋ํ๋์ง ๋ก๊ทธ๋ก ๋จ๊ธฐ์ธ์. ์ถ์ธก ๊ฐ๋ฅํ URL์ ์ํ ๋ณด์์๋ง ์์กดํ๋ฉด ์ ๋ฉ๋๋ค.
์๋ช ๋ URL์ ๋น ๋ฅด๊ณ ๊ฐ๋จํ์ง๋ง ํ ๋ฒ ๊ณต์ ๋๋ฉด ์ฆ์ ํ๊ธฐํ๊ธฐ ์ด๋ ต์ต๋๋ค. ํ ํฐ ๊ธฐ๋ฐ ๋ค์ด๋ก๋ ์๋ํฌ์ธํธ๋ ์์ฒญ๋ง๋ค ๊ถํ์ ํ์ธํ ์ ์์ด ์ฆ์ ์ ๊ทผ์ ์ทจ์ํ ์ ์์ต๋๋ค. ํ์ค์ ์ผ๋ก๋ ์งง์ ๋ง๋ฃ ์๊ฐ๊ณผ ํ์ผยทํ๋ ๋จ์์ ์๊ฒฉํ ๋ฒ์๋ฅผ ์ ์ฉํ๋ฉด ํฐ ๋ถํธ ์์ด ์ํ์ ์ค์ผ ์ ์์ต๋๋ค.
์ฌ์๋๋ ์ ์์ ์ธ ํ๋์ผ๋ก ์ค๊ณํ์ธ์: ๋ชจ๋ฐ์ผ ์ฐ๊ฒฐ ๋ถ์์ , ์ฌ์ฉ์์ ์ค๋ณต ํญ ๋ฑ์ผ๋ก ์ ๋ก๋๊ฐ ์ค๋ณต๋ ์ ์์ต๋๋ค. ๋จผ์ ์ ๋ก๋ ID๋ฅผ ์์ฑํ๊ณ ๊ทธ ID๋ก ์ ๋ก๋๋ฅผ ๋ฐ์ ํ์ธ ๋จ๊ณ๋ฅผ ๋ฉฑ๋ฑ(idempotent)์ผ๋ก ๋ง๋ค์ด ๋ฐ๋ณตํด๋ ๋ณต์ฌ๋ณธ์ด ๋์ด๋์ง ์๊ฒ ํ์ธ์. ์ค๋ณต์ ๋ ์ค์ด๊ณ ์ถ๋ค๋ฉด ์ ๋ก๋ ํ ์ฒดํฌ์ฌ์ ์ ์ฅํด ๋์ผ ์ฝํ ์ธ ์ฌ์ ๋ก๋๋ฅผ ๊ฐ์งํ ์ ์์ต๋๋ค.
๋ฏธ์๋ฃ ์ ๋ก๋๋ ์ฌ์ฉ์๊ฐ ํผ์ ๋ซ๊ฑฐ๋ ์ฐ๊ฒฐ์ ์์ ๋ ๋ฐ์ํ๋ฏ๋ก ์ฒซ๋ ๋ถํฐ ์ ๋ฆฌ ์์ ์ ์์ฝํ์ธ์. ๋ง๋ฃ๋ pending ๋ ์ฝ๋์ ํด๋น ์ ์ฅ ๊ฐ์ฒด๋ฅผ ์ญ์ ํ๊ณ , ์กฐ์ฌ๊ฐ ๋๋ ํ์๋ ์ฐจ๋จ๋ ํญ๋ชฉ๋ ์ ๊ฑฐํ์ธ์. ๊ต์ฒด๋ ๋ฌธ์๋ ๊ฐ์ฌ ๋ชฉ์ ์ ์ํด ์ผ์ ๊ธฐ๊ฐ ๋ณด๊ดํ ๋ค ์๋์ผ๋ก ์ญ์ ํ๋ ๋ณด๊ด ์ ์ฑ ์ ๋์ธ์.
PostgreSQL์ ์ํ, ์์ ์, ๋ฒ์, ์ฉ๋ ํ๋๋ก ์ ๋ก๋ ์ํฐํฐ๋ฅผ ๋ชจ๋ธ๋งํ๊ณ ๊ท์น์ ํ๋์ ๋ฐฑ์๋ ํ๋ฆ์ ์ ์ฉํ์ธ์. ๊ฒ์ฆ๊ณผ ํ์ธ ๋จ๊ณ๋ฅผ Business Process์ ๋ฃ์ด ๋ชจ๋ ์ ๋ก๋ ๊ฒฝ๋ก๊ฐ ๋์ผํ ํ์ฉ ๋ฆฌ์คํธ, ์ ํ, ์ํ ์ ํ์ ๋ฐ๋ฅด๋๋ก ํ์ธ์. ๋ค์ด๋ก๋๋ ๋ ์๊ฒฉํ Business Process๋ฅผ ํตํด ๊ถํ์ ํ์ธํ๊ณ ๊ณต์ ์ ์งง์ ๋ง๋ฃ์ ๋ค์ด๋ก๋ ํ ํฐ์ ๋ฐ๊ธํ์ธ์.


