CONNECT GOOD, VALUE CHAIN
CHAIN-G๋ ๋ก๋ณถ์ด ๋ฐํคํธ์ ์์ฐ๋ถํฐ ์ ํต, ๊ฐ๋งน์ ํ๋งค ๋ฐ ์ ์ฐ๊น์ง์ ์ ๊ณผ์ ์ ํจ์จ์ ์ผ๋ก ๊ด๋ฆฌํ๋ ๊ณต๊ธ๋ง ๊ด๋ฆฌ(SCM) ์์คํ ์ ๋๋ค. ๋ณธ์ฌ, ๊ฐ๋งน์ , ๊ณต์ฅ ๋ฑ ๊ฐ ์ฌ์ฉ์์ ๊ถํ์ ๋ฐ๋ฅธ ์ต์ ํ๋ ๋์๋ณด๋์ ๊ด๋ฆฌ ๋๊ตฌ๋ฅผ ์ ๊ณตํ์ฌ ๋ฌผ๋ฅ ๋ฐ ์ ์ฐ ํ๋ก์ธ์ค๋ฅผ ์ง๊ด์ ์ผ๋ก ์ํํ ์ ์๋๋ก ๋์ต๋๋ค.
![]() |
![]() |
![]() |
![]() |
![]() |
|---|---|---|---|---|
| ๊น์ฑ์ฐ | ๊น์ฑ์ | ๊น์ค๊ฒฝ | ์ ์ฐฌ์ฐ | ์กฐ์คํธ |
| Order / Sales / Return |
User / BusinessUnit / Notice / Notification |
Settlement | In&Outbound / Transport |
Inventory / Product |
| @chaewoo-kim | @rlatjddms | @kyk5095 | @Yoocy0 | @cho-yunho01 |
| Category | Stack |
|---|---|
| Framework | Vue.js 3 (Composition API) |
| Build Tool | Vite |
| State Management | Pinia |
| Router | Vue Router |
| HTTP Client | Axios |
| Excel/PDF Export | xlsx, html2pdf.js |
| Maps API | Google Maps API (Embed) / Daum Postcode API |
frontend/
โโโ src/
โ โโโ api/ # Axios ์ธ์คํด์ค ๋ฐ API ๋ชจ๋
โ โโโ assets/ # ์ด๋ฏธ์ง, ํฐํธ ๋ฑ ์ ์ ์์ฐ
โ โโโ components/ # ๋์๋ณด๋ ๋ฐ ๊ณตํต UI ์ปดํฌ๋ํธ
โ โโโ router/ # Vue Router ์ค์ ๋ฐ ๋ค๋น๊ฒ์ด์
๊ฐ๋
โ โโโ stores/ # Pinia ๊ธฐ๋ฐ ์ํ ๊ด๋ฆฌ (Auth ๋ฑ)
โ โโโ views/ # ํ์ด์ง ๋จ์ ๋ทฐ ์ปดํฌ๋ํธ
โ โโโ factory/ # ๊ณต์ฅ ๊ถํ ๊ด๋ จ ๋ทฐ
โ โโโ franchise/ # ๊ฐ๋งน์ ๊ถํ ๊ด๋ จ ๋ทฐ
โ โโโ head-office/ # ๋ณธ์ฌ ๊ถํ ๊ด๋ จ ๋ทฐ
โ โโโ hq-settlement/ # ๋ณธ์ฌ ์ ์ฐ ๊ด๋ จ ๋ทฐ
โ โโโ store-settlement/# ๊ฐ๋งน์ ์ ์ฐ ๊ด๋ จ ๋ทฐ
โโโ public/ # ์ ์ ๋ฆฌ์์ค
โโโ index.html # ๋ฉ์ธ ์ง์
HTML
โโโ vite.config.js # Vite ์ค์ - ์ฌ์ฉ์๋ณ ๋์๋ณด๋: ๋ก๊ทธ์ธํ ์ฌ์ฉ์์ ๊ถํ(๋ณธ์ฌ/๊ฐ๋งน์ /๊ณต์ฅ)์ ๋ฐ๋ผ ๋ง์ถคํ ๋์๋ณด๋ ์ ๊ณต
- ์ค๋งํธ ๋ฐ์ฃผ ์์คํ : ๋ณต์กํ ๋ฐํคํธ ํ๋ชฉ์ ์ง๊ด์ ์ผ๋ก ๋ฐ์ฃผํ๊ณ ์ํ(๋๊ธฐ/์๋ฝ/๋ฐฐ์ก์ค) ์ค์๊ฐ ํ์ธ
- ๋ฌผ๋ฅ ๋ฐ ๋ฐฐ์ฐจ ๊ด๋ฆฌ: ์ ์ฌ ์ค๋์ ๊ณ ๋ คํ ๊ตฌ์ฒด์ ์ธ ์ฐจ๋ ๋ฐฐ์ฐจ ๊ด๋ฆฌ ๋ฐ ์ง๋ ์ฐ๋
- ์์ ๋ฐ PDF ์ง์: ์ ์ฐ ๋ช ์ธ์ ๋ฐ ์ฌ๊ณ ๋ฆฌ์คํธ์ ์์ ์ถ์ถ ๋ฐ PDF ๋ค์ด๋ก๋ ๊ธฐ๋ฅ
- ์ค์๊ฐ ์๋ฆผ: ๋ฐ์ฃผ ์ ์, ์ํ ๋ณ๊ฒฝ ์ ์ฌ์ฉ์์๊ฒ ์๋จ ์๋ฆผ ๋ฐ๋ฅผ ํตํ ์ค์๊ฐ ํผ๋๋ฐฑ
- ๋ก๊ทธ์ธ ๋ฐ ๊ณ์ ๋ถ์ค
- ๊ถํ๋ณ ๋์๋ณด๋ (๋ณธ์ฌ/๊ฐ๋งน์ /๊ณต์ฅ)
- ์ฃผ์ ๊ธฐ๋ฅ ํ์ด์ง (์ฌ๊ณ ๊ด๋ฆฌ/๋ฐ์ฃผ ๊ด๋ฆฌ/์ ์ฐ)
- ์ปดํฌ๋ํธ ์ค๊ณ: ์ฌ์ฌ์ฉ ๊ฐ๋ฅํ UI ์์๋
components/ํ์๋ก, ํ์ด์ง ๋ผ์ฐํ ์์๋views/ํ์๋ก ๊ด๋ฆฌํฉ๋๋ค. - ์ํ ๊ด๋ฆฌ: ์ ์ญ ์ฌ์ฉ์ ์ ๋ณด ๋ฐ ๊ถํ ์ฒดํฌ๋ Pinia(
stores/auth.js)๋ฅผ ํตํด ์ํํฉ๋๋ค. - ๋ค์ด๋ฐ ์ปจ๋ฒค์
:
- ํ์ผ ๋ฐ ํด๋: ํ์ค์นผ ์ผ์ด์ค(PascalCase) ๋๋ ์ผ๋ฐฅ ์ผ์ด์ค(kebab-case) ๊ถ์ฅ
- ์ปดํฌ๋ํธ:
StoreInventoryManagementView.vue์ ๊ฐ์ด ๋ช ํํ ๋ช ์นญ ์ฌ์ฉ
ํ๋ก์ ํธ๋ฅผ ๋ง์น๋ฉฐ ํ์ ๊ฐ์๊ฐ ๋๋ ๊ธฐ์ ์ ๋์ ๊ณผ ์ฑ์ฅ์ ๊ธฐ๋กํฉ๋๋ค.
๐ฆซ ๊น์ฑ์ฐ
๋ฉํฐ ๋ชจ๋์ ๋์
ํด ๋ฐฐํฌ๊น์ง ์งํํ๋ ํ๋ก์ ํธ๋ ์ด๋ฒ์ด ์ฒ์์ด์์ต๋๋ค.
5๋ช
์ด์ ํ์
์ ํ๋ฉฐ ํ๋์ ๊ฒฐ๊ณผ๋ฌผ์ ๋์ต๋๋ค. ์ค์ ๋๋ฉ์ธ์ ๊ตฌ๋งคํด ์ ์ํด ๋ณด๋ ๊ณผ์ ์ ์๋ก์ ์ต๋๋ค.
2๊ฐ์๊ฐ ๋ฐ๋ ๋์ ์๊ฐ์ผ๋ก ํ๋์ ํ๋ก์ ํธ์ ๋ชฐ์
ํ ๊ฒ ์์ฒด๊ฐ ์ฆ๊ฑฐ์ ์ต๋๋ค. ์์ฌ์๋ ๋ง์ด ๋จ์ง๋ง ์ด ๊ฒฝํ์ ๋ฐํ์ผ๋ก ์์ผ๋ก ๋์ฑ ๋ฐ์ด๋ ๊ฐ๋ฐ์๊ฐ ๋๋๋ก ๋
ธ๋ ฅํ๊ฒ ์ต๋๋ค.
โ ๏ธ ๊น์ฑ์
์ด๋ฒ ํ๋ก์ ํธ์์๋ ํ์, ์ฌ์
์ฅ ๊ด๋ฆฌ, ๊ณต์ง์ฌํญ ๋ฐ ์๋ฆผ ๊ธฐ๋ฅ์ ๋ด๋นํ์ผ๋ฉฐ, ๋์์ ์ธํ๋ผ๋ฅผ ๋งก์ CI/CD ํ๊ฒฝ์ ๊ตฌ์ถํ์ต๋๋ค.
AWS๋ฅผ ์ฒ์ ๋ค๋ค๋ณด๋ ์ํฉ์ด๋ผ ์ด๋ฐ์๋ ์ด๋ ค์์ด ์์์ง๋ง, ์ํ์ฐฉ์ค๋ฅผ ๊ฑฐ์น๋ฉฐ ์ ์ฐจ ์ต์ํด์ก๊ณ ์ค์ ์๋น์ค ํ๋ฆ์ ๊ณ ๋ คํ ๋ฐฐํฌ ๊ณผ์ ์ ๊ฒฝํํ ์ ์์์ต๋๋ค.
๋ํ GitHub PR๊ณผ Jira ์ฐ๋์ ํ์ฉํด ํ์
ํ๋ก์ธ์ค๋ฅผ ์ฒด๊ณ์ ์ผ๋ก ๊ฒฝํํ๊ณ , ํ์๋ค๊ณผ์ ์ปค๋ฎค๋์ผ์ด์
์ ํตํด ๊ธฐ๋ฅ์ ์กฐ์จํ๋ฉฐ ํ์
์ ์ค์์ฑ์ ๋๋ ์ ์์์ต๋๋ค.
์ด๋ฒ ํ๋ก์ ํธ๋ ์๋ก์ด ๊ธฐ์ ์ ์ง์ ์ ์ฉํด๋ณด๊ณ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํด ๋๊ฐ๋ ๊ณผ์ ์์ ๋ง์ ๊ฒ์ ๋ฐฐ์ฐ๊ณ , ํ ๋จ๊ณ ์ฑ์ฅํ ์ ์์๋ ์๋ฏธ ์๋ ๊ฒฝํ์ด์์ต๋๋ค.
๐ ๊น์ค๊ฒฝ
๋จ์ํ ๊ธฐ๋ฅ ๊ฐ๋ฐ์ ๋์ด ๊ธฐํ๋ถํฐ ์ค๊ณ, ๊ฐ๋ฐ๊น์ง ์ ๊ณผ์ ์ ๊ฒฝํํ๋ฉด์ ์๋น์ค๊ฐ ๋ง๋ค์ด์ง๋ ํ๋ฆ์ ๊น๊ฒ ์ดํดํ ์ ์๋ ์๊ฐ์ด์๋ค.
๊ฐ ๋๋ฉ์ธ ๊ฐ ์ํ์ ์ด๋๊ณผ ๋์ ํ๋ฆ์ ์ฐ๊ฒฐํ์ฌ ํ๋์ ์์คํ
์ผ๋ก ๋ฐ๋ผ๋ณผ ์ ์์๋ ์ ์ด ๊ฐ์ฅ ์๋ฏธ ์์๋ค. ์ฐ๋ฆฌ๊ฐ ๋ง๋ ERP ์์คํ
์ ํตํด ๋น์ฆ๋์ค์ ์ ๋ฐ์ ์ธ ํ๋ฆ์ ํ๋์ ํ์
ํ ์ ์์๋ ๊ฒ์ ๋งค์ฐ ๊ฐ์ง ๊ฒฝํ์ด์๋ค.
๋ฉํ ๋์ ๋ฆฌ๋ทฐ๋ฅผ ํตํด ๋ถ์กฑํ ์ ์ ๊ฐ๊ด์ ์ผ๋ก ๋์๋ณผ ์ ์์๊ณ , ๋ฐ์ผ๋ฆฌ ์คํฌ๋ผ์ ํตํด ํ์๋ค์ ์งํ ์ํฉ์ ๊ณต์ ํ๋ฉฐ ํ์
์ ์ค์์ฑ๋ ์ฒด๊ฐํ ์ ์์๋ค.
๋ง์ ๊ณต์ ๋ค์ธ ๋งํผ ์์ฌ์ด ๋ถ๋ถ๋ ์์๋ค. ์ด๊ธฐ ๊ธฐํ ๋จ๊ณ์์ ์๊ตฌ์ฌํญ์ ๋ ๊ตฌ์ฒด์ ์ผ๋ก ์ ์ํ์ง ๋ชปํ๋ ์ ๊ณผ, ์๋ก ๋งก์ ๋๋ฉ์ธ ๊ฐ๋ฐ์ ์ง์คํ๋ค๋ณด๋ ์ํต์ด ๋ถ์กฑํ๋ ์๊ฐ๋ค์ด ์์ฌ์ ๋ค.
์ด ๊ฒฝํ์ ํตํด ๊พธ์คํ ์ปค๋ฎค๋์ผ์ด์
์ด ์ผ๋ง๋ ์ค์ํ์ง ๊นจ๋ฌ์๊ณ , ์์ผ๋ก๋ ์ด๋ฅผ ์ ๊ทน์ ์ผ๋ก ๋ฐ์ํ์ฌ ๊ฐ๋ฐ์ ํ๊ณ ์ถ๋ค.
๐ฆ ์ ์ฐฌ์ฐ
์ง๋ ์๊ฐ๋ค๋์ ๋ฐฐ์ด ๊ฒ๋ค์ ํ ๋๋ก ํ์ด๋ ํ๋ก์ ํธ๋ฅผ ์งํํ๋ค. ๋ง์ ํ ํ๋ก์ ํธ์์ ๋งค๋ฒ ์ค์์ฑ์ ๋๋ผ๊ฒ ๋ ๊ฒ๋ ์์๊ณ , ๋ฐ๋ณต๋จ์ ๋ฐ๋ผ ์ค์์ฑ์ ์๋กญ๊ฒ ๋๋ผ๊ฒ ๋ ๊ฒ๋ ์์๋ค.
๋งค๋ฒ ์ค์์ฑ์ ๋๋ผ๊ฒ ๋ ๊ฒ์ ์ญ์ ์ํต์ด์๋ค. ์ํต์ ํตํด ์ฐ๋ฆฌ๊ฐ ํ๊ณ ์ ํ๋ ๊ฒ์ด ๊ฐ์ ๊ฒ์ธ์ง๋ฅผ ํ์ธํ๋ ๊ฒ์ด ์ค์ํ๊ณ , ๊ตฌํ์ด ๋๋ ๊ฒ์์๋ ํต์ผ๋์ด์ผ ํ๋ค.
์ง๋ ๋ชจ๋ ํ๋ก์ ํธ๋ค์์ ์ด ์ํต์ด๋ผ๋ ๊ฒ์ด ๋งค๋ฒ ์กฐ๊ธ์ฉ์ ์์ฌ์์ด ๋๊ปด์ก์๋ค. ๋ค์ ํ๋ก์ ํธ์์๋ ๋ ์ํ ์ ์๊ฒ ๋ค๊ณ ์๊ฐํ์ง๋ง, ๋ ๋ค๋ฅธ ๋ถ๋ถ์์ ์ํต์ด ๋ฏธํกํจ์ ๋๊ปด ์์ฌ์์ ๋๊ผ๋ค.
ํ๋ก์ ํธ๊ฐ ๋ฐ๋ณต๋จ์ ๋ฐ๋ผ ์ค์๋๋ฅผ ์๊ฒ ๋ ๊ฒ์ ๊ตฌ์กฐ๋ฅผ ์ผ๋ง๋ ๊ฒฌ๊ณ ํ๊ฒ ๋ง๋๋ ๊ฒ์ธ๊ฐ ์๋ค. ๊ตฌ์กฐ๊ฐ ๊ฒฌ๊ณ ํ์ง ๋ชปํ๋ฉด ์๋น์ค ๋ก์ง์๋ ๊ตฌ๋ฉ์ด ๋ง์ด ์๊ธฐ๊ฒ ๋๊ณ ์์
์ ์ํํ ๋๋ ๋ก์ง์ด ๋ ๊ธธ์ด์ง๋ ๋ฑ์ ๋ถํธํจ์ด ์์๋ค.
๊ทธ๋๋ ๋ฏธํกํ ์ ๋ง ์์ง๋ ์์๋ค. ๊ฐ๋ฐ์ ์์ํ ๋ค๋ก ์ด์ ๋๊น์ง ๋ชฐ๋ํด์ ๊ฐ๋ฐ์ ์งํํ ๊ฒฝํ์ด ์ฒ์์ด์๊ณ , ํ๋ก์ ํธ๋ฅผ ์งํํจ์ ๋ฐ๋ผ ๊ฐ๋ฐ์ ์ด๋ค ์์ผ๋ก ์งํํด์ผ ํ๋์ง ์ง๊ธ ๋น์ฅ ์ฒํ ์ํฉ์์ ๋ด๊ฐ ํ ์ ์๋ ์ผ์ด ๋ฌด์์ธ์ง ๋ฑ์ ๊นจ๋ซ๊ฒ ๋์๋ค.
์ด๋ฌํ ์ฑ์ฅ์ ํ ๋๋ก ์ดํ ์งํํ๊ฒ ๋ ๋ง์ ํ๋ก์ ํธ๋ค์์ ์ด๋ฐ ๋ฏธํกํ ์ ๋ค์ ๊ณ ๋ คํด ๋์ฑ ์์ฑ๋ ์๋ ํ ํ๋ก์ ํธ๋ฅผ ๋ง๋ค๊ณ ์ถ๋ค๋ ์๊ฐ์ด ๋ค์๋ค. ๊ทธ๋ฆฌ ๊ธธ์ง ์์ ์๊ฐ์ด์์ง๋ง ๋ง์ ๊ฒ๋ค์ ๋ฐฐ์ ๊ณ ๋๋ผ๋ฉฐ ์ฑ์ฅํ๋ ๊ฐ์ง ์๊ฐ์ด์๋ค.
๐ ์กฐ์คํธ
์ด๋ ์ ๋ ์ตํ๋ค๊ณ ์๊ฐํ๊ณ ํ์ด๋ ํ๋ก์ ํธ์ ์ ์ฉํ์ง๋ง, ์์๋ณด๋ค ํจ์ฌ ์ด๋ ค์ ๋ค. ์ํฐํฐ, ๊ธฐ๋ฅ, ํ
์คํธ๋ฅผ ๋ฐ๋ณต์ ์ผ๋ก ์์ ํ๋ฉฐ โ๋ ํจ์จ์ ์ธ ๋ฐฉ๋ฒ์ด ์์์ ํ
๋ฐโ๋ผ๋ ์์ฌ์์ด ๋ค์๋ค.
ํนํ ์ด๊ธฐ ์ค๊ณ์ ์ค์์ฑ์ ํฌ๊ฒ ๋๊ผ๋ค. ๊ธฐ๋ฐ์ด ํํํ์ง ์์ผ๋ฉด ์ดํ์ ํฐ ์์ ์ด ๋ฐ๋ณต๋๋ค๋ ๊ฒ์ ์ง์ ๊ฒฝํํ๋ค.
๋น๋ก ์ฝ์ง ์์ ๊ณผ์ ์ด์์ง๋ง, ๋ค์ํ ์ํ์ฐฉ์ค๋ฅผ ํตํด ํ ๋จ๊ณ ์ฑ์ฅํ ์ ์์๋ ์๋ฏธ ์๋ ๊ฒฝํ์ด์๋ค.




