This commit is contained in:
2026-01-22 22:42:07 +08:00
commit f31340ab93
3 changed files with 288 additions and 0 deletions

107
docs/overview.md Normal file
View File

@@ -0,0 +1,107 @@
# Todolist 全功能应用计划
## 目标与范围
构建一个“复杂但可靠”的 Todo 应用,覆盖前后端、鉴权、权限、数据一致性、性能与观测等完整链路,满足生产级实践。
- 支持个人/团队任务管理
- 分布式微服务架构Kubernetes 部署
- 网页/小程序/移动端 多端适配
## 功能规划
### 1. 用户与权限
- 用户注册/登录/退出
- JWT + Refresh Token 机制
- 角色权限(普通用户/管理员)
- 多租户可选(组织/团队)
### 2. 任务管理(核心)
- 任务 CRUD标题/描述/截止时间/优先级/标签/附件)
- 任务状态流转(待办/进行中/完成/归档)
- 子任务、多级任务
- 任务排序、拖拽
- 批量操作
### 3. 数据同步与协作
- 实时同步WebSocket/Server-Sent Events
- 冲突处理与版本号控制
- 离线缓存与恢复
### 4. 通知与提醒
- 站内通知、邮件通知、Webhook
- 定时提醒cron/队列驱动)
### 5. 搜索与分析
- 全文检索
- 任务完成度、统计报表
- 活跃度/时间分布
---
## 技术架构
### 服务划分(微服务)
- 网关/API Gateway统一入口、路由、鉴权前置、限流
- 认证服务(登录、注册、令牌、会话)
- 用户服务(用户资料、偏好)
- 个人任务服务(个人任务、标签、提醒)
- 团队服务(团队/组织、成员、角色)
- 团队任务服务(团队任务、协作、权限)
- 通知服务(站内/邮件/Webhook
- 搜索服务(索引与查询)
- 统计分析服务(报表、指标)
- 通信协议:统一使用 HTTP RESTful
### 前端
- 框架Vue 3 + Vite + TypeScript
- 状态管理Pinia
- UI自定义设计系统 + Tailwind / Radix
- 路由Vue Router
- 数据请求TanStack QueryVue
### 后端
- 语言Go
- Web 框架Gin
- DBPostgreSQL
- ORM/数据访问GORM + sqlc学习对比混合使用
- 缓存Redis
- 搜索Elastic
- 消息队列Kafka
### 中间件/基础设施
- 鉴权中间件JWT/Session
- 日志与监控Zap + Prometheus + Grafana
- 链路追踪OpenTelemetry
- 配置管理Viper
- 容器化与编排Docker + Kubernetes
- 服务发现与配置K8s Service/ConfigMap/Secret
---
## 分阶段实施计划
### 阶段 1核心 MVP
- 用户注册/登录
- 任务 CRUD
- 基础列表/详情页面
- 基础权限控制
### 阶段 2增强功能
- 子任务、多标签
- 搜索功能
- 任务统计报表
### 阶段 3协作与实时
- WebSocket 实时同步
- 冲突处理机制
- 离线缓存支持
### 阶段 4运维与优化
- 监控报警
- CI/CD 自动化
- 性能优化与安全审计
- 微服务拆分与 K8s 部署(服务编排、网关、灰度发布)
---
## 测试与交付
- 单元测试、集成测试
- API 文档OpenAPI
- 端到端测试Cypress/Playwright