081cddaf54b4d525b7983ae2b91b0233bb143f2d
ci / docker (push) Successful in 3m28s
- Drop redundant <h2> page titles in 习惯 / 倒数日 / 设置与数据
- Wrap today view in three <section class='today-block'> sub-blocks:
今日任务 / 今日习惯 / 倒数日提醒 (7 天内 countdowns)
- Reduce task row noise: priority becomes a colored dot, priority
select and priority-text removed; delete action is desktop-only
- Hide task row inline actions and pager when only a single page
- Add a row-level More menu on sidebar list / folder rows (rename,
archive, delete) and a 'archived' toggle that appears only when
archived lists exist
- Add 'archived-heading' / 'page-subtitle' / 'today-block' /
'priority-dot' / 'task-delete{display:none}' / 'row-menu' styles
and a mobile 'min-height:44px' hit area for sidebar row actions
- Refresh unit tests in src/style.test.ts to cover the cleanup
dodo
一个自托管的任务与习惯管理工具,目标是做一个温暖、紧凑、可自己掌控数据的 TickTick-like 应用。
第一阶段能力
- 首次初始化管理员
- 用户名密码登录,Cookie Session
- 文件夹、清单、任务基础 CRUD
- 收集箱系统清单
- 习惯打卡与倒数纪念日
- 倒数日支持倒数日、纪念日、生日,以及每周/月/年重复
- Vue 3 + PWA 应用外壳
- 手账生活感浅色 UI
技术栈
- Frontend: Vue 3 + TypeScript + Vite + Tailwind CSS
- Backend: FastAPI + SQLAlchemy 2 Async
- 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
环境变量
DODO_DATABASE_URL=postgresql+asyncpg://user:pass@host:5432/dodo
DODO_COOKIE_SECURE=false
DODO_SESSION_DAYS=30
验证
uv run pytest -q
uv run ruff check backend tests
cd frontend && pnpm run build
Languages
TypeScript
42%
Python
38.8%
Vue
18%
HTML
0.7%
JavaScript
0.4%