- 目录重构: app/ -> frontend/,与 backend/ 并列 - 数据库: 默认 SQLite(零配置),修复 DSN() bug - run.sh: 一键启动前后端,支持 start/stop/restart/status - Makefile: install/dev/build/lint/clean 快捷命令 - vite.config.ts: 配置 dev server 端口 5173 + API 代理到 8080 - config.yaml: SQLite 默认配置,开箱即用 - docs/: 完整开发文档(项目结构/API/数据库/规范/部署) - 修复: GORM foreign key 关联声明 - 修复: go get gorm.io/driver/sqlite 依赖
137 lines
5.9 KiB
Markdown
137 lines
5.9 KiB
Markdown
# 项目结构
|
|
|
|
## 整体结构
|
|
|
|
```
|
|
aiops/
|
|
├── frontend/ # 前端 (React 18 + TypeScript + Vite)
|
|
│ ├── src/
|
|
│ │ ├── components/ # 业务组件
|
|
│ │ │ ├── aiops/ # AI 智能运维组件
|
|
│ │ │ ├── approval/ # 审批流程
|
|
│ │ │ ├── audit/ # SQL 审计
|
|
│ │ │ ├── automation/ # 自动化运维
|
|
│ │ │ ├── cloud/ # 云平台管理
|
|
│ │ │ ├── dashboard/ # 仪表盘
|
|
│ │ │ ├── deploy/ # CI/CD 部署
|
|
│ │ │ ├── k8s/ # K8s 集群管理
|
|
│ │ │ ├── layout/ # 布局组件
|
|
│ │ │ ├── monitor/ # 监控告警
|
|
│ │ │ ├── navigation/ # 导航管理
|
|
│ │ │ ├── server/ # 服务器管理
|
|
│ │ │ ├── system/ # 系统管理
|
|
│ │ │ └── ui/ # shadcn/ui 基础组件
|
|
│ │ ├── hooks/ # 自定义 Hooks
|
|
│ │ ├── lib/ # 工具库
|
|
│ │ ├── mocks/ # Mock 数据
|
|
│ │ ├── services/ # API 封装
|
|
│ │ ├── store/ # Zustand 状态管理
|
|
│ │ ├── types/ # TypeScript 类型定义
|
|
│ │ ├── App.css # 全局样式
|
|
│ │ ├── App.tsx # 根组件
|
|
│ │ ├── index.css # 基础样式
|
|
│ │ └── main.tsx # 应用入口
|
|
│ ├── package.json
|
|
│ ├── vite.config.ts # Vite 配置(含 API 代理)
|
|
│ ├── tailwind.config.js # Tailwind CSS 配置
|
|
│ └── tsconfig.json
|
|
│
|
|
├── backend/ # 后端 (Go + Gin + GORM)
|
|
│ ├── cmd/
|
|
│ │ └── main.go # 应用入口
|
|
│ ├── internal/
|
|
│ │ ├── api/
|
|
│ │ │ ├── handlers/ # HTTP 处理器
|
|
│ │ │ │ ├── alert.go # 告警管理
|
|
│ │ │ │ ├── approval.go # 审批流程
|
|
│ │ │ │ ├── audit.go # 审计日志
|
|
│ │ │ │ ├── automation.go # 自动化运维
|
|
│ │ │ │ ├── dashboard.go # 仪表盘
|
|
│ │ │ │ ├── k8s.go # K8s 管理
|
|
│ │ │ │ ├── navigation.go # 导航管理
|
|
│ │ │ │ ├── pipeline.go # CI/CD 流水线
|
|
│ │ │ │ ├── server.go # 服务器管理
|
|
│ │ │ │ └── user.go # 用户认证
|
|
│ │ │ ├── middleware/ # 中间件
|
|
│ │ │ │ └── auth.go # JWT 认证 + RBAC
|
|
│ │ │ └── routes/
|
|
│ │ │ └── routes.go # 路由注册
|
|
│ │ ├── config/
|
|
│ │ │ └── config.go # 配置加载 (Viper)
|
|
│ │ └── models/ # 数据模型
|
|
│ │ ├── alert.go # 告警模型
|
|
│ │ ├── approval.go # 审批模型
|
|
│ │ ├── audit.go # 审计日志模型
|
|
│ │ ├── automation.go # 自动化运维模型
|
|
│ │ ├── cicd.go # CI/CD 模型
|
|
│ │ ├── common.go # 通用模型 (Response/List/Page)
|
|
│ │ ├── k8s.go # K8s 模型
|
|
│ │ ├── navigation.go # 导航模型
|
|
│ │ ├── server.go # 服务器模型
|
|
│ │ └── user.go # 用户模型
|
|
│ ├── pkg/
|
|
│ │ ├── database/
|
|
│ │ │ └── database.go # 数据库连接 + AutoMigrate
|
|
│ │ └── logger/
|
|
│ │ └── logger.go # Zap 日志
|
|
│ ├── scripts/
|
|
│ │ ├── init.sql # 初始化 SQL
|
|
│ │ └── mock.go # Mock 数据生成
|
|
│ ├── config.yaml # 配置文件(SQLite 默认)
|
|
│ ├── go.mod # Go 模块定义
|
|
│ └── Dockerfile # Docker 构建
|
|
│
|
|
├── docs/ # 开发文档
|
|
│ ├── README.md # 文档索引
|
|
│ ├── project-structure.md # 本文件
|
|
│ ├── quick-start.md # 快速开始
|
|
│ ├── api-reference.md # API 接口
|
|
│ ├── database-schema.md # 数据库设计
|
|
│ ├── development-guide.md # 开发规范
|
|
│ ├── deployment.md # 部署指南
|
|
│ ├── ROADMAP.md # 项目路线图
|
|
│ ├── PDD_PLAN.md # 产品开发计划
|
|
│ ├── PROJECT_SUMMARY.md # 项目概述
|
|
│ └── BACKEND_SUMMARY.md # 后端摘要
|
|
│
|
|
├── run.sh # 一键启动脚本
|
|
├── Makefile # 快捷命令
|
|
├── .env.example # 环境变量模板
|
|
├── .gitignore
|
|
└── README.md
|
|
```
|
|
|
|
## 技术栈
|
|
|
|
### 前端
|
|
|
|
| 技术 | 版本 | 用途 |
|
|
|------|------|------|
|
|
| React | 18+ | 前端框架 |
|
|
| TypeScript | 5+ | 类型安全 |
|
|
| Vite | 7+ | 构建工具 |
|
|
| Tailwind CSS | 3+ | 样式框架 |
|
|
| shadcn/ui | - | UI 组件库 |
|
|
| Zustand | - | 状态管理 |
|
|
| TanStack Query | - | 数据请求 |
|
|
|
|
### 后端
|
|
|
|
| 技术 | 版本 | 用途 |
|
|
|------|------|------|
|
|
| Go | 1.21+ | 编程语言 |
|
|
| Gin | v1.10+ | Web 框架 |
|
|
| GORM | v1.25+ | ORM 框架 |
|
|
| JWT | v5 (golang-jwt) | 认证 |
|
|
| Viper | - | 配置管理 |
|
|
| Zap | - | 结构化日志 |
|
|
| SQLite/MySQL/PostgreSQL | - | 数据库 |
|
|
|
|
## 端口分配
|
|
|
|
| 服务 | 端口 | 说明 |
|
|
|------|------|------|
|
|
| 前端 (Vite dev) | 5173 | http://localhost:5173 |
|
|
| 后端 (Gin) | 8080 | http://localhost:8080 |
|
|
| 健康检查 | 8080 | http://localhost:8080/health |
|