# Memora 前后端项目结构(重设计) > 目标:在现有 `memora-api` / `memora-web` 基础上,采用更清晰的领域分层与模块化结构,便于持续开发。 ## 1. 根目录结构 ```text memora/ ├── README.md ├── REQUIREMENTS.md # 需求文档(本次新增) ├── PROJECT_STRUCTURE.md # 项目结构文档(本次新增) ├── docker-compose.yml ├── memora-api/ # 后端服务(Go + Gin) ├── memora-web/ # 前端应用(Vue3 + Vite) └── memora-engine/ # 记忆引擎(可逐步独立) ``` ## 2. 后端结构(memora-api) ```text 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) ```text 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` - 后续将按本文档持续推进实现与代码重构。