✨ 新增功能设计文档: - M2基础用户系统数据库设计(12个核心表,RBAC权限模型) - M2基础用户系统接口设计(41个API接口,含排序功能) - 完整的项目需求文档和开发计划 📚 核心文档结构: - 数据库设计:支持树形结构、软删除、审计日志的完整用户权限体系 - 接口设计:包含认证、用户管理、角色权限、组织架构、字典标签等9大模块 - 排序功能:新增7个排序接口,支持拖拽和批量操作 - 项目规划:从MVP到完整生态的4阶段开发计划 🔧 技术栈确定: - 后端:Elysia + Bun.js + MySQL + Redis + Elasticsearch - 前端:Vue.js/React + TypeScript - 部署:Docker + Docker Compose - 测试:Vitest + 完整测试规范 📋 设计亮点: - 无外键约束设计,应用层维护数据完整性 - 树形结构支持(path、level字段优化查询) - 完整的权限继承机制和权限快照 - 支持root超级管理员和多级角色体系 - 标签系统和智能推荐功能 - 统一的响应格式和错误码规范 🎯 覆盖功能: - 用户认证与管理(注册、登录、权限控制) - RBAC角色权限体系(树形角色、权限继承) - 组织架构管理(多级组织、人员分配) - 数据字典与标签系统 - 完整的排序和数据导入导出功能 📈 文档规模: - 数据库设计:38KB,922行 - 接口设计:55KB,3024行 - 总计:约100KB的详细技术文档 🔄 配套更新: - 更新Elysia后端开发规范 - 完善健康检查控制器 - 统一项目代码规范和注释规范
121 lines
7.1 KiB
Markdown
121 lines
7.1 KiB
Markdown
# 星撰个人综合平台 - 详细开发计划 (按功能模块划分)
|
||
|
||
---
|
||
|
||
## 1. 引言
|
||
|
||
### 1.1. 文档目的
|
||
本文档基于《产品需求文档 (PRD)》和《概要设计》,旨在将项目需求拆分为具体、可执行的开发任务,并将其组织成一个以核心功能模块为导向、分阶段的开发计划。本文档是项目执行阶段的核心路线图。
|
||
|
||
### 1.2. 计划结构
|
||
本计划遵循迭代式增量开发模型,将整个项目划分为多个主要阶段。**此版本已根据 `main.md` 的功能列表进行重组**,每个阶段聚焦于一个完整的功能模块。
|
||
|
||
---
|
||
|
||
## 阶段一: 项目初始化与基础设施
|
||
**目标**: 搭建项目骨架,配置开发环境和规范,建立 CI/CD 基础流程。这是后续所有开发工作的基础。
|
||
- [ ] **1.1. 项目脚手架**: 初始化 Elysia + Bun + TypeScript 项目,配置 `tsconfig.json` 和路径别名。
|
||
- [ ] **1.2. 代码规范**: 配置 ESLint 和 Prettier,确保代码风格和质量一致。
|
||
- [ ] **1.3. 配置文件管理**: 建立 `src/config` 目录,管理数据库、JWT、日志等配置,支持环境变量。
|
||
- [ ] **1.4. 数据库连接**: 编写并测试 MySQL 和 Redis 的连接模块。
|
||
- [ ] **1.5. 核心插件**: 实现全局错误处理、结构化日志 (`pino`) 和 Swagger API 文档插件。
|
||
- [ ] **1.6. 容器化**: 编写 `Dockerfile` 和 `docker-compose.yml`,实现开发环境一键启动。
|
||
- [ ] **1.7. CI/CD 基础**: 搭建基础的 GitHub Actions 工作流,实现提交代码时自动运行 lint 和测试。
|
||
|
||
---
|
||
|
||
## 阶段二: 基础用户系统
|
||
**目标**: 实现一个完整的、支持RBAC的用户中心,包含用户、角色、权限、组织和字典等核心功能。
|
||
- [ ] **2.1. 数据库设计**: 设计并创建 `users`, `roles`, `permissions`, `organizations`, `dictionaries` 及相关联的表。
|
||
- [ ] **2.2. 用户认证 API**:
|
||
- [ ] `POST /api/v1/auth/register`: 实现用户注册(含数据校验、密码哈希)。
|
||
- [ ] `POST /api/v1/auth/login`: 实现用户登录,成功后返回 JWT。
|
||
- [ ] `GET /api/v1/users/me`: 创建受保护路由,获取当前登录用户信息。
|
||
- [ ] **2.3. JWT与权限中间件**:
|
||
- [ ] 实现 JWT 校验中间件。
|
||
- [ ] 实现一个基础的 RBAC 权限校验中间件。
|
||
- [ ] **2.4. 字典管理 CRUD API**: 实现对数据字典类型和条目的增删改查。
|
||
- [ ] **2.5. 角色管理 CRUD API**: 实现对角色的增删改查及权限分配。
|
||
- [ ] **2.6. 组织架构 CRUD API**: 实现树形组织架构的增删改查。
|
||
- [ ] **2.7. 用户管理 CRUD API**: 实现后台对用户的增删改查和角色分配。
|
||
|
||
---
|
||
|
||
## 阶段三: 笔记与博客系统
|
||
**目标**: 构建平台的内容核心,支持从私有笔记到公开博客的完整流程,并集成搜索和社交功能。
|
||
- [ ] **3.1. 数据库设计**: 设计 `notes`, `posts`, `tags`, `categories`, `comments` 及相关关联表。
|
||
- [ ] **3.2. 笔记核心 API**:
|
||
- [ ] 实现笔记的 CRUD (创建/读取/更新/删除)。
|
||
- [ ] `GET /api/v1/notes`: 获取用户的笔记树形结构列表。
|
||
- [ ] 实现笔记的标签管理功能。
|
||
- [ ] **3.3. 博客发布流程 API**:
|
||
- [ ] `POST /api/v1/notes/:id/publish`: 从笔记一键发布为博客。
|
||
- [ ] 实现博客的 CRUD,包括分类管理。
|
||
- [ ] **3.4. 公开访问 API**:
|
||
- [ ] `GET /api/v1/public/posts`: (公开) 获取博客列表(分页、分类、标签筛选)。
|
||
- [ ] `GET /api/v1/public/posts/:slug`: (公开) 获取单篇博客内容。
|
||
- [ ] **3.5. 互动功能 API**:
|
||
- [ ] 实现博客的点赞、收藏功能。
|
||
- [ ] 实现层级评论的发表和查看功能。
|
||
- [ ] **3.6. 搜索引擎集成**:
|
||
- [ ] 配置 Elasticsearch 服务。
|
||
- [ ] 编写服务将 `posts` 数据索引到 ES。
|
||
- [ ] `GET /api/v1/public/search`: 实现基于 ES 的博客全文搜索 API。
|
||
|
||
---
|
||
|
||
## 阶段四: 个人空间
|
||
**目标**: 开发一个用于记录和分享个人生活点滴的模块。
|
||
- [ ] **4.1. 数据库设计**: 设计 `life_logs` 表,支持文本、图片/视频链接、位置、心情等。
|
||
- [ ] **4.2. 生活日志 CRUD API**: 实现生活日志的增删改查。
|
||
- [ ] **4.3. 时间线 API**: `GET /api/v1/space/timeline` 按时间线获取日志列表。
|
||
- [ ] **4.4. 隐私控制**: 为日志增加隐私设置(公开/私密/好友可见)。
|
||
|
||
---
|
||
|
||
## 阶段五: 阅读系统
|
||
**目标**: 构建个人电子书库,支持在线阅读、批注和智能解读。
|
||
- [ ] **5.1. 数据库设计**: 设计 `ebooks`, `annotations` (批注) 表。
|
||
- [ ] **5.2. 电子书 API**: 实现电子书文件的上传、元数据解析和列表管理。
|
||
- [ ] **5.3. 阅读功能 API**: 实现阅读时添加/查看批注、记录和同步阅读进度的功能。
|
||
- [ ] **5.4. (选做) AI 解读 API**: `POST /api/v1/ebooks/:id/interpret` 对书籍内容进行摘要或问答。
|
||
|
||
---
|
||
|
||
## 阶段六: 综合工具集
|
||
**目标**: 集成一系列实用工具,提升平台的附加价值和用户粘性。
|
||
- [ ] **6.1. 密码与书签管理**:
|
||
- [ ] 数据库设计 `passwords`, `bookmarks` 表,关键字段加密。
|
||
- [ ] 实现密码管理器的安全 CRUD API。
|
||
- [ ] 实现书签管理器的 CRUD API。
|
||
- [ ] **6.2. 文件管理系统**:
|
||
- [ ] 数据库设计 `files` 表,存储文件元数据。
|
||
- [ ] 封装一个支持本地/OSS的对象存储服务。
|
||
- [ ] 实现文件的上传、下载、删除、重命名和目录管理 API。
|
||
- [ ] **6.3. 第三方平台同步**:
|
||
- [ ] 设计同步任务管理模块和第三方平台适配器。
|
||
- [ ] 实现 Bilibili 收藏夹同步适配器。
|
||
- [ ] 实现 QQ音乐/网易云音乐 歌单同步适配器。
|
||
- [ ] **6.4. 信息聚合工具**:
|
||
- [ ] 实现热点新闻捕获和聚合的后台任务。
|
||
- [ ] `POST /api/v1/tools/web-to-pdf`: 实现网页离线存储为 PDF 的 API。
|
||
|
||
---
|
||
|
||
## 阶段七: 高级功能与生态完善
|
||
**目标**: 引入AI、实时通知等高级功能,并通过跨平台应用完善生态。最后对系统进行加固和优化,确保长期稳定。
|
||
- [ ] **7.1. AI 功能深度集成**:
|
||
- [ ] `POST /api/v1/ai/summary`: 对给定文本生成摘要。
|
||
- [ ] `POST /api/v1/ai/polish`: 对给定文本进行润色。
|
||
- [ ] (高级) 探索将笔记向量化,实现基于个人知识库的智能问答。
|
||
- [ ] **7.2. 高级功能与优化**:
|
||
- [ ] 使用 WebSocket 实现评论、点赞等事件的实时通知。
|
||
- [ ] 开发基础的网站访问统计和内容分析功能。
|
||
- [ ] 设计并实现基于 OAuth 2.0 的开放 API 体系。
|
||
- [ ] **7.3. 跨平台生态**:
|
||
- [ ] (前端) 将 Web 应用打包为 PWA。
|
||
- [ ] (前端) 开发用于快速保存书签和填充密码的浏览器插件。
|
||
- [ ] **7.4. 系统加固与维护**:
|
||
- [ ] 引入 CDN 加速静态资源,分析并优化慢查询 SQL。
|
||
- [ ] 定期进行依赖项安全扫描和代码审计。
|
||
- [ ] 完善所有功能的开发者文档和用户手册。 |