活牛采购智能数字化系统
项目概述
活牛采购智能数字化系统是一个专为活牛采购业务设计的全栈Web应用,提供从供应商管理、订单处理、运输调度到支付结算的完整数字化解决方案。
技术栈
后端技术
- 运行环境: Node.js 18+
- Web框架: Express.js 4.x
- 数据库: MySQL 8.0
- ORM框架: Sequelize 6.x
- 认证授权: JWT (jsonwebtoken)
- API文档: Swagger/OpenAPI 3.0
- 数据验证: Joi
- 进程管理: PM2
前端技术
- 框架: Vue.js 3.x
- 构建工具: Vite
- UI组件库: Element Plus
- 状态管理: Pinia
- 路由管理: Vue Router 4.x
- HTTP客户端: Axios
核心功能
🔐 认证授权系统
- JWT Token认证机制
- 基于角色的权限控制(RBAC)
- 多用户类型支持(管理员、采购员、供应商、司机)
- 资源级别的访问控制
👥 用户管理
- 用户注册、登录、信息管理
- 用户状态管理(激活、暂停、删除)
- 用户角色和权限分配
- 用户操作日志记录
📋 订单管理
- 订单创建、编辑、审核流程
- 订单状态跟踪和管理
- 订单统计和报表分析
- 订单导入导出功能
🏢 供应商管理
- 供应商信息录入和维护
- 供应商资质证书管理
- 供应商评价和信用体系
- 供应商合作关系管理
🚛 运输管理
- 运输任务创建和分配
- 实时运输状态跟踪
- GPS定位和路线优化
- 运输费用计算和结算
👨💼 司机管理
- 司机档案和资质管理
- 司机任务分配和调度
- 司机绩效考核系统
- 司机培训记录管理
🚗 车辆管理
- 车辆信息和证件管理
- 车辆维护保养计划
- 车辆保险和年检提醒
- 车辆使用统计分析
💰 支付管理
- 多种支付方式支持
- 自动账单生成和管理
- 财务对账和结算
- 支付统计和报表
项目结构
niumall/
├── 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 # 项目说明
快速开始
环境要求
- Node.js 18.x 或更高版本
- MySQL 8.0 或更高版本
- npm 8.x 或更高版本
安装步骤
- 克隆项目
git clone https://github.com/your-org/niumall.git
cd niumall
- 安装后端依赖
cd backend
npm install
- 配置环境变量
cp .env.example .env
# 编辑 .env 文件,配置数据库连接等信息
- 初始化数据库
# 创建数据库
mysql -u root -p -e "CREATE DATABASE niumall CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;"
# 运行数据库迁移
npm run migrate
# 创建管理员用户
node create_admin.js
- 启动后端服务
npm run dev
- 安装前端依赖
cd ../frontend
npm install
- 启动前端服务
npm run dev
- 访问应用
- 前端应用: http://localhost:5173
- 后端API: http://localhost:3000
- API文档: http://localhost:3000/api-docs
开发指南
代码规范
- 使用ESLint进行代码检查
- 使用Prettier进行代码格式化
- 遵循JavaScript Standard Style
- 提交前运行测试和代码检查
分支管理
main: 主分支,用于生产环境develop: 开发分支,用于集成测试feature/*: 功能分支,用于新功能开发hotfix/*: 热修复分支,用于紧急修复
提交规范
feat: 新功能
fix: 修复bug
docs: 文档更新
style: 代码格式调整
refactor: 代码重构
test: 测试相关
chore: 构建过程或辅助工具的变动
API文档
系统提供完整的RESTful API接口,支持以下功能模块:
- 认证模块 (
/api/auth): 用户登录、注册、令牌管理 - 用户管理 (
/api/users): 用户CRUD操作和权限管理 - 订单管理 (
/api/orders): 订单全生命周期管理 - 供应商管理 (
/api/suppliers): 供应商信息和资质管理 - 运输管理 (
/api/transports): 运输任务和状态管理 - 司机管理 (
/api/drivers): 司机档案和调度管理 - 车辆管理 (
/api/vehicles): 车辆信息和维护管理 - 支付管理 (
/api/payments): 支付记录和财务管理
详细的API接口文档请参考:API接口文档
系统架构
系统采用前后端分离的架构设计,后端使用分层架构模式:
- 路由层: 处理HTTP请求和响应
- 控制器层: 业务逻辑协调和数据验证
- 服务层: 核心业务逻辑实现
- 数据层: 数据模型和数据库操作
详细的系统架构说明请参考:系统架构文档
部署指南
系统支持多种部署方式:
传统部署
- 单机部署:适用于小规模应用
- 集群部署:适用于高并发场景
- 负载均衡:支持多实例负载均衡
容器化部署
- Docker部署:快速部署和环境隔离
- Docker Compose:多服务编排
- Kubernetes:云原生部署和管理
云平台部署
- 阿里云ECS:弹性计算服务
- 腾讯云CVM:云服务器
- AWS EC2:亚马逊云计算服务
详细的部署和运维指南请参考:部署运维文档
测试
单元测试
# 后端单元测试
cd backend
npm test
# 前端单元测试
cd frontend
npm test
集成测试
# 运行集成测试
npm run test:integration
API测试
- 使用Postman进行API测试
- 提供完整的Postman Collection
- 支持自动化API测试
监控和日志
应用监控
- PM2进程监控
- 系统资源监控
- 应用性能监控
日志管理
- 结构化日志记录
- 日志轮转和归档
- 错误日志告警
健康检查
- 应用健康检查接口
- 数据库连接检查
- 外部服务依赖检查
安全特性
认证安全
- JWT Token认证
- 密码加密存储
- 会话管理和超时
授权安全
- 基于角色的访问控制
- 资源级权限验证
- API接口权限保护
数据安全
- 输入数据验证和过滤
- SQL注入防护
- XSS攻击防护
传输安全
- HTTPS强制加密
- CORS跨域配置
- 请求频率限制
性能优化
数据库优化
- 索引优化
- 查询优化
- 连接池管理
缓存策略
- Redis缓存
- 查询结果缓存
- 静态资源缓存
前端优化
- 代码分割
- 懒加载
- 资源压缩
贡献指南
我们欢迎社区贡献!请遵循以下步骤:
- Fork项目到你的GitHub账户
- 创建功能分支 (
git checkout -b feature/AmazingFeature) - 提交你的更改 (
git commit -m 'Add some AmazingFeature') - 推送到分支 (
git push origin feature/AmazingFeature) - 创建Pull Request
贡献类型
- 🐛 Bug修复
- ✨ 新功能开发
- 📚 文档改进
- 🎨 UI/UX优化
- ⚡ 性能优化
- 🔧 配置和工具改进
许可证
本项目采用 MIT 许可证 - 查看 LICENSE 文件了解详情。
联系我们
- 项目维护者: NiuMall Team
- 邮箱: contact@niumall.com
- 官网: https://www.niumall.com
- 技术支持: support@niumall.com
更新日志
v1.0.0 (2024-01-01)
- 🎉 初始版本发布
- ✨ 完整的业务功能模块
- 🔐 JWT认证和权限控制
- 📱 响应式前端界面
- 📖 完整的API文档
- 🚀 Docker容器化支持
致谢
感谢所有为这个项目做出贡献的开发者和用户!
特别感谢以下开源项目:
- Express.js - Web应用框架
- Vue.js - 前端框架
- Sequelize - ORM框架
- Element Plus - UI组件库
- MySQL - 数据库系统
活牛采购智能数字化系统 - 让活牛采购更智能、更高效!
Description
Languages
JavaScript
41.5%
HTML
27.8%
Vue
20.6%
CSS
3.8%
TypeScript
3.7%
Other
2.6%