Files
memora/PROJECT_STRUCTURE.md

3.2 KiB
Raw Blame History

Memora 前后端项目结构(重设计)

目标:在现有 memora-api / memora-web 基础上,采用更清晰的领域分层与模块化结构,便于持续开发。

1. 根目录结构

memora/
├── README.md
├── REQUIREMENTS.md            # 需求文档(本次新增)
├── PROJECT_STRUCTURE.md       # 项目结构文档(本次新增)
├── docker-compose.yml
├── memora-api/                # 后端服务Go + Gin
├── memora-web/                # 前端应用Vue3 + Vite
└── memora-engine/             # 记忆引擎(可逐步独立)

2. 后端结构memora-api

memora-api/
├── cmd/
│   └── server/                # 程序入口(建议逐步迁移 main
├── internal/
│   ├── app/                   # 应用启动编排
│   ├── bootstrap/             # 配置、数据库、中间件初始化
│   ├── domain/                # 领域模型与领域服务(建议新增)
│   ├── repository/            # 数据访问抽象(建议新增)
│   ├── service/               # 业务服务
│   ├── handler/               # HTTP Handler
│   ├── router/                # 路由注册
│   ├── middleware/            # 中间件
│   ├── request/               # 请求 DTO
│   ├── response/              # 响应 DTO
│   └── model/                 # 数据库模型
├── sql/
├── audio/
└── config*.yaml

后端分层规则

  • Handler 只做参数校验和调用 service
  • Service 负责业务流程编排
  • Repository 负责数据库读写GORM
  • Domain 放核心规则SRS 计算、复习策略)

3. 前端结构memora-web

memora-web/
├── src/
│   ├── app/                   # 应用启动、全局注入
│   ├── router/                # 路由
│   ├── stores/                # Pinia 状态管理
│   ├── services/              # API 请求封装
│   ├── modules/               # 业务模块(建议新增)
│   │   ├── auth/
│   │   ├── words/
│   │   ├── study/
│   │   ├── review/
│   │   └── stats/
│   ├── views/                 # 页面视图
│   ├── components/            # 通用组件
│   ├── composables/           # 组合式逻辑
│   ├── utils/
│   ├── styles/
│   └── assets/
└── public/

前端模块化规则

  • modules/* 聚合业务API、store、types、hooks
  • views 负责页面组合,不写重业务逻辑
  • 通用组件与业务组件分离

4. 开发顺序建议(不断完善)

  1. 认证闭环:登录、鉴权拦截、会话保持
  2. 词库模块:列表、详情、搜索、标签过滤
  3. 学习模块:学习会话 + 答题提交
  4. 复习模块SRS 调度 + 每日任务
  5. 统计模块:趋势图 + 连续学习天数
  6. 稳定性:日志、错误码、单测、性能优化

5. 本次交付

  • 已在根目录新增:
    • REQUIREMENTS.md
    • PROJECT_STRUCTURE.md
  • 后续将按本文档持续推进实现与代码重构。