实践项目开发-hbmV4V20250407-项目架构设计
项目架构设计
整体架构
采用经典的分层架构模式,将系统划分为表现层、业务逻辑层、数据访问层和数据层,各层职责明确,便于开发和维护。
层次划分
- 表现层(Presentation Layer)
- 负责与用户进行交互,接收用户请求并返回处理结果。包含前端 Web 应用和 API 接口。
- 前端采用 React 技术栈:React + TypeScript + Ant Design,社区生态丰富,组件化开发便捷,适合构建复杂单页应用。
- 后端使用 FastAPI 提供 RESTful API 接口,具备高性能、自动生成 API 文档等优势。
- 业务逻辑层(Business Logic Layer)
- 处理核心业务逻辑,如用户管理、游戏规则、AI 故事生成等。
- 调用数据访问层的接口进行数据操作,保证业务规则的一致性和完整性。
- 数据访问层(Data Access Layer)
- 负责与数据库进行交互,执行数据的增删改查操作。
- 封装数据库操作细节,为业务逻辑层提供统一的数据访问接口。
- 数据层(Data Layer)
- 存储项目所需的数据,采用 MySQL 作为数据库存储所有数据,其中结构化数据用常规表结构存储,非结构化数据(如故事内容、用户评论等)以 JSON 格式存储;利用 Redis 作为缓存系统,提升系统响应速度。
技术栈
- 前端:React + taro 实现跨平台支持
- 后端:Python + FastAPI、LangChain + Ollama(用于 AI 功能)
- 数据库:MySQL
- 缓存:Redis
- 部署:Docker + Nginx
目录结构
结合最新目录结构,项目组织如下:
requirements.txt # Python依赖
.env.example # 环境变量模板
backend/ # 后端服务代码
├── apps/ # 应用模块
├── ai/ # AI功能实现
├── game/ # 游戏核心逻辑
└── utils/ # 通用工具类
database/ # 数据库相关
├── mysql/ # MySQL初始化脚本
└── sqlite/ # SQLite数据库文件
docker/ # 容器化配置
└── docker-compose.yml # 服务编排
docs/ # 项目文档
├── 参考/ # 参考资料
├── 学习笔记/ # 学习笔记文档
└── 官方文档下载/ # 官方文档
conf/ # 配置中心
├── nginx/ # 反向代理配置
└── redis/ # 缓存配置
frontend/ # 前端代码
├── dist # 编译后的文件目录
├── node_modules # 项目依赖模块
├── src # 项目源代码
│ ├── pages # 页面文件
│ │ └── index # 示例页面
│ │ ├── index.js # 页面逻辑文件
│ │ └── index.scss # 页面样式文件
│ ├── app.js # 应用入口文件
│ ├── app.scss # 应用全局样式文件
│ └── config # 项目配置文件
│ ├── dev.js # 开发环境配置
│ ├── prod.js # 生产环境配置
│ └── index.js # 配置入口文件
├── package.json # 项目依赖和脚本配置