ChenJiu Logo
返回

三角色全栈业务系统

校园运动会管理系统

这是一个面向校园运动会赛事组织与信息管理的前后端分离系统。项目以学生、裁判员和管理员三类角色为核心,覆盖报名、比赛、成绩、公告、新闻和基础角色权限。

项目定位

面向校园运动会赛事组织与信息管理场景,以学生、裁判员和管理员三类角色为基础,承载报名、比赛、成绩和内容发布等业务。

完成内容

已完成学生端、裁判端和管理员端的核心页面,以及赛事、报名、成绩、公告、新闻、用户与基础角色权限等功能。

实践重点

Vue3 多角色页面组织、Spring Boot 服务开发、MyBatis 数据访问、REST API 设计、MySQL 数据建模与基础角色鉴权。

使用场景

学生完成赛事浏览、报名和成绩查询,裁判员维护所负责项目的成绩,管理员统一维护系统业务数据与内容。

当前状态

三类角色的核心业务流程、看板、关键操作页与整体鉴权架构图已经完成。

项目概览

从系统目标、角色结构和完成范围出发,概括校园运动会管理系统的整体业务边界。

01

围绕学生、裁判员和管理员三类身份组织页面入口、核心操作和数据访问边界。

02

完成报名、赛事信息、成绩录入与查询、公告、新闻和用户管理等主要业务链路。

03

基于 Vue3、Spring Boot、MyBatis 和 MySQL 搭建前后端分离系统,并实现基础角色权限控制。

角色看板与核心页面

页面不再按后台模块逐项罗列,而是从学生、裁判员和管理员的实际任务出发,展示三类看板、关键操作页及系统的基础鉴权结构。

00

学生端看板

学生端集中提供赛事查看、在线报名、报名记录、成绩查询、公告和新闻浏览。看板帮助学生从了解比赛到确认结果,在同一入口完成个人参赛流程。

01

裁判端看板

裁判端展示被分配的比赛项目,并提供成绩录入与维护入口。页面价值在于缩短成绩处理路径,同时把裁判操作限定在其负责的赛事范围内。

02

管理员端看板

管理员端承担用户、赛事、报名、成绩、公告和新闻等核心数据维护。看板用于汇总管理入口,让运动会组织工作能够按业务对象持续更新。

03

整体鉴权架构图

三类用户通过统一入口登录,系统识别角色后进入对应看板。前端路由限制页面访问范围,后端接口继续校验操作权限,并连接用户、赛事、报名、成绩、公告和新闻等核心数据实体。这里表达的是基础角色权限控制,不是完整 RBAC 平台。

04

学生个人中心

学生个人中心汇总账号信息、报名审核进度和比赛成绩,并提供赛事报名与成绩查询入口。页面把学生参与运动会的主要状态集中到同一个视图中。

05

裁判报名审核

裁判员可以筛选学生报名记录,并对待审核报名执行通过或驳回。该页面承担参赛资格确认职责,为后续成绩录入建立可信的报名数据基础。

06

裁判成绩录入

裁判员从已通过的报名记录中选择参赛学生并录入成绩,系统根据赛事规则自动生成名次。页面连接报名审核、成绩维护和学生查询三段流程。

07

管理员资源管理

管理员维护报名须知、比赛规则、安全事项和成绩公示说明等赛事资源。新增与编辑能力让面向学生和裁判员的辅助内容可以持续更新。

08

管理员用户管理

管理员可以维护登录账号、真实姓名、基础角色、手机号和账号状态。页面为学生、裁判员和管理员三类身份提供统一的数据维护入口。

核心业务流程

三类角色通过报名、成绩和内容发布三条主流程协同,形成从赛事组织到结果查询的信息闭环。

01

报名流程

学生登录后查看可报名赛事,选择比赛项目并提交报名信息。系统保存报名记录,学生可在个人页面查询,管理员可在后台统一维护。

02

成绩录入与查询流程

裁判员进入被分配的比赛项目,录入或更新参赛成绩。成绩与赛事和报名记录关联保存,学生随后可在自己的查询入口查看结果。

03

公告与新闻发布流程

管理员在后台维护公告和新闻内容,发布后由学生端和其他允许访问的页面统一读取,形成从内容维护到信息浏览的完整链路。

技术实践

各项技术围绕三角色页面、业务接口、数据关系和基础权限控制承担明确职责。

Vue3

用于构建学生、裁判员和管理员三类角色页面,将各自的看板、列表、表单和详情内容组织为独立业务入口。

Vue Router

根据登录用户角色组织可访问页面,让学生报名与查询、裁判成绩维护、管理员数据管理进入对应路由范围。

Axios

统一连接三类看板与后端接口,负责赛事查询、报名提交、成绩维护、内容发布和用户管理等请求。

Spring Boot

承载登录识别、业务规则和接口服务,按照赛事、报名、成绩、内容与用户等领域组织后端逻辑。

MyBatis

负责业务对象与 MySQL 数据之间的访问映射,支撑报名记录、成绩数据和内容信息的查询与维护。

REST API

围绕用户、赛事、报名、成绩、公告和新闻等资源拆分接口,使不同角色的前端操作对应明确的服务端能力。

MySQL

保存用户、角色、赛事、报名、成绩、公告和新闻等核心数据,并维护报名与赛事、成绩与参赛记录之间的结构化关系。

基础角色权限

登录后识别学生、裁判员或管理员身份,并在前端路由和后端接口两层限制各角色可访问的页面与操作。

设计思路

重点说明角色看板、业务数据关系、基础鉴权和前后端分离如何共同支撑系统。

01

按角色拆分看板

学生、裁判员和管理员承担的任务差异明显。按角色组织看板可以缩短操作路径,也让页面结构直接反映各自职责与访问边界。

02

核心业务保持结构化关联

报名记录需要关联学生与赛事,成绩需要继续关联报名和比赛项目,公告与新闻则由管理员维护并面向前台展示。结构化关系让查询与维护保持一致。

03

前后端共同完成基础鉴权

前端根据角色控制路由与操作入口,后端接口再次校验允许执行的业务动作。两层控制用于满足基础角色隔离,不扩展为复杂企业权限平台。

04

前后端分离支撑多角色协作

Vue3 负责不同角色的页面体验,Spring Boot 统一承载业务规则和接口,MyBatis 与 MySQL 负责数据访问和持久化,使三类看板共享同一套业务数据。