3.4 KiB
3.4 KiB
云南智慧牛产业平台 - 总体架构文档
1. 架构概述
本平台采用前后端分离的微服务/模块化单体架构,旨在构建一个覆盖肉牛产业全生命周期的数字化服务体系。平台由官网门户、管理后台、微信小程序和后端服务四大核心部分组成。
2. 技术架构图
graph TD
User[用户/企业/政府] -->|HTTPS| Gateway[Nginx 网关]
subgraph "前端应用层 (Frontend)"
Gateway -->|/| Website[官网门户 (Vue3 + Bootstrap5)]
Gateway -->|/admin| Admin[管理后台 (Vue3 + Element Plus)]
Gateway -->|/api| Backend[后端服务 API]
User -->|微信| MiniProgram[微信小程序 (Uni-app)]
MiniProgram -->|HTTPS| Backend
end
subgraph "后端服务层 (Backend)"
Backend[Java Spring Boot / Node.js NestJS]
Backend --> Service1[用户中心]
Backend --> Service2[牛只档案]
Backend --> Service3[交易中心]
Backend --> Service4[金融服务]
end
subgraph "数据存储层 (Data)"
Backend --> MySQL[(MySQL 主数据库)]
Backend --> Redis[(Redis 缓存)]
Backend --> OSS[(对象存储 - 图片/视频)]
end
3. 技术栈选型
3.1 前端层
-
官网门户 (Website)
- 框架: Vue 3 + Vite
- UI库: Bootstrap 5 (响应式适配)
- 图表: ECharts 5
- 说明: 侧重于品牌展示和信息发布,要求SEO友好和极致的响应式体验。
-
管理后台 (Admin System)
- 框架: Vue 3 + Vite
- UI库: Element Plus
- 状态管理: Pinia
- 说明: 侧重于复杂表单处理、数据管理和权限控制。
-
移动端/小程序 (Mini Program)
- 框架: Uni-app (Vue 3 语法)
- 说明: 一套代码编译发布到微信小程序、H5等多端,方便养殖户和监管员现场作业。
3.2 后端层 (Backend)
- 开发语言: Java (推荐) 或 Node.js
- 核心框架: Spring Boot 3 (Java) 或 NestJS (Node.js)
- ORM框架: MyBatis-Plus / TypeORM
- API规范: RESTful API + Swagger/OpenAPI 文档
3.3 数据层
- 关系型数据库: MySQL 8.0 (存储业务数据)
- 缓存数据库: Redis 6.0 (会话管理、热点数据)
- 文件存储: MinIO 或 阿里云 OSS (牛只照片、监控视频)
3.4 基础设施 & 运维
- 操作系统: CentOS 10
- 容器化: Docker + Docker Compose
- 反向代理: Nginx
- CI/CD: Jenkins 或 GitLab CI (规划中)
4. 核心业务流程
- 数据采集: 养殖户通过小程序录入牛只信息(出生、防疫、称重)。
- 数据上链: 关键数据(如检疫证明)存证,确保不可篡改。
- 交易撮合: 买卖双方在平台发布需求,平台进行匹配并提供资金托管。
- 金融授信: 银行根据养殖户的资产数据(牛只数量、价值)进行授信放款。
- 监管预警: 异常移动、疫情风险自动触发预警推送给政府监管端。
5. 目录结构规划
/
├── website/ # 官网源代码 (Vue3 + Bootstrap)
├── admin-system/ # 管理后台源代码 (Vue3 + Element Plus) - 待初始化
├── mini-program/ # 小程序源代码 (Uni-app) - 待初始化
├── backend/ # 后端服务源代码 (Spring Boot) - 待初始化
├── docs/ # 项目文档
├── scripts/ # 运维脚本
└── README.md # 项目入口说明