51 lines
1.1 KiB
Markdown
51 lines
1.1 KiB
Markdown
# 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
|
||
|
||
## 本地开发
|
||
|
||
```bash
|
||
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
|
||
```
|
||
|
||
## 环境变量
|
||
|
||
```bash
|
||
DODO_DATABASE_URL=postgresql+asyncpg://user:pass@host:5432/dodo
|
||
DODO_COOKIE_SECURE=false
|
||
DODO_SESSION_DAYS=30
|
||
```
|
||
|
||
## 验证
|
||
|
||
```bash
|
||
uv run pytest -q
|
||
uv run ruff check backend tests
|
||
cd frontend && pnpm run build
|
||
```
|