Skip to content

Repository files navigation

经理人看板 (Manager Dashboard)

零售门店管理数据可视化平台,提供实时销售分析、库存监控和多维度 KPI 指标展示。

业务介绍

业务背景

经理人看板面向零售行业门店管理者,解决以下核心问题:

  • 销售数据分散 - 整合多门店、多品类的销售数据,提供统一视图
  • 决策缺乏数据支撑 - 通过 16 项核心 KPI 指标,量化经营状况
  • 库存管理粗放 - 实时监控库存周转、缺货预警、滞销分析

核心功能

模块 功能说明
销售分析 销售额/毛利/客单价趋势、门店排名、同比环比分析
库存监控 库存周转率、缺货预警、滞销商品识别
多维筛选 按时间范围、门店、品类、区域灵活筛选
可视化看板 可拖拽布局、自定义图表组件、数据导出

支持的 KPI 指标(16项)

销售类:销售额、毛利额、毛利率、促销扣除、销售件数、客单价、交易笔数
库存类:库存数量、库存金额、库存周转率、缺货率
客户类:连带率、复购率、品类渗透率
商品类:动销率、SKU数量

数据维度

  • 时间:日/周/月粒度,支持自定义日期范围
  • 门店:支持多门店选择、区域汇总
  • 品类:三级品类树结构(大类→中类→小类)

代码介绍

技术栈

层级 技术选型
前端 Vue 3 + TypeScript + Vite + Element Plus + ECharts + Pinia
后端 Spring Boot 3.2.5 + MyBatis Plus + MySQL 8.0
API 文档 Knife4j (Swagger 增强)
Java 版本 JDK 17

项目结构

manager-dashboard/
├── frontend/                    # 前端工程
│   ├── src/
│   │   ├── api/                 # API 接口封装
│   │   ├── components/          # 通用组件
│   │   │   ├── charts/          # 图表组件 (柱状图/折线图/饼图/表格)
│   │   │   └── filters/         # 筛选组件 (时间/门店/品类)
│   │   ├── composables/         # Vue 组合式函数
│   │   ├── layouts/             # 布局组件
│   │   ├── mock/                # Mock 数据
│   │   ├── router/              # 路由配置
│   │   ├── stores/              # Pinia 状态管理
│   │   ├── types/               # TypeScript 类型定义
│   │   ├── utils/               # 工具函数
│   │   └── views/               # 页面组件
│   └── vite.config.ts           # Vite 配置
│
├── backend/                     # 后端工程 (Maven 多模块)
│   ├── manager-common/          # 通用模块:Result 封装、工具类、异常处理
│   ├── manager-model/           # 实体层:数据库实体类
│   ├── manager-dao/             # 数据访问层:MyBatis Mapper
│   ├── manager-service/         # 业务逻辑层
│   │   ├── aggregation/         # 数据聚合服务
│   │   ├── category/            # 品类服务
│   │   ├── dashboard/           # 看板服务
│   │   ├── dto/                 # 数据传输对象 (24+ DTO)
│   │   ├── inventory/           # 库存服务
│   │   ├── metrics/             # KPI 指标计算
│   │   ├── mock/                # Mock 数据生成
│   │   ├── sales/               # 销售数据服务
│   │   └── store/               # 门店服务
│   ├── manager-web/             # Web 层:Controller、配置
│   └── sql/                     # 数据库初始化脚本
│
└── CLAUDE.md                    # Claude Code 开发指南

后端分层架构

┌─────────────────────────────────────────────────────────┐
│                    Controller 层                         │
│         (SalesDataController, StoreController)          │
├─────────────────────────────────────────────────────────┤
│                     Service 层                           │
│    (SalesDataService, MetricsCalculator, StoreService)  │
├─────────────────────────────────────────────────────────┤
│                      DAO 层                              │
│          (MyBatis Plus Mapper + XML 映射)                │
├─────────────────────────────────────────────────────────┤
│                     MySQL 数据库                         │
└─────────────────────────────────────────────────────────┘

API 接口

基础路径:/api

接口 方法 说明
/sales/summary GET 销售汇总(支持日期范围、门店筛选)
/sales/trend GET 销售趋势(支持 DAY/WEEK/MONTH 粒度)
/sales/rank/store GET 门店销售排名
/sales/metrics GET 16 项 KPI 指标
/sales/today GET 今日销售
/sales/this-week GET 本周销售
/sales/this-month GET 本月销售
/stores GET 门店列表
/stores/regions GET 区域列表
/categories/tree GET 品类树

数据库表结构

表名 说明
store 门店信息(编码、名称、区域、城市、地址、店长)
sales_data 销售数据(门店、品类、日期、销售额、数量、毛利)
product_category 品类信息(三级树形结构)
dashboard 看板配置
dashboard_component 看板组件(图表类型、位置、数据源配置)
dashboard_group 组件分组

快速开始

环境要求

  • Node.js 18+
  • JDK 17
  • MySQL 8.0+
  • Maven 3.8+

1. 数据库初始化

mysql -u root -p < backend/sql/init.sql

2. 启动后端

cd backend
mvn clean install
mvn spring-boot:run -pl manager-web
# 服务启动于 http://localhost:8080
# API 文档 http://localhost:8080/api/doc.html

3. 启动前端

cd frontend
npm install
npm run dev
# 访问 http://localhost:3000

配置说明

后端数据库配置位于 backend/manager-web/src/main/resources/application.yml

spring:
  datasource:
    url: jdbc:mysql://localhost:3306/manager_dashboard
    username: root
    password: root  # 请修改为实际密码

开发状态

当前版本使用 Mock 数据,后端服务层已预留数据库对接点(标记为 TODO)。

待完成工作:

  • 对接实际数据库查询(替换 Mock 数据)
  • 前端筛选功能完善
  • 看板拖拽布局持久化

项目统计

  • 代码行数:16,500+ 行
  • 后端:Java 6,600+ 行
  • 前端:Vue/TS 8,500+ 行
  • 文件数:124 个源文件

License

MIT

About

claude-training-demo

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages