Merge branch ‘main’ of https://gitee.com/majiayue-0501/murder-party
Web 大作业 · 需求分析与系统设计初稿 学号:241240003 姓名:马佳月
Web 大作业 · 需求分析与系统设计初稿
学号:241240003 姓名:马佳月
剧本杀是当下年轻人流行的社交推理娱乐方式,但实际开本过程中常面临”凑不齐人”的痛点:一个本往往需要 5–8 人,好友群经常缺人,临时找队友效率低。线下桌游吧虽然能拼车,但信息不透明、约时间难、角色分配混乱。
本项目”谜局组队”正是为解决这一痛点设计的 Web 平台:用户可以发布/寻找车次、报名上车、DM(主持人)审核确认并分配角色,满员后自动锁车。
实现一个完整可用的剧本杀拼车闭环:从玩家找车报名,到 DM 审核确认、分配角色,再到满员自动锁车、退车自动解锁。所有业务规则由数据库存储过程和触发器保证,确保数据一致性。具体目标包括:
注册(用户名唯一、昵称、密码 SHA-256 加密存储)、登录(token 鉴权)、退出登录。
发布车次(标题、剧本名、人数、开局时间、地点、费用、简介、封面图上传)、车次列表(关键词搜索、状态筛选、分页)、车次详情、修改/删除车次(有报名的车次不可删除,保证数据完整性)。
玩家报名上车(存储过程校验:场次必须是招募中、不能报自己组织的局、不能重复报名)、DM 审核报名(确认上车并分配角色 / 拒绝)、玩家自行取消报名。
触发器自动维护已上车人数:确认一人加一座位,满员自动将车次置为”已满员锁车”;拒绝或取消时减一座位,自动恢复”招募中”。
每个车次下的公开留言板,登录玩家可发言,方便确认开本细节。
核心组队流程为:玩家 A 发布车次 → 玩家 B、C、D 看到并报名 → DM 审核确认并分配角色 → 人数满员后自动锁车 → 开局。若有人中途取消,自动解锁并继续招募。
系统涉及 5 张核心表:用户表、场次表、报名表、留言表、测评表,外加一个可报名车次视图。业务规则(报名校验)由存储过程 sp_signup 实现,人数与状态联动由触发器 trg_after_signup_update 实现,保证数据库层面的数据一致性。
sp_signup
trg_after_signup_update
http://localhost:3000
murder-party/ ├── report/ 所有文档(Word) │ ├── 系统设计报告-剧本杀组队平台(初稿).docx │ └── 数据库实现-剧本杀组队平台.docx ├── code/ 所有代码 │ ├── backend/ Node.js + Express 后端 │ ├── frontend/ 前端页面(HTML + CSS + JS + Vue3) │ └── murder_party.sql 建库脚本(表/视图/存储过程/触发器) ├── data/ 数据 │ └── murder_party_backup.sql 数据库备份 ├── figures/ 图表(答辩时补充) └── README.md 本文件
admin / 123456
zhangsan
lisi
wangwu
123456
版权所有:中国计算机学会技术支持:开源发展技术委员会 京ICP备13000930号-9 京公网安备 11010802047560号
谜局组队——剧本杀拼车平台
一、项目背景
剧本杀是当下年轻人流行的社交推理娱乐方式,但实际开本过程中常面临”凑不齐人”的痛点:一个本往往需要 5–8 人,好友群经常缺人,临时找队友效率低。线下桌游吧虽然能拼车,但信息不透明、约时间难、角色分配混乱。
本项目”谜局组队”正是为解决这一痛点设计的 Web 平台:用户可以发布/寻找车次、报名上车、DM(主持人)审核确认并分配角色,满员后自动锁车。
二、系统目标
实现一个完整可用的剧本杀拼车闭环:从玩家找车报名,到 DM 审核确认、分配角色,再到满员自动锁车、退车自动解锁。所有业务规则由数据库存储过程和触发器保证,确保数据一致性。具体目标包括:
三、用户角色
四、功能需求
4.1 用户管理
注册(用户名唯一、昵称、密码 SHA-256 加密存储)、登录(token 鉴权)、退出登录。
4.2 车次管理
发布车次(标题、剧本名、人数、开局时间、地点、费用、简介、封面图上传)、车次列表(关键词搜索、状态筛选、分页)、车次详情、修改/删除车次(有报名的车次不可删除,保证数据完整性)。
4.3 组队报名
玩家报名上车(存储过程校验:场次必须是招募中、不能报自己组织的局、不能重复报名)、DM 审核报名(确认上车并分配角色 / 拒绝)、玩家自行取消报名。
4.4 状态联动
触发器自动维护已上车人数:确认一人加一座位,满员自动将车次置为”已满员锁车”;拒绝或取消时减一座位,自动恢复”招募中”。
4.5 留言讨论
每个车次下的公开留言板,登录玩家可发言,方便确认开本细节。
五、业务流程
核心组队流程为:玩家 A 发布车次 → 玩家 B、C、D 看到并报名 → DM 审核确认并分配角色 → 人数满员后自动锁车 → 开局。若有人中途取消,自动解锁并继续招募。
六、非功能需求
七、数据设计概述
系统涉及 5 张核心表:用户表、场次表、报名表、留言表、测评表,外加一个可报名车次视图。业务规则(报名校验)由存储过程
sp_signup实现,人数与状态联动由触发器trg_after_signup_update实现,保证数据库层面的数据一致性。八、技术栈
http://localhost:3000九、目录结构
十、演示账号
admin / 123456zhangsan/lisi/wangwu(密码均为123456)