一个给自己用的待办应用,主打 分组清晰、拖拽顺手、界面直接、部署简单。
后端用 Go + Gin + SQLite,前端用 React + Vite + Mantine,构建后前端资源可直接内嵌进后端,单文件部署更省心。 🚀

planned / doing / done这个项目当前包含这些核心能力:
复制配置文件:
cp config.example.json config.json
至少要改这两项:
auth.passwordjwt.secretcd web
pnpm install
cd ..
make build-frontend go run main.go
默认访问地址:
http://localhost:8080
后端:
go run main.go
前端:
cd web && pnpm dev
如果你这样开发,建议把 config.json 里的 cors.allow_origin 设成:
{
"cors": {
"allow_origin": "http://localhost:5173"
}
}
make build
生成的可执行文件:
./self-todo
项目支持 Docker Compose 部署,适合直接丢到服务器上跑。 🐋
cp config.docker.example.json config.docker.json
docker compose up -d --build
默认访问:
http://localhost:8080
更完整的部署说明见 DEPLOY.md。
如果配置了 Cloudflare R2,图片上传流程是:
这意味着除了应用本身的 CORS,你还需要给 R2 Bucket 单独配置 CORS。
具体配置方式见 DEPLOY.md。
. ├── main.go # Go 服务入口 ├── internal/ # 后端业务逻辑 │ ├── config/ # 配置读取 │ ├── db/ # 数据库初始化 │ ├── handler/ # API 处理器 │ ├── middleware/ # 鉴权中间件 │ ├── model/ # 数据模型 │ └── webui/ # 前端静态资源挂载/嵌入 ├── web/ # React 前端 ├── config.example.json # 本地配置示例 ├── config.docker.example.json └── docker-compose.yml
本项目采用 MIT License。
你可以免费使用、修改、分发和商用,但需保留许可证声明。