活牛采购智能数字化系统

项目概述

活牛采购智能数字化系统是一个专为活牛采购业务设计的全栈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 或更高版本

安装步骤

  1. 克隆项目
git clone https://github.com/your-org/niumall.git
cd niumall
  1. 安装后端依赖
cd backend
npm install
  1. 配置环境变量
cp .env.example .env
# 编辑 .env 文件,配置数据库连接等信息
  1. 初始化数据库
# 创建数据库
mysql -u root -p -e "CREATE DATABASE niumall CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;"

# 运行数据库迁移
npm run migrate

# 创建管理员用户
node create_admin.js
  1. 启动后端服务
npm run dev
  1. 安装前端依赖
cd ../frontend
npm install
  1. 启动前端服务
npm run dev
  1. 访问应用

开发指南

代码规范

  • 使用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缓存
  • 查询结果缓存
  • 静态资源缓存

前端优化

  • 代码分割
  • 懒加载
  • 资源压缩

贡献指南

我们欢迎社区贡献!请遵循以下步骤:

  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 文件了解详情。

联系我们

更新日志

v1.0.0 (2024-01-01)

  • 🎉 初始版本发布
  • 完整的业务功能模块
  • 🔐 JWT认证和权限控制
  • 📱 响应式前端界面
  • 📖 完整的API文档
  • 🚀 Docker容器化支持

致谢

感谢所有为这个项目做出贡献的开发者和用户!

特别感谢以下开源项目:


活牛采购智能数字化系统 - 让活牛采购更智能、更高效!

Description
牛只商城
Readme 11 MiB
Languages
JavaScript 41.5%
HTML 27.8%
Vue 20.6%
CSS 3.8%
TypeScript 3.7%
Other 2.6%