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

2.8 KiB
Raw Permalink Blame History

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