本项目旨在构建一个带完整用户体系的报名平台,适用于社区活动运营、企业培训、线下沙龙等场景
运营方发布活动,参与者注册后一键报名,管理员多角色协作管理
解决了原有活动报名系统存在三大痛点:参与者无账号,仅凭数字 ID 查报名,任何人拿到 ID 即可查看/取消他人记录;
管理员只有一个硬编码账号,无法多人协作、无权限分级;活动无封面图,用户端展示单调。
点击空白处退出提示
本项目旨在构建一个带完整用户体系的报名平台,适用于社区活动运营、企业培训、线下沙龙等场景
运营方发布活动,参与者注册后一键报名,管理员多角色协作管理
解决了原有活动报名系统存在三大痛点:参与者无账号,仅凭数字 ID 查报名,任何人拿到 ID 即可查看/取消他人记录;
管理员只有一个硬编码账号,无法多人协作、无权限分级;活动无封面图,用户端展示单调。
参与者端:
注册/登录(JWT Cookie)
浏览三级活动列表(项目→活动→场次)
一键报名(登录后自动预填信息)
查看/取消我的报名
个人中心修改信息和密码
积分获取与扣减
管理端
仪表盘统计
项目/活动/场次 CRUD(含封面图上传)
场次积分设置、活动互斥与场次互斥管理
管理员账号管理(仅超管,含启用/禁用/删除)
参与者搜索
报名记录多级筛选与分页
个人密码修改
独立完成开发及项目部署
技术栈:FastAPI + SQLAlchemy + SQLite + Jinja2,bcrypt 密码哈希 + JWT Cookie 认证,systemd 部署在腾讯云。
架构亮点:三级数据架构(Project→Activity→Session)通过增量迁移自动升级存量数据;双重互斥引擎在报名时校验活动互斥和场次
互斥;参与者表支持注册用户和匿名用户双模式共存;登录速率限制 + 文件上传 Magic Bytes 校验 + 数据隔离保障安全。
主要难点:SQLite
增量迁移的幂等处理;互斥关系全量替换时的事务一致性;批量报名时本轮提交与数据库已有数据的联动互斥校验




评论