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

3.4 KiB
Raw Permalink Blame History

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

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. 核心业务流程

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