mengstack-website/guide/project-structure.md
SoftUnis ecb29e0aa4 初始化 MengStack 官方网站仓库
包含 VitePress 文档站完整源码及全新自定义首页设计:
- 自定义首页组件 (Home.vue):Hero + 终端动效 + 核心能力 + 架构展示 + 快速开始 + CTA
- 自定义 Layout.vue:首页/文档页布局切换
- 金铜色品牌主题样式
- 完整文档页面(指南、API、更新日志、演示、社区)
- SEO 配置(sitemap、robots、meta 标签)
2026-10-02 23:37:25 +08:00

76 lines
2.8 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.

---
title: 项目结构说明 | MengStack目录规范详解 - MengStack官方文档
---
# 项目结构
```
mengstack/
├── cmd/
│ └── server/
│ └── main.go # 应用入口,Swagger 注解
├── configs/
│ └── config.yaml # 默认配置文件
├── docs/ # Swagger 自动生成文档
│ ├── docs.go
│ ├── swagger.json
│ └── swagger.yaml
├── internal/
│ ├── kernel/ # 第一层:零业务语义基础组件
│ │ └── response/ # 统一响应格式
│ ├── app/ # 第二层:应用基础设施
│ │ ├── cache/ # Redis 缓存模块
│ │ ├── database/ # PostgreSQL 数据库模块
│ │ ├── health/ # 健康检查
│ │ ├── middleware/ # 全局中间件(CORS、请求ID、日志)
│ │ └── app.go # fx 容器组装
│ ├── config/ # 配置加载(Viper)
│ ├── logger/ # 日志初始化(Zap)
│ └── modules/ # 第三层:业务模块
│ └── auth/ # 认证模块
│ ├── domain/ # 领域层:实体、值对象、接口定义
│ ├── application/ # 应用层:业务逻辑编排
│ ├── infrastructure/ # 基础设施层:GORM/Redis 实现
│ └── interfaces/ # 接口层:HTTP Handler + 路由
├── migrations/ # 数据库迁移文件
├── test/ # 集成测试
├── docker-compose.yml # Docker 编排
├── Makefile # 构建命令
├── AGENTS.md # AI 辅助开发指南
└── go.mod # Go 模块定义
```
## 目录职责
### `cmd/server/`
应用入口,仅负责组装和启动。包含 Swagger 全局注解。
### `internal/kernel/`
**零业务语义**的基础组件。不包含任何业务概念,只提供通用工具:
- `response/` — 统一响应格式 `{code, message, data, trace_id}`
- 后续可扩展:`paginator/`、`errors/` 等
### `internal/app/`
应用基础设施,连接 kernel 和外部世界:
- `database/` — GORM + PostgreSQL 初始化和生命周期
- `cache/` — Redis 客户端初始化和生命周期
- `middleware/` — 请求 ID、请求日志、CORS
- `health/` — 健康检查端点
### `internal/modules/`
业务模块目录,每个模块独立自包含,遵循四层模式。
### `configs/`
默认配置文件,运行时可通过环境变量覆盖。
### `migrations/`
数据库迁移文件,使用 golang-migrate 管理。