Skip to content

zhanglu29/flags

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Flag 追踪器

一个帮助你追踪和管理个人目标(Flag)的 Web 应用。支持设置目标、记录进度、查看统计数据等功能。

功能特点

  • 🎯 设置个人目标和完成期限
  • 📊 实时进度追踪和统计
  • 📝 记录每日完成情况
  • 📅 自动计算每日所需完成量
  • 🔐 用户账户管理
  • 💾 数据持久化存储
  • 🌐 响应式界面设计
  • 🎨 现代化 UI/UX

技术栈

  • 后端:Go + Gin + GORM
  • 前端:HTML + CSS + JavaScript
  • 数据库:SQLite
  • 容器化:Docker
  • 构建工具:Make

快速开始

前置要求

  • Docker
  • Make

安装运行

  1. 创建数据卷:
make create-volume
  1. 构建并运行容器:
make docker-build
make docker-run
  1. 访问应用: 打开浏览器访问 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/           # 数据模型

主要功能

1. 用户管理

  • 用户注册:支持新用户注册
  • 用户登录:安全的登录系统
  • 会话管理:保持用户登录状态

2. Flag 管理

  • 创建 Flag:设置目标名称、数量和期限
  • 进度追踪:记录每日完成情况
  • 删除 Flag:移除不需要的目标
  • 查看统计:实时显示完成进度

3. 数据统计

  • 进度条显示:直观展示完成比例
  • 每日任务量:自动计算所需完成数量
  • 历史记录:查看过往完成情况
  • 备注功能:添加完成记录的备注信息

4. 数据安全

  • 数据持久化:使用 Docker volume 存储
  • 自动备份:支持数据备份和恢复
  • 安全存储:密码加密存储
  • 容器保护:使用非 root 用户运行

使用说明

  1. 注册/登录

    • 首次使用需要注册账号
    • 使用用户名和密码登录
    • 登录状态会保持到退出
  2. 创建 Flag

    • 点击右下角 "+" 按钮
    • 填写 Flag 名称
    • 设置总数量和期限
    • 点击添加完成创建
  3. 记录进度

    • 在 Flag 卡片上点击"记录今日完成"
    • 输入完成数量
    • 可选添加备注信息
    • 提交记录
  4. 查看统计

    • 主页显示所有 Flag
    • 查看进度条和统计数据
    • 浏览历史完成记录
    • 计算每日需完成量

更新日志

v1.0.0

  • ✨ 初始版本发布
  • 🚀 完整的 Flag 管理功能
  • 🔒 用户系统实现
  • 📊 数据统计和展示
  • 🐳 Docker 支持
  • 💾 数据持久化

About

记录flag小应用

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published