Files
caiyunniu/docs/整个项目的架构文档.md

88 lines
3.4 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 云南智慧牛产业平台 - 总体架构文档
## 1. 架构概述
本平台采用前后端分离的微服务/模块化单体架构,旨在构建一个覆盖肉牛产业全生命周期的数字化服务体系。平台由官网门户、管理后台、微信小程序和后端服务四大核心部分组成。
## 2. 技术架构图
```mermaid
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. 核心业务流程
1. **数据采集**: 养殖户通过小程序录入牛只信息(出生、防疫、称重)。
2. **数据上链**: 关键数据(如检疫证明)存证,确保不可篡改。
3. **交易撮合**: 买卖双方在平台发布需求,平台进行匹配并提供资金托管。
4. **金融授信**: 银行根据养殖户的资产数据(牛只数量、价值)进行授信放款。
5. **监管预警**: 异常移动、疫情风险自动触发预警推送给政府监管端。
## 5. 目录结构规划
```
/
├── website/ # 官网源代码 (Vue3 + Bootstrap)
├── admin-system/ # 管理后台源代码 (Vue3 + Element Plus) - 待初始化
├── mini-program/ # 小程序源代码 (Uni-app) - 待初始化
├── backend/ # 后端服务源代码 (Spring Boot) - 待初始化
├── docs/ # 项目文档
├── scripts/ # 运维脚本
└── README.md # 项目入口说明
```