Files
bboysoul 6c234d7d82
ci / gitleaks (push) Successful in 1m19s
ci / docker (push) Successful in 5m48s
feat: strengthen backup and mobile workflows
2026-09-16 21:12:52 +08:00

1.9 KiB
Raw Permalink Blame History

dodo

一个自托管、移动端友好的任务与生活管理 PWA,数据由自己掌控。

当前主要能力

  • 文件夹、收集箱与自定义清单;清单归档后保留任务归属,恢复后原样可见
  • 任务与一层子任务、优先级、Markdown 备注、日期/时间、回收站、拖拽排序
  • RFC 5545 计划重复与“完成后重复”;乐观锁避免并发覆盖
  • 今日页按逾期任务、今日任务、今日习惯分组,并提供进度与环境信息
  • 完成型/数值型习惯、日/周/月/间隔计划、暂停、历史与归档
  • 倒数日、纪念日、生日及公历/农历重复
  • Markdown 备忘录及软删除/恢复
  • 任务附件、登录设备管理与审计日志
  • 完整 ZIP v2 备份(含附件字节、manifest 与 SHA-256)及预检后合并/替换恢复
  • 兼容旧版 CSV / JSON v1 恢复

界面约定

  • 弹层统一使用 AppSheet / AppDialog,共享遮罩、焦点陷阱、Escape、背景 inert 和嵌套栈行为
  • 设置页按“数据、账户与安全、登录设备、活动、危险操作”连续分组
  • 手机底栏直接进入今天、习惯、倒数日、设置,不再使用“更多”中转
  • 新增入口是普通的圆形 Plus FAB,共用于任务、习惯、倒数日和备忘录

技术栈

  • Frontend: Vue 3 + TypeScript + Vite + Tailwind CSS
  • Backend: FastAPI + Pydantic v2 + SQLAlchemy 2 Async + Alembic
  • DB: PostgreSQL(测试使用 SQLite
  • Package: uv + pnpm

本地开发

cd /Users/bboysoul/PycharmProjects/dodo
uv sync
uv run uvicorn backend.main:app --host 0.0.0.0 --port 8781

cd frontend
pnpm install
pnpm run dev

配置项见 .env.exampleAPI 与数据合同见 docs/api.mddocs/data-model.md

验证

uv run ruff check backend tests
uv run pytest -q
cd frontend
pnpm test
pnpm build
cd ..
git diff --check