Files
distribution_erp/package.json
chpark fa91c805fc feat(momo): 모모유통 유통관리 ERP 1차 구축 (가입/품목/재고/발주/명세서/메일)
- DB: momo_* 테이블 12종 (users/items/makers/warehouses/stocks/stock_moves/orders/order_items/procurements/vendors/attachments/mail_logs) + 시드
- 인증: 랜딩(/) + 회원가입(/signup, bcrypt) + 로그인(MOMO/FITO 자동 분기) + /api/auth/mobile-login(JWT 토큰)
- 세션: 쿠키 + Authorization Bearer 동시 지원 (모바일 앱용)
- /m/* 레이아웃: 좌측 사이드바 + 헤더, 역할별 메뉴 분기
- USER 화면: 품목 검색(이미지/재고/단가) + 장바구니 + 발주 요청 + 본인 이력 + 대시보드
- ADMIN 화면: 품목/창고/재고/매입입고/발주승인/회원관리/월간 매출 통계 + 대시보드(14일 그래프, 재고 부족, 승인 대기)
- 발주 승인: 트랜잭션으로 재고 차감 + 거래명세표 HTML 메일 본문 + xlsx 첨부 발송 (nodemailer)
- 면세 자동 판정: 품목명 'M' 접두 시 is_tax_free=Y, 합계는 면세/과세 분리 집계
- 미들웨어: /, /signup, /api/auth/signup, /api/auth/mobile-login 공개
- 도구: scripts/migrate-momo.mjs (npm run migrate:momo), .env.momo.example
- 문서: docs/MOMO_DISTRIBUTION_SPEC.md, docs/proposal.html (고객용 HTML 제안서)
- 별도 RN 앱(d:/momo-mobile) 스캐폴드 작성 (Expo + EAS APK 빌드)

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-25 20:56:18 +09:00

50 lines
1.2 KiB
JSON

{
"name": "fito-nextjs",
"version": "0.1.0",
"private": true,
"scripts": {
"dev": "next dev",
"build": "next build",
"start": "next start",
"lint": "eslint",
"migrate:momo": "node scripts/migrate-momo.mjs"
},
"dependencies": {
"@prisma/client": "^7.7.0",
"@tanstack/react-table": "^8.21.3",
"@types/nodemailer": "^8.0.0",
"bcryptjs": "^3.0.3",
"class-variance-authority": "^0.7.1",
"clsx": "^2.1.1",
"date-fns": "^4.1.0",
"file-saver": "^2.0.5",
"jose": "^6.2.2",
"lucide-react": "^1.7.0",
"next": "16.2.2",
"next-auth": "^5.0.0-beta.30",
"nodemailer": "^7.0.13",
"pg": "^8.20.0",
"prisma": "^7.7.0",
"react": "19.2.4",
"react-dom": "19.2.4",
"recharts": "^3.8.1",
"sweetalert2": "^11.26.24",
"tailwind-merge": "^3.5.0",
"xlsx": "^0.18.5",
"zustand": "^5.0.12"
},
"devDependencies": {
"@tailwindcss/postcss": "^4",
"@types/bcryptjs": "^2.4.6",
"@types/file-saver": "^2.0.7",
"@types/node": "^20",
"@types/pg": "^8.20.0",
"@types/react": "^19",
"@types/react-dom": "^19",
"eslint": "^9",
"eslint-config-next": "16.2.2",
"tailwindcss": "^4",
"typescript": "^5"
}
}