一个功能完整的多用户打卡系统,支持Web界面操作和多种运行模式。
- 多用户系统 - 用户注册、登录,独立的打卡记录
- 打卡功能 - 每日4次打卡,支持手动时间输入和末班打卡
- 时间计算 - 自动计算各时段间隔时间和当前班次时长
- 数据管理 - 打卡记录删除、CSV导出、历史记录查看
- 多语言支持 - 中文、英文、西班牙文切换
- 移动端适配 - 响应式设计,适配各种屏幕尺寸
- 离线功能 - 支持离线数据录入和自动同步
访问部署的应用: https://punch-time.onrender.com
注意: 免费套餐在15分钟无活动后会休眠,首次访问可能需要等待30-50秒唤醒服务。
# 克隆项目
git clone https://github.com/yourusername/punch-timer.git
cd punch-timer
# 安装依赖
pip install -r requirements.txt
# 运行应用
python app.py- Fork本仓库
- 在 Render 创建新的Web Service
- 连接你的GitHub仓库
- Render会自动检测配置并部署
# 使用Docker Compose
docker-compose up -d
# 或使用Docker
docker build -t punch-timer .
docker run -d -p 7777:7777 punch-timer支持部署到:
- Heroku
- Railway
- AWS EC2
- 阿里云ECS
- 腾讯云服务器
详见 云端部署指南
- 后端: Flask (Python 3.11)
- 前端: HTML, CSS, JavaScript
- 数据存储: JSON文件 (可扩展到数据库)
- 生产服务器: Waitress WSGI
复制 .env.example 为 .env 并修改配置:
SECRET_KEY=your-random-secret-key
FLASK_DEBUG=False
PORT=7777MIT License
欢迎提交Issue和Pull Request!
如有问题,请提交Issue或联系维护者。
注意: 本项目包含Windows特定的服务配置文件(.bat, .ps1),这些文件仅用于Windows环境。云端部署时会使用跨平台的配置(Docker, Procfile等)。