一个简洁的积分管理网站,用于记录和统计用户完成事件获得的积分。
- 查看可完成的事件列表
- 提交事件完成记录
- 查看个人积分总览
- 查看待审核和已确认的记录
- 用户管理: 添加/删除用户、修改密码
- 事件管理: 添加/编辑/删除事件、设置积分值
- 记录审核: 批准/拒绝用户提交、批量操作、按用户批量确认
- 积分修改: 直接为用户添加积分、修改已有记录、撤销记录
- 统计图表: 用户积分对比、事件分布饼图
- 时间统计: 今日/本周/本月/季度/半年/年度积分
- 系统设置: 开关注册功能、开关审核功能
- 操作日志: 记录所有管理员操作
- 后端: Python Flask
- 数据库: SQLite
- 前端: TailwindCSS + Chart.js
- 部署: Nginx + Gunicorn
# 安装依赖
pip install -r requirements.txt
# 运行
python app.py默认管理员账号: admin / admin123
-
上传项目文件到服务器
-
运行部署脚本:
chmod +x deploy.sh
sudo ./deploy.sh your-domain.com- (可选) 配置 HTTPS:
sudo apt install certbot python3-certbot-nginx
sudo certbot --nginx -d your-domain.com修改 Nginx 配置:
sudo nano /etc/nginx/sites-available/points-system
server {
listen 80;
server_name _; # 改为下划线,匹配所有请求重启 Nginx:
sudo nginx -t
sudo systemctl restart nginx├── app.py # 主应用
├── config.py # 配置文件
├── models.py # 数据库模型
├── requirements.txt # Python 依赖
├── deploy.sh # 部署脚本
├── .env.example # 环境变量示例
└── templates/ # HTML 模板
├── base.html
├── login.html
├── register.html
├── user_dashboard.html
├── admin_dashboard.html
├── admin_users.html
├── admin_events.html
├── admin_records.html
├── admin_user_detail.html
├── admin_settings.html
└── admin_logs.html
环境变量 (.env 文件):
| 变量 | 说明 | 默认值 |
|---|---|---|
| SECRET_KEY | Flask 密钥 | 随机生成 |
| DATABASE_URL | 数据库连接 | sqlite:///points.db |
| ALLOW_REGISTRATION | 开放注册 | false |
| REQUIRE_APPROVAL | 需要审核 | true |
- 管理员登录后添加事件(设置名称和积分值)
- 管理员添加用户或开放注册
- 用户登录后选择完成的事件提交
- 管理员审核用户提交的记录
- 在用户详情页查看统计数据和图表
- 首次部署后立即修改管理员密码
- 生产环境使用强随机 SECRET_KEY
- 配置 HTTPS
- 定期备份数据库文件