Files
todo-infra/docs/overview.md
2026-01-22 22:42:07 +08:00

108 lines
2.8 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.
# 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