refactor(docs): 简化README结构,更新技术栈和项目结构描述
This commit is contained in:
540
README.md
540
README.md
@@ -1,250 +1,186 @@
|
||||
# 活牛采购智能数字化系统 (NiuMall)
|
||||
# 活牛采购智能数字化系统
|
||||
|
||||
## 📋 项目概述
|
||||
## 项目概述
|
||||
|
||||
活牛采购智能数字化系统是一个专业的活牛采购全流程数字化管理解决方案,采用模块化设计架构,支持多端协同工作,实现从采购计划到最终结算的全链路数字化管理。
|
||||
活牛采购智能数字化系统是一个专为活牛采购业务设计的全栈Web应用,提供从供应商管理、订单处理、运输调度到支付结算的完整数字化解决方案。
|
||||
|
||||
**项目特色:**
|
||||
- 🔄 **模块化架构**:前后端分离,各模块独立开发部署
|
||||
- 📱 **多端支持**:官网、管理后台、小程序矩阵全覆盖
|
||||
- 🔒 **统一认证**:单点登录,统一用户中心
|
||||
- 📊 **实时数据**:WebSocket实时数据同步
|
||||
- 🎯 **专业化**:专注活牛采购行业需求
|
||||
## 技术栈
|
||||
|
||||
## 🏗️ 技术架构
|
||||
### 后端技术
|
||||
- **运行环境**: Node.js 18+
|
||||
- **Web框架**: Express.js 4.x
|
||||
- **数据库**: MySQL 8.0
|
||||
- **ORM框架**: Sequelize 6.x
|
||||
- **认证授权**: JWT (jsonwebtoken)
|
||||
- **API文档**: Swagger/OpenAPI 3.0
|
||||
- **数据验证**: Joi
|
||||
- **进程管理**: PM2
|
||||
|
||||
```
|
||||
┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐
|
||||
│ Website │ │ Admin System │ │ Mini Programs │
|
||||
│ (HTML5+CSS3) │ │ (Vue 3) │ │ (uni-app) │
|
||||
└─────────────────┘ └─────────────────┘ └─────────────────┘
|
||||
│ │ │
|
||||
└──────────┬───────────┴──────────┬───────────┘
|
||||
│ │
|
||||
┌────────┴─────────┐ ┌──────┴───────┐
|
||||
│ API Gateway │ │ 统一用户中心 │
|
||||
│ (Authentication)│ │(Single SSO) │
|
||||
└────────┬─────────┘ └──────┬───────┘
|
||||
│ │
|
||||
└──────────┬───────────┘
|
||||
│
|
||||
┌──────────┴──────────┐
|
||||
│ Backend Services │
|
||||
│ (Node.js) │
|
||||
└──────────┬──────────┘
|
||||
│
|
||||
┌──────────┴──────────┐
|
||||
│ Unified Database │
|
||||
│ (MySQL + Redis) │
|
||||
└─────────────────────┘
|
||||
```
|
||||
### 前端技术
|
||||
- **框架**: Vue.js 3.x
|
||||
- **构建工具**: Vite
|
||||
- **UI组件库**: Element Plus
|
||||
- **状态管理**: Pinia
|
||||
- **路由管理**: Vue Router 4.x
|
||||
- **HTTP客户端**: Axios
|
||||
|
||||
## 📁 项目结构
|
||||
## 核心功能
|
||||
|
||||
### 🔐 认证授权系统
|
||||
- JWT Token认证机制
|
||||
- 基于角色的权限控制(RBAC)
|
||||
- 多用户类型支持(管理员、采购员、供应商、司机)
|
||||
- 资源级别的访问控制
|
||||
|
||||
### 👥 用户管理
|
||||
- 用户注册、登录、信息管理
|
||||
- 用户状态管理(激活、暂停、删除)
|
||||
- 用户角色和权限分配
|
||||
- 用户操作日志记录
|
||||
|
||||
### 📋 订单管理
|
||||
- 订单创建、编辑、审核流程
|
||||
- 订单状态跟踪和管理
|
||||
- 订单统计和报表分析
|
||||
- 订单导入导出功能
|
||||
|
||||
### 🏢 供应商管理
|
||||
- 供应商信息录入和维护
|
||||
- 供应商资质证书管理
|
||||
- 供应商评价和信用体系
|
||||
- 供应商合作关系管理
|
||||
|
||||
### 🚛 运输管理
|
||||
- 运输任务创建和分配
|
||||
- 实时运输状态跟踪
|
||||
- GPS定位和路线优化
|
||||
- 运输费用计算和结算
|
||||
|
||||
### 👨💼 司机管理
|
||||
- 司机档案和资质管理
|
||||
- 司机任务分配和调度
|
||||
- 司机绩效考核系统
|
||||
- 司机培训记录管理
|
||||
|
||||
### 🚗 车辆管理
|
||||
- 车辆信息和证件管理
|
||||
- 车辆维护保养计划
|
||||
- 车辆保险和年检提醒
|
||||
- 车辆使用统计分析
|
||||
|
||||
### 💰 支付管理
|
||||
- 多种支付方式支持
|
||||
- 自动账单生成和管理
|
||||
- 财务对账和结算
|
||||
- 支付统计和报表
|
||||
|
||||
## 项目结构
|
||||
|
||||
```
|
||||
niumall/
|
||||
├── 📂 docs/ # 📚 项目文档
|
||||
│ ├── 活牛采购智能数字化系统PRD.md
|
||||
│ ├── 技术实施方案.md
|
||||
│ ├── 官网需求文档.md
|
||||
│ └── Live-Cattle-Procurement-SOP-System-PRD.md
|
||||
├── 📂 website/ # 🌐 企业官网
|
||||
│ ├── index.html # 首页
|
||||
│ ├── css/custom.css # 自定义样式
|
||||
│ ├── js/main.js # 主要逻辑
|
||||
│ └── ...
|
||||
├── 📂 admin-system/ # 🔧 管理后台
|
||||
│ └── README.md # Vue 3 + TypeScript + Element Plus
|
||||
├── 📂 backend/ # ⚙️ 后端服务
|
||||
│ └── README.md # Node.js + Express + MySQL
|
||||
├── 📂 mini_program/ # 📱 小程序矩阵
|
||||
│ └── README.md # uni-app 跨平台开发
|
||||
└── 📂 test/ # 🧪 测试目录
|
||||
├── backend/ # 后端应用
|
||||
│ ├── src/
|
||||
│ │ ├── config/ # 配置文件
|
||||
│ │ ├── controllers/ # 控制器层
|
||||
│ │ ├── services/ # 服务层
|
||||
│ │ ├── models/ # 数据模型
|
||||
│ │ ├── routes/ # 路由定义
|
||||
│ │ ├── middleware/ # 中间件
|
||||
│ │ ├── utils/ # 工具函数
|
||||
│ │ └── main.js # 应用入口
|
||||
│ ├── tests/ # 测试文件
|
||||
│ └── package.json # 依赖配置
|
||||
├── frontend/ # 前端应用
|
||||
│ ├── src/
|
||||
│ │ ├── components/ # Vue组件
|
||||
│ │ ├── views/ # 页面视图
|
||||
│ │ ├── router/ # 路由配置
|
||||
│ │ ├── store/ # 状态管理
|
||||
│ │ ├── utils/ # 工具函数
|
||||
│ │ └── main.js # 应用入口
|
||||
│ └── package.json # 依赖配置
|
||||
├── docs/ # 项目文档
|
||||
│ ├── API接口文档.md
|
||||
│ ├── 系统架构文档.md
|
||||
│ └── 部署运维文档.md
|
||||
└── README.md # 项目说明
|
||||
```
|
||||
|
||||
### 🌐 Website - 企业官网
|
||||
**技术栈**:HTML5 + Bootstrap 5 + 原生JavaScript
|
||||
- 企业品牌展示和产品介绍
|
||||
- 响应式设计,SEO优化
|
||||
- 客户案例和解决方案展示
|
||||
- 在线咨询和试用申请
|
||||
|
||||
### 🔧 Admin System - 管理后台
|
||||
**技术栈**:Vue 3 + TypeScript + Element Plus + Vite + Pinia
|
||||
- 用户管理和权限控制
|
||||
- 订单管理和流程监控
|
||||
- 数据统计和分析报表
|
||||
- 系统配置和维护
|
||||
|
||||
### 📱 Mini Program - 小程序矩阵
|
||||
**技术栈**:uni-app + Vue 3 + TypeScript
|
||||
- **客户端小程序**:采购订单创建和跟踪
|
||||
- **供应商小程序**:牛只管理和装车操作
|
||||
- **司机小程序**:运输跟踪和状态上报
|
||||
- **内部员工小程序**:内部操作和管理
|
||||
|
||||
### ⚙️ Backend - 后端服务
|
||||
#### Node.js版 (位于/backend)
|
||||
**技术栈**:Node.js + Express + MySQL + Redis
|
||||
- 微服务架构设计
|
||||
- 统一API接口服务
|
||||
- 实时数据同步
|
||||
- 文件存储和处理
|
||||
|
||||
#### Java版 (位于/backend-java)
|
||||
**技术栈**:Spring Boot 3 + JPA + MySQL + Redis
|
||||
- 模块化微服务架构
|
||||
- 用户服务 (8081)
|
||||
- 订单服务 (8082)
|
||||
- 支付服务 (8083)
|
||||
- Spring Security认证
|
||||
- OpenAPI 3.0文档
|
||||
- 分布式事务支持
|
||||
|
||||
## 🚀 快速开始
|
||||
## 快速开始
|
||||
|
||||
### 环境要求
|
||||
**通用要求**:
|
||||
- MySQL >= 5.7
|
||||
- Redis >= 6.0
|
||||
- 微信开发者工具(小程序开发)
|
||||
- Node.js 18.x 或更高版本
|
||||
- MySQL 8.0 或更高版本
|
||||
- npm 8.x 或更高版本
|
||||
|
||||
**Node.js版要求**:
|
||||
- Node.js >= 16.0.0
|
||||
### 安装步骤
|
||||
|
||||
**Java版要求**:
|
||||
- JDK 17+
|
||||
- Maven 3.8+ (或使用项目自带的Maven Wrapper)
|
||||
|
||||
### 数据库配置
|
||||
1. **克隆项目**
|
||||
```bash
|
||||
# 数据库连接信息
|
||||
主机: 129.211.213.226
|
||||
端口: 9527
|
||||
用户名: root
|
||||
密码: aiotAiot123!
|
||||
数据库: jiebandata
|
||||
git clone https://github.com/your-org/niumall.git
|
||||
cd niumall
|
||||
```
|
||||
|
||||
### 启动步骤
|
||||
|
||||
#### 1. 启动后端服务
|
||||
**Node.js版**:
|
||||
2. **安装后端依赖**
|
||||
```bash
|
||||
cd backend
|
||||
npm install
|
||||
```
|
||||
|
||||
3. **配置环境变量**
|
||||
```bash
|
||||
cp .env.example .env
|
||||
# 编辑 .env 文件,配置数据库连接等信息
|
||||
```
|
||||
|
||||
4. **初始化数据库**
|
||||
```bash
|
||||
# 创建数据库
|
||||
mysql -u root -p -e "CREATE DATABASE niumall CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;"
|
||||
|
||||
# 运行数据库迁移
|
||||
npm run migrate
|
||||
|
||||
# 创建管理员用户
|
||||
node create_admin.js
|
||||
```
|
||||
|
||||
5. **启动后端服务**
|
||||
```bash
|
||||
npm run dev
|
||||
```
|
||||
|
||||
**Java版**:
|
||||
6. **安装前端依赖**
|
||||
```bash
|
||||
cd backend-java/user-service
|
||||
./mvnw spring-boot:run # 用户服务(8081)
|
||||
|
||||
cd ../order-service
|
||||
./mvnw spring-boot:run # 订单服务(8082)
|
||||
|
||||
cd ../payment-service
|
||||
./mvnw spring-boot:run # 支付服务(8083)
|
||||
cd ../frontend
|
||||
npm install
|
||||
```
|
||||
|
||||
#### 2. 启动管理后台
|
||||
7. **启动前端服务**
|
||||
```bash
|
||||
cd admin-system
|
||||
npm install
|
||||
npm run dev
|
||||
```
|
||||
|
||||
#### 3. 启动企业官网
|
||||
```bash
|
||||
cd website
|
||||
# 直接用浏览器打开 index.html 或使用本地服务器
|
||||
python -m http.server 8080 # Python方式
|
||||
# 或
|
||||
npx serve . # Node.js方式
|
||||
```
|
||||
8. **访问应用**
|
||||
- 前端应用: http://localhost:5173
|
||||
- 后端API: http://localhost:3000
|
||||
- API文档: http://localhost:3000/api-docs
|
||||
|
||||
#### 4. 小程序开发
|
||||
```bash
|
||||
cd mini_program
|
||||
npm install
|
||||
# 使用微信开发者工具打开对应小程序目录
|
||||
```
|
||||
|
||||
## 👥 用户角色
|
||||
|
||||
| 角色 | 职责 | 主要功能 |
|
||||
|------|------|----------|
|
||||
| 🏭 **采购人** | 发起采购需求,验收确认 | 订单创建、进度跟踪、验收支付 |
|
||||
| 🤝 **贸易商** | 订单转发,供应商管理 | 订单管理、供应商资质审核、结算处理 |
|
||||
| 🐄 **供应商** | 牛只准备,装车管理 | 牛只信息维护、证件上传、装车监控 |
|
||||
| 🚛 **司机** | 运输执行,状态上报 | 实时定位、运输跟踪、状态报告 |
|
||||
| 👨💼 **内部员工** | 系统管理,业务监督 | 用户管理、数据分析、异常处理 |
|
||||
|
||||
## 📊 核心功能
|
||||
|
||||
### 1. 采购订单管理
|
||||
- ✅ 订单创建和审核流程
|
||||
- ✅ 多级审批和权限控制
|
||||
- ✅ 订单状态实时跟踪
|
||||
- ✅ 异常处理和风险控制
|
||||
|
||||
### 2. 运输跟踪管理
|
||||
- 🚛 实时GPS定位跟踪
|
||||
- 📹 装车卸车视频监控
|
||||
- 📱 移动端状态上报
|
||||
- ⏰ 运输时效监控
|
||||
|
||||
### 3. 质检验收管理
|
||||
- 🔍 标准化质检流程
|
||||
- 📋 检疫证明管理
|
||||
- ⚖️ 称重数据记录
|
||||
- 🎯 质量标准配置
|
||||
|
||||
### 4. 结算支付管理
|
||||
- 💰 自动结算计算
|
||||
- 💳 在线支付支持
|
||||
- 📊 财务报表生成
|
||||
- 🔒 资金安全保障
|
||||
|
||||
## 🛠️ 开发规范
|
||||
## 开发指南
|
||||
|
||||
### 代码规范
|
||||
- **JavaScript/TypeScript**:遵循 ESLint + Prettier 规范
|
||||
- **Vue**:遵循 Vue 3 Composition API 最佳实践
|
||||
- **CSS**:使用 BEM 命名规范
|
||||
- **提交规范**:遵循 Conventional Commits
|
||||
- 使用ESLint进行代码检查
|
||||
- 使用Prettier进行代码格式化
|
||||
- 遵循JavaScript Standard Style
|
||||
- 提交前运行测试和代码检查
|
||||
|
||||
### 分支管理
|
||||
- `main`:主分支,生产环境代码
|
||||
- `develop`:开发分支,集成测试
|
||||
- `feature/*`:功能分支
|
||||
- `hotfix/*`:紧急修复分支
|
||||
- `main`: 主分支,用于生产环境
|
||||
- `develop`: 开发分支,用于集成测试
|
||||
- `feature/*`: 功能分支,用于新功能开发
|
||||
- `hotfix/*`: 热修复分支,用于紧急修复
|
||||
|
||||
## 📈 部署方案
|
||||
|
||||
### 生产环境
|
||||
- **Web服务器**:Nginx + PM2
|
||||
- **数据库**:MySQL 主从复制
|
||||
- **缓存**:Redis 集群
|
||||
- **文件存储**:MinIO/阿里云OSS
|
||||
- **负载均衡**:Nginx Load Balancer
|
||||
|
||||
### 开发环境
|
||||
- **容器化**:Docker + Docker Compose
|
||||
- **CI/CD**:GitHub Actions
|
||||
- **监控**:Prometheus + Grafana
|
||||
- **日志**:ELK Stack
|
||||
|
||||
## 🤝 贡献指南
|
||||
|
||||
1. **Fork** 本仓库
|
||||
2. **创建**特性分支 (`git checkout -b feature/AmazingFeature`)
|
||||
3. **提交**更改 (`git commit -m 'Add some AmazingFeature'`)
|
||||
4. **推送**到分支 (`git push origin feature/AmazingFeature`)
|
||||
5. **开启** Pull Request
|
||||
|
||||
### 提交信息规范
|
||||
### 提交规范
|
||||
```
|
||||
feat: 新功能
|
||||
fix: 修复bug
|
||||
@@ -252,20 +188,186 @@ docs: 文档更新
|
||||
style: 代码格式调整
|
||||
refactor: 代码重构
|
||||
test: 测试相关
|
||||
chore: 其他修改
|
||||
chore: 构建过程或辅助工具的变动
|
||||
```
|
||||
|
||||
## 📞 联系我们
|
||||
## API文档
|
||||
|
||||
- **产品经理**:product@niumall.com
|
||||
- **技术支持**:tech@niumall.com
|
||||
- **商务合作**:business@niumall.com
|
||||
- **客服热线**:400-xxx-xxxx
|
||||
系统提供完整的RESTful API接口,支持以下功能模块:
|
||||
|
||||
## 📄 许可证
|
||||
- **认证模块** (`/api/auth`): 用户登录、注册、令牌管理
|
||||
- **用户管理** (`/api/users`): 用户CRUD操作和权限管理
|
||||
- **订单管理** (`/api/orders`): 订单全生命周期管理
|
||||
- **供应商管理** (`/api/suppliers`): 供应商信息和资质管理
|
||||
- **运输管理** (`/api/transports`): 运输任务和状态管理
|
||||
- **司机管理** (`/api/drivers`): 司机档案和调度管理
|
||||
- **车辆管理** (`/api/vehicles`): 车辆信息和维护管理
|
||||
- **支付管理** (`/api/payments`): 支付记录和财务管理
|
||||
|
||||
本项目采用 MIT 许可证 - 查看 [LICENSE](LICENSE) 文件了解详情
|
||||
详细的API接口文档请参考:[API接口文档](./docs/API接口文档.md)
|
||||
|
||||
## 系统架构
|
||||
|
||||
系统采用前后端分离的架构设计,后端使用分层架构模式:
|
||||
|
||||
- **路由层**: 处理HTTP请求和响应
|
||||
- **控制器层**: 业务逻辑协调和数据验证
|
||||
- **服务层**: 核心业务逻辑实现
|
||||
- **数据层**: 数据模型和数据库操作
|
||||
|
||||
详细的系统架构说明请参考:[系统架构文档](./docs/系统架构文档.md)
|
||||
|
||||
## 部署指南
|
||||
|
||||
系统支持多种部署方式:
|
||||
|
||||
### 传统部署
|
||||
- 单机部署:适用于小规模应用
|
||||
- 集群部署:适用于高并发场景
|
||||
- 负载均衡:支持多实例负载均衡
|
||||
|
||||
### 容器化部署
|
||||
- Docker部署:快速部署和环境隔离
|
||||
- Docker Compose:多服务编排
|
||||
- Kubernetes:云原生部署和管理
|
||||
|
||||
### 云平台部署
|
||||
- 阿里云ECS:弹性计算服务
|
||||
- 腾讯云CVM:云服务器
|
||||
- AWS EC2:亚马逊云计算服务
|
||||
|
||||
详细的部署和运维指南请参考:[部署运维文档](./docs/部署运维文档.md)
|
||||
|
||||
## 测试
|
||||
|
||||
### 单元测试
|
||||
```bash
|
||||
# 后端单元测试
|
||||
cd backend
|
||||
npm test
|
||||
|
||||
# 前端单元测试
|
||||
cd frontend
|
||||
npm test
|
||||
```
|
||||
|
||||
### 集成测试
|
||||
```bash
|
||||
# 运行集成测试
|
||||
npm run test:integration
|
||||
```
|
||||
|
||||
### API测试
|
||||
- 使用Postman进行API测试
|
||||
- 提供完整的Postman Collection
|
||||
- 支持自动化API测试
|
||||
|
||||
## 监控和日志
|
||||
|
||||
### 应用监控
|
||||
- PM2进程监控
|
||||
- 系统资源监控
|
||||
- 应用性能监控
|
||||
|
||||
### 日志管理
|
||||
- 结构化日志记录
|
||||
- 日志轮转和归档
|
||||
- 错误日志告警
|
||||
|
||||
### 健康检查
|
||||
- 应用健康检查接口
|
||||
- 数据库连接检查
|
||||
- 外部服务依赖检查
|
||||
|
||||
## 安全特性
|
||||
|
||||
### 认证安全
|
||||
- JWT Token认证
|
||||
- 密码加密存储
|
||||
- 会话管理和超时
|
||||
|
||||
### 授权安全
|
||||
- 基于角色的访问控制
|
||||
- 资源级权限验证
|
||||
- API接口权限保护
|
||||
|
||||
### 数据安全
|
||||
- 输入数据验证和过滤
|
||||
- SQL注入防护
|
||||
- XSS攻击防护
|
||||
|
||||
### 传输安全
|
||||
- HTTPS强制加密
|
||||
- CORS跨域配置
|
||||
- 请求频率限制
|
||||
|
||||
## 性能优化
|
||||
|
||||
### 数据库优化
|
||||
- 索引优化
|
||||
- 查询优化
|
||||
- 连接池管理
|
||||
|
||||
### 缓存策略
|
||||
- Redis缓存
|
||||
- 查询结果缓存
|
||||
- 静态资源缓存
|
||||
|
||||
### 前端优化
|
||||
- 代码分割
|
||||
- 懒加载
|
||||
- 资源压缩
|
||||
|
||||
## 贡献指南
|
||||
|
||||
我们欢迎社区贡献!请遵循以下步骤:
|
||||
|
||||
1. Fork项目到你的GitHub账户
|
||||
2. 创建功能分支 (`git checkout -b feature/AmazingFeature`)
|
||||
3. 提交你的更改 (`git commit -m 'Add some AmazingFeature'`)
|
||||
4. 推送到分支 (`git push origin feature/AmazingFeature`)
|
||||
5. 创建Pull Request
|
||||
|
||||
### 贡献类型
|
||||
- 🐛 Bug修复
|
||||
- ✨ 新功能开发
|
||||
- 📚 文档改进
|
||||
- 🎨 UI/UX优化
|
||||
- ⚡ 性能优化
|
||||
- 🔧 配置和工具改进
|
||||
|
||||
## 许可证
|
||||
|
||||
本项目采用 MIT 许可证 - 查看 [LICENSE](LICENSE) 文件了解详情。
|
||||
|
||||
## 联系我们
|
||||
|
||||
- **项目维护者**: NiuMall Team
|
||||
- **邮箱**: contact@niumall.com
|
||||
- **官网**: https://www.niumall.com
|
||||
- **技术支持**: support@niumall.com
|
||||
|
||||
## 更新日志
|
||||
|
||||
### v1.0.0 (2024-01-01)
|
||||
- 🎉 初始版本发布
|
||||
- ✨ 完整的业务功能模块
|
||||
- 🔐 JWT认证和权限控制
|
||||
- 📱 响应式前端界面
|
||||
- 📖 完整的API文档
|
||||
- 🚀 Docker容器化支持
|
||||
|
||||
## 致谢
|
||||
|
||||
感谢所有为这个项目做出贡献的开发者和用户!
|
||||
|
||||
特别感谢以下开源项目:
|
||||
- [Express.js](https://expressjs.com/) - Web应用框架
|
||||
- [Vue.js](https://vuejs.org/) - 前端框架
|
||||
- [Sequelize](https://sequelize.org/) - ORM框架
|
||||
- [Element Plus](https://element-plus.org/) - UI组件库
|
||||
- [MySQL](https://www.mysql.com/) - 数据库系统
|
||||
|
||||
---
|
||||
|
||||
**🎯 让活牛采购更智能,让业务管理更简单!**
|
||||
**活牛采购智能数字化系统** - 让活牛采购更智能、更高效!
|
||||
Reference in New Issue
Block a user