cursor-init/prd/星撰-开发计划.md
expressgy 2518986557 feat(docs): 完成星撰平台M2基础用户系统完整设计文档体系
 新增功能设计文档:
- 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后端开发规范
- 完善健康检查控制器
- 统一项目代码规范和注释规范
2025-06-29 03:11:35 +08:00

121 lines
7.1 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.

# 星撰个人综合平台 - 详细开发计划 (按功能模块划分)
---
## 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。
- [ ] 定期进行依赖项安全扫描和代码审计。
- [ ] 完善所有功能的开发者文档和用户手册。