一个帮助你追踪和管理个人目标(Flag)的 Web 应用。支持设置目标、记录进度、查看统计数据等功能。
- 🎯 设置个人目标和完成期限
- 📊 实时进度追踪和统计
- 📝 记录每日完成情况
- 📅 自动计算每日所需完成量
- 🔐 用户账户管理
- 💾 数据持久化存储
- 🌐 响应式界面设计
- 🎨 现代化 UI/UX
- 后端:Go + Gin + GORM
- 前端:HTML + CSS + JavaScript
- 数据库:SQLite
- 容器化:Docker
- 构建工具:Make
- Docker
- Make
- 创建数据卷:
make create-volume
- 构建并运行容器:
make docker-build
make docker-run
- 访问应用: 打开浏览器访问 http://localhost:8080
make backup
备份文件将保存在 backups
目录下
make restore BACKUP=backups/flags_20240101_120000.tar.gz
make docker-logs
make docker-stop
make docker-restart
# 构建特定平台
make docker-build-platform PLATFORM=linux/amd64
# 构建所有支持的平台
make docker-buildx
flag-tracker/
├── Dockerfile # Docker 构建文件
├── Makefile # 构建和管理脚本
├── README.md # 项目文档
├── main.go # 应用入口
├── go.mod # Go 模块定义
├── go.sum # Go 依赖版本锁定
├── static/ # 静态资源
│ ├── css/ # 样式文件
│ └── js/ # JavaScript 文件
├── templates/ # HTML 模板
│ ├── index.html # 主页
│ ├── add.html # 添加目标页
│ └── login.html # 登录页
└── internal/ # 内部包
├── database/ # 数据库相关
├── handlers/ # 请求处理器
└── models/ # 数据模型
- 用户注册:支持新用户注册
- 用户登录:安全的登录系统
- 会话管理:保持用户登录状态
- 创建 Flag:设置目标名称、数量和期限
- 进度追踪:记录每日完成情况
- 删除 Flag:移除不需要的目标
- 查看统计:实时显示完成进度
- 进度条显示:直观展示完成比例
- 每日任务量:自动计算所需完成数量
- 历史记录:查看过往完成情况
- 备注功能:添加完成记录的备注信息
- 数据持久化:使用 Docker volume 存储
- 自动备份:支持数据备份和恢复
- 安全存储:密码加密存储
- 容器保护:使用非 root 用户运行
-
注册/登录
- 首次使用需要注册账号
- 使用用户名和密码登录
- 登录状态会保持到退出
-
创建 Flag
- 点击右下角 "+" 按钮
- 填写 Flag 名称
- 设置总数量和期限
- 点击添加完成创建
-
记录进度
- 在 Flag 卡片上点击"记录今日完成"
- 输入完成数量
- 可选添加备注信息
- 提交记录
-
查看统计
- 主页显示所有 Flag
- 查看进度条和统计数据
- 浏览历史完成记录
- 计算每日需完成量
- ✨ 初始版本发布
- 🚀 完整的 Flag 管理功能
- 🔒 用户系统实现
- 📊 数据统计和展示
- 🐳 Docker 支持
- 💾 数据持久化