# 云南智慧牛产业平台 - 总体架构文档

## 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         # 项目入口说明
```
