# 马兰拉面数字化运营管理平台

连锁餐饮数字化运营管理系统 — 任务闭环驱动门店改善

## 闭环目标

数据发现问题 → 自动分级 → 生成门店任务 → 现场执行 → 周度检查 → 月度验收 → 有效经验标准化

## 技术栈

- **后端**: Node.js + Express + TypeScript + PostgreSQL (pg)
- **前端**: React 18 + TypeScript + Vite + TailwindCSS + Recharts + React Query
- **认证**: JWT (角色: hq / regional / store / dept)
- **数据库**: PostgreSQL 15, `bill_query` @ localhost:5432

## 项目结构

```
SBrainCO/
├── package.json          # monorepo 根配置
├── server/               # 后端
│   ├── src/
│   │   ├── config/database.ts
│   │   ├── middleware/auth.ts, error.ts
│   │   ├── routes/data.ts, tasks.ts, auth.ts
│   │   ├── types/index.ts
│   │   └── index.ts
│   ├── sql/
│   │   ├── 01_create_tables.sql
│   │   ├── 02_create_functions.sql
│   │   ├── 03_create_views.sql
│   │   └── 04_init_data.sql
│   └── .env
├── client/               # 前端
│   ├── src/
│   │   ├── components/   # Layout, MetricCard, Badge, DataTable
│   │   ├── pages/        # Dashboard, Tasks, StoreDetail, MonthlyReview, Indicators, Regional, Store, Login
│   │   ├── lib/          # api.ts, utils.ts
│   │   ├── App.tsx
│   │   └── main.tsx
│   └── vite.config.ts
└── shared/types.ts
```

## 快速启动

### 1. 安装依赖

```bash
# 根目录安装
npm run install:all
```

### 2. 初始化数据库

```bash
# 按顺序执行SQL脚本
psql -d bill_query -f server/sql/01_create_tables.sql
psql -d bill_query -f server/sql/02_create_functions.sql
psql -d bill_query -f server/sql/03_create_views.sql
psql -d bill_query -f server/sql/04_init_data.sql
```

### 3. 启动开发服务器

```bash
# 根目录一键启动
npm run dev

# 或分别启动
cd server && npm run dev    # 后端 http://localhost:3001
cd client && npm run dev    # 前端 http://localhost:5173
```

### 4. 访问系统

- 前端: http://localhost:5173
- 后端API: http://localhost:3001/api
- 默认账号:
  - 总部管理员 / 123 (hq)
  - 区域经理 / 123 (regional)
  - 潘家园店长 / 123 (store)
  - 商品部 / 123 (dept)

## API 接口

### 数据查询 (25个)
- `GET /api/overview` — 公司概览
- `GET /api/overview/daily` — 日度趋势
- `GET /api/stores` — 门店列表
- `GET /api/stores/:code` — 门店详情
- `GET /api/stores/risk` — 风险分级
- `GET /api/stores/priority` — 整改优先级
- `GET /api/stores/quadrant` — 经营象限
- `GET /api/cost/*` — 成本分析
- `GET /api/platform/economics` — 平台经济性
- `GET /api/member/*` — 会员分析
- `GET /api/sku/*` — SKU分析
- `GET /api/risk/*` — 风险分析
- `GET /api/time/*` — 时间规律
- `GET /api/channel` — 渠道结构

### 任务闭环 (23个)
- `GET /api/tasks` — 任务列表
- `GET /api/tasks/:id` — 任务详情
- `POST /api/tasks` — 创建任务
- `PUT /api/tasks/:id` — 更新任务
- `PUT /api/tasks/:id/execute` — 执行反馈
- `PUT /api/tasks/:id/weekly-check` — 周度检查
- `PUT /api/tasks/:id/verify` — 月度验收
- `POST /api/tasks/:id/rollback` — 任务回滚
- `POST /api/tasks/auto-generate` — 自动生成任务
- `GET /api/tasks/loop-health` — 闭环健康度
- `GET|POST /api/tasks/practices` — 经验标准化
- `GET|POST /api/tasks/indicators` — 指标字典
- `GET /api/tasks/stores/:code/daily-card` — 店长日卡

## 闭环健康度

| 指标 | 当前值 | 目标 |
|---|---|---|
| 任务生成率 | 100% | ≥95% |
| 店长执行率 | 0% | ≥80% |
| 区域周检率 | 0% | ≥80% |
| 月度验收率 | 0% | ≥80% |
| 经验推广率 | 0% | ≥80% |
