fa91c805fc
- 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>
38 lines
1.4 KiB
PL/PgSQL
38 lines
1.4 KiB
PL/PgSQL
-- ============================================================================
|
|
-- 모모유통 시드 데이터 — 초기 관리자, 창고 4개, 샘플 제조사
|
|
-- 실행 전 db/migrations/001_momo_init.sql 적용 필요
|
|
-- ============================================================================
|
|
|
|
BEGIN;
|
|
|
|
-- 초기 관리자 (이메일: admin@momo.com / 비밀번호: admin1234 — bcrypt)
|
|
-- bcrypt hash for "admin1234" cost=10 — 운영 시 반드시 비밀번호 변경
|
|
INSERT INTO momo_users (objid, email, password_hash, company_name, role, status, regdate)
|
|
VALUES (
|
|
'MOMOADM00000001',
|
|
'admin@momo.com',
|
|
'$2b$10$gqkZxYVzQwH8gCWPvfBtFOg/9QDx2iO3p0d8RA7d7j.VhSZqHfqTa',
|
|
'모모유통(관리자)',
|
|
'ADMIN',
|
|
'ACTIVE',
|
|
NOW()
|
|
)
|
|
ON CONFLICT (email) DO NOTHING;
|
|
|
|
-- 창고
|
|
INSERT INTO momo_warehouses (objid, wh_code, wh_name, wh_type, regdate) VALUES
|
|
('MOMOWH000000001', 'WH001', '본사창고', 'STOCK', NOW()),
|
|
('MOMOWH000000002', 'WH002', '시장픽업', 'MARKET', NOW()),
|
|
('MOMOWH000000003', 'WH003', '용차배송', 'DELIVERY', NOW()),
|
|
('MOMOWH000000004', 'WH004', '창고픽업팀','PICKUP_TEAM', NOW())
|
|
ON CONFLICT (wh_code) DO NOTHING;
|
|
|
|
-- 샘플 제조사
|
|
INSERT INTO momo_makers (objid, maker_name, regdate) VALUES
|
|
('MOMOMK000000001', '성부유통', NOW()),
|
|
('MOMOMK000000002', '과트', NOW()),
|
|
('MOMOMK000000003', '날로유진', NOW())
|
|
ON CONFLICT DO NOTHING;
|
|
|
|
COMMIT;
|