【计算机毕设/任务书-免费领取源码】基于微信小程序的“科创云”大学生科技竞赛全流程管理平台的设计与实现

1. 研究目的
构建校级一体化的科技竞赛信息中枢与智能分发平台:整合校内外各级各类科技竞赛信息,建立结构化、标签化的竞赛库。通过微信小程序精准、及时地将竞赛通知、政策解读、培训资讯推送给相关专业、年级的学生,并支持个性化订阅,彻底解决“信息不对称”和“信息过载”问题,提升竞赛信息的触达率与时效性。
打造贯穿“赛前-赛中-赛后”的全流程数字化管理与协同工作空间:为每一项竞赛设计线上化管理流程,涵盖竞赛发布、在线报名、智能组队、项目计划、过程文档管理、中期检查、线上提交、在线评审、结果公示、成果归档等环节。为参赛团队提供云端协同工具(文档共享、任务分派),为评审专家提供在线评审系统,为管理员提供可视化数据看板,实现竞赛管理的无纸化、流程化、精细化。
建立基于能力标签与社交网络的竞赛团队智能匹配与导师对接机制:通过学生技能标签库(编程、设计、文案、演讲等)和项目需求,构建智能推荐算法,帮助有项目无队友、有技能无项目的学生快速、精准地组建优势互补的团队。同时,建立“导师库”与“项目池”的双向选择通道,促进师生科研联动,提升项目质量。
形成可追溯、可分析的竞赛数据资产与知识沉淀体系:系统沉淀历届所有竞赛项目信息、团队数据、作品文档、评审意见、获奖成果。通过对海量数据的多维度分析(如参赛趋势、优势学科、获奖规律),为学校优化竞赛组织、学科发展、人才培养提供数据驱动的决策支持。建立“优秀作品展”与“经验分享社区”,促进跨届传承,营造浓郁的校园科创文化氛围。
2. 研究要求
用户角色与核心用例分析:
在线评审:查看分配的参赛作品,根据评审标准在线打分、填写评语,提交评审结果。
竞赛管理:发布、审核、管理各类竞赛信息,配置报名流程与评审规则。
过程监控:监控各竞赛报名、提交、评审进度,处理异常申请。
评审管理:分配评审任务,管理评审专家库,汇总评审结果。
数据统计:生成参赛情况、获奖统计等各类报表。
项目指导:接收指导邀请,查看所指导项目的进展与文档,在线批注意见。
团队发现:浏览学生项目,主动发出指导邀请。
评审工作:接收评审任务,在线审阅材料、打分、填写评语。
信息获取:浏览、搜索、订阅竞赛通知,接收个性化推送。
团队与项目:发布/寻找组队需求,使用智能匹配,创建/加入项目团队,管理项目文档与任务。
参赛流程:在线报名,提交项目材料,查看评审进度与结果,管理个人参赛档案。
学习交流:学习往届优秀作品,在社区分享经验,向导师提问。
学生:
指导教师:
竞赛管理员(学院/校级):
评审专家:
系统管理员:负责系统维护、权限分配、基础数据管理。
功能性需求:
竞赛信息门户:支持多级分类、标签化、订阅制的竞赛信息发布与展示。
全流程线上化管理:实现从报名、组队、提交、评审到归档的全流程线上化操作与状态跟踪。
智能组队与导师对接:基于技能标签的团队匹配系统,以及师生双向选择机制。
在线协同与评审:为团队提供基础的云端协同空间,为评审专家提供在线评审工作台。
数据资产与知识社区:历届项目库、优秀作品展示、经验交流社区。
非功能性需求:
系统的稳定性与高并发能力:需应对大型竞赛(如“互联网+”)报名、材料提交截止前的瞬时高并发访问。
数据安全与权限控制:项目材料、评审意见等涉密或敏感信息需严格权限控制,防止泄露。实现基于角色的细粒度访问控制(RBAC)。
良好的移动端体验:微信小程序作为学生主要入口,需操作流畅,适配文件上传、在线协作等场景。
可扩展性与开放性:架构需支持未来与教务系统(同步学生信息)、财务系统(报销)等的对接。
系统管理模块(后台)
组织架构管理:维护学校-学院-专业-班级的多级树形结构,同步/管理师生基础信息。
角色与权限管理:定义学生、导师、院级管理员、校级管理员、评审专家、系统管理员等角色,配置细粒度到按钮级别的操作权限。
基础数据管理:管理竞赛类别、学科分类、奖项等级、技能标签库等系统字典。
操作日志审计:记录所有用户的关键操作,满足审计与追溯要求。
系统监控:监控服务器性能、接口健康度、异常告警。
竞赛门户与信息管理模块
竞赛发布与管理:管理员可发布竞赛,填写详情(名称、级别、时间、规则、奖励),设置报名条件、材料模板、评审标准,管理竞赛状态(未开始、报名中、进行中、已结束)。
信息聚合与展示:小程序首页聚合“最新竞赛”、“热门竞赛”、“推荐竞赛”,支持分类浏览和关键词搜索。
个性化订阅:学生可关注感兴趣的竞赛类别、学科,接收相关新竞赛的微信模板消息提醒。
竞赛日历:以日历视图展示所有竞赛的重要时间节点(报名、提交、答辩日期)。
资讯与动态:可发布与竞赛相关的培训通知、政策解读、获奖喜报等资讯。
智能组队与人才库模块
个人技能档案:学生可维护个人技能标签(如Java、Python、PS、商业计划书),上传个人作品/简历,展示参赛经历。
组队需求发布:学生可发布“找队友”需求,描述项目简介、所需角色、技能要求。也可发布“求项目”需求,展示个人能力与意向。
智能匹配推荐:系统基于技能标签、专业相关性、历史行为,推荐潜在队友或项目,发送匹配通知。
团队创建与管理:匹配成功后,可创建线上团队,设置团队角色(队长、成员),生成团队唯一码。
导师库对接:学生团队可浏览导师研究方向与简介,发送指导邀请;导师可主动关注感兴趣的项目。
在线报名与项目管理模块
在线报名:团队选择竞赛后,填写在线报名表(自动关联团队信息),上传申报书等初始材料,提交报名申请。
报名审核:院级/校级管理员可审核报名信息,通过或驳回。
项目空间:每个成功报名的项目拥有独立空间,可上传、版本管理项目文档、代码、演示视频等材料,发布团队任务与进度。
过程检查:管理员可发起中期检查、阶段性报告提交,团队在线提交材料。
材料提交:在截止日期前,团队可一键提交最终参赛材料包,系统自动归档。
在线评审与答辩管理模块
评审任务管理:管理员分配评审任务给专家,可设置盲审或公开评审模式,设置权重与打分表。
专家评审工作台:专家登录后,查看待评审项目列表,在线预览材料,根据评分细则在线打分、填写评语,提交评审结果。支持下载附件、在线评注(PDF)。
评审进度监控:管理员可实时查看各项目的评审完成情况,催办未完成评审的专家。
分数统计与排名:系统自动汇总各专家分数,计算加权平均分与排名,生成评审结果报告。
在线答辩(高级):可集成腾讯会议等API,管理在线答辩顺序、会议室,记录答辩成绩。
成果公示与归档模块
结果公示:管理员审核评审结果后,可发布获奖名单公示,设置异议期。
异议处理:在公示期内,相关方可提出实名异议,管理员受理与回复。
正式获奖:公示无异议后,发布正式获奖文件,系统自动生成电子证书(模板化)。
成果归档:所有获奖项目的完整材料(申报书、作品、评审意见、证书)自动归入学校“竞赛成果库”,长期保存。
数据导出:支持将获奖名单、统计报表导出为Excel/Word,用于上报和存档。
个人中心与数据驾驶舱
我的竞赛:学生/导师可查看个人所有参与(报名/指导/评审)的竞赛及状态。
我的项目:管理自己创建或参与的所有项目团队。
我的档案:展示个人参赛记录、获奖情况、技能成长图谱,可生成个人参赛简历。
消息中心:聚合系统通知、组队邀请、评审任务、审核结果等所有消息。
数据驾驶舱(管理员):可视化展示全校竞赛参与度、学科分布、获奖趋势、教师指导工作量等宏观数据。
知识社区与资源中心
优秀作品展:分类展示往届国家级、省级获奖作品(脱敏后),供学生学习观摩。
经验分享区:获奖团队可发布备赛经验、技术总结、答辩心得等帖子,形成知识沉淀。
问答互助:学生可提出备赛过程中遇到的问题,其他用户或导师可解答。
资源下载:提供常用工具软件、论文模板、学习资料等资源下载。
社区管理:管理员可审核内容,运营热门话题。
消息与通知引擎
微信模板消息:对接公众号,发送报名成功、材料提交提醒、评审任务、获奖公示等关键节点通知。
站内信:用于系统提醒、社区互动消息。
邮件通知(备用):重要通知可同步发送邮件。
通知模板管理:可配置各类通知的模板内容。
数据统计与决策支持模块
参赛统计:按学院、专业、年级、竞赛级别统计参赛人数、团队数。
获奖统计:按竞赛、学院、年度统计获奖数量、等级、获奖率。
指导教师统计:统计教师指导项目数、获奖情况。
竞赛影响力分析:分析各竞赛的参与热度、获奖难度。
多维统计报表:
趋势分析:分析历年参赛与获奖数据的变化趋势。
数据大屏:为校级领导提供实时数据可视化大屏。
技术选型与架构:
安全: RBAC权限模型:结合 Spring Security实现URL和方法级权限控制。
文件安全:敏感文件链接设置过期时间、防盗链。评审材料在评审期间禁止下载。
操作审计:关键数据修改记录前后快照。
后端: 核心框架: Spring Boot 2.7.x。Spring MVC,Spring Security+JWT实现认证授权。
数据持久层: MyBatis-Plus。主数据库MySQL 8.0,读写分离。核心表包括:
缓存: Redis。用于:缓存首页数据、热点竞赛、用户会话、分布式锁(控制并发提交)、消息队列。
搜索引擎: Elasticsearch。用于竞赛、项目、用户(技能)的复杂检索。
文件存储: MinIO(自建)或阿里云OSS。存储项目材料、作品、附件。支持大文件分片上传、断点续传。
消息队列: RabbitMQ。用于异步发送通知、处理评审结果汇总、记录日志。
实时通信:可选 WebSocket,用于评审过程中的实时消息提醒。
competition(竞赛主表)
team(团队表)
project(项目表,关联competition和team)
project_submission(项目提交物表,版本管理)
review_task(评审任务表)
review_result(评审结果表)
前端: 微信小程序:使用原生框架或 Taro多端框架,UI库选用Vant Weapp。用于学生、导师的移动端操作。
后台管理系统:采用 Vue 3+Element Plus构建PC端Web管理系统,供管理员、评审专家使用。集成ECharts进行数据可视化。
核心业务实现方案:
智能组队算法:
项目材料版本管理: project_submission表记录每次提交的文件Hash、版本号、提交时间、提交人。支持版本回滚和差异对比。
评审结果聚合:使用 RabbitMQ异步处理每位专家提交的评分,全部完成后触发聚合任务,计算平均分、排名,并支持去掉最高最低分等规则。
特征向量:将用户技能、项目需求转化为向量。
召回:基于协同过滤(找有相似技能组合的用户)和基于内容(技能标签匹配)进行召回。
排序:综合匹配度、活跃度、历史合作评价进行排序。
部署:采用 Docker容器化,Docker Compose编排。Nginx反向代理与负载均衡。前后端分离部署。
功能测试:
核心流程测试:竞赛发布->学生组队->报名->提交->分配评审->在线评审->结果公示->归档。
权限测试:严格测试不同角色(学生、导师、院管、校管)的权限边界。
并发测试:模拟大量学生在截止日期前同时提交材料。
评审流程测试:测试双盲审、分数计算、异常情况(专家弃审)处理。
性能测试:
文件上传并发:测试大量团队同时上传大体积项目材料时的性能。
首页与搜索压力:测试大型活动期间首页访问和竞赛搜索的性能。
安全测试:
越权访问测试:尝试访问/下载他人项目材料、评审意见。
文件安全测试:测试文件链接是否能被非法盗用。
注入与XSS测试:对富文本输入框(项目描述、社区帖子)进行安全测试。
兼容性测试:测试微信小程序在主流手机上的兼容性,后台管理系统在主流浏览器上的兼容性。
3. 总体进度和安排
|
|
|
|
|
|---|---|---|---|
|
业务调研与顶层设计 |
|
2. 完成微服务架构设计(竞赛服务、用户服务、评审服务、文件服务)、数据库设计。 3. 设计智能组队匹配算法、在线评审流程、权限模型。 4. 完成小程序与后台管理系统的产品原型与UI设计。 |
2. 系统架构与数据库设计文档 3. 核心算法与流程设计文档 4. 高保真产品原型 |
|
SpringBoot后端微服务开发 |
|
2. 开发用户服务、竞赛服务、团队项目服务、评审服务、文件服务等核心微服务。 3. 集成Elasticsearch实现搜索,集成RabbitMQ实现异步解耦。 4. 实现智能组队推荐算法、在线评审引擎。 5. 实现基于JWT+Spring Security的统一认证授权。 |
2. 核心业务API接口文档(Swagger) 3. 算法服务模块 |
|
前后端应用开发与集成 |
|
2. 开发后台Web管理系统,实现管理员、评审专家端全部功能,集成ECharts数据可视化。 3. 前后端全面联调,模拟全生命周期业务流程测试。 4. 集成微信模板消息推送。 |
2. 后台Web管理系统源码 3. 可演示的全流程竞赛管理系统 |
|
系统集成测试、安全加固与部署 |
|
2. 优化数据库、缓存、文件服务性能,进行安全加固(渗透测试)。 3. 编写《系统部署手册》、《用户操作手册(分角色)》、《运维手册》。 4. 在云服务器上完成容器化集群部署与配置。 |
2. 全套用户与运维文档 3. 线上稳定运行的演示系统 |
|
论文撰写与答辩 |
|
2. 制作答辩PPT,录制从学生组队报名到管理员统计归档的完整流程演示视频。 3. 准备并完成毕业答辩。 |
2. 答辩PPT与演示视频 3. 最终项目源码、部署包及文档归档 |
夜雨聆风
