設計資料に基づいて実装されたシステムギア様のECサイト外部在庫取込機能です。
src/
├── backend/ # バックエンドAPI (Node.js/Express/TypeScript)
├── batch/ # バッチ処理システム (Node.js/TypeScript)
└── frontend/ # フロントエンド管理画面 (React/TypeScript)
- 外部在庫データ取込: CSV/Excelファイルの受領・解析・DB登録
- マッピングルール管理: 仕入先ごとのデータ変換ルール設定
- 商品管理: 在庫・価格情報の一元管理
- エラー管理: 取込エラーの確認・修正・再取込
- ダッシュボード: 取込状況・統計情報の可視化
- Backend: Node.js, Express, TypeScript, PostgreSQL
- Batch: Node.js, TypeScript, node-cron
- Frontend: React, TypeScript, Ant Design
- Database: PostgreSQL
# PostgreSQL接続後
\i src/backend/database/schema.sql
\i src/backend/database/initial_data.sqlcd src/backend
npm install
cp .env.example .env
# .envを編集してDB接続情報を設定
npm run devcd src/batch
npm install
cp .env.example .env
# .envを編集
npm run devcd src/frontend
npm install
cp .env.example .env
# .envを編集してAPI URLを設定
npm startPOST /api/auth/login- ログインPOST /api/auth/logout- ログアウト
GET /api/products- 商品一覧取得GET /api/products/:id- 商品詳細取得GET /api/products/export/csv- CSV出力
GET /api/mapping-rules- ルール一覧取得POST /api/mapping-rules- ルール保存POST /api/mapping-rules/test- マッピングテスト
POST /api/external-stock/import- ファイルアップロードGET /api/external-stock/history- 取込履歴GET /api/external-stock/errors- エラー一覧POST /api/external-stock/retry/:import_no- 再取込
- ファイル受領・解析
- 中間テーブル登録
- エラー検出・ログ記録
- 中間データ→本番テーブル登録
- 社内品目IDマッピング
- 過去データクリーンアップ
主要テーブル:
chukan_file_tanka- 中間ファイル単価chukan_file_zaiko- 中間ファイル在庫supplier_part- 仕入先型番supplier_price- 仕入先単価supplier_stock- 仕入先在庫item- 品目マスタmapping_rules- マッピングルールerror_logs- エラーログ
- 管理者:
admin/admin123 - 一般ユーザー:
user01/admin123
- 管理画面「取込データ管理」でファイルアップロード
- バッチ処理によるデータ変換・登録
- エラー確認・修正・再取込
- 「マッピング設定」で仕入先別ルール設定
- テスト機能でマッピング確認
- サンプルデータでの動作検証
本実装は以下の設計資料に準拠しています:
/docs_design/system_gear_ec_step1_detail_design.md
✅ データベース設計・DDL作成
✅ バックエンドAPI基盤構築
✅ バッチ処理基盤構築
✅ データ取込バッチ実装
✅ 在庫・単価登録バッチ実装
✅ 商品一覧API実装
✅ マッピングルールAPI実装
✅ 取込データ管理API実装
✅ フロントエンド基盤構築
✅ 管理画面実装
STEP2以降で追加予定:
- 自動化スケジューリング
- AI補助機能
- 高度なエラー修正機能
- パフォーマンス最適化