springcloud +Vue 前后端分离的onlinejudge在线评测系统

功能描述:

        本系统的研究内容主要是设计并实现一个一个在线测评系统(OJ),该系统集成了博客、竞赛、刷题、教学,公告,个人管理六大功能,用户注册后登录系统,可以浏览本站的全部文章、发布自己的心得体会、同时也允许修改自己的文章在发布,以及对发布了的文章进行删除,本站还会推荐每天浏览量前五的文章进行曝光,让更多人发现优秀文章;用户可以在题库页看到本站提供的全部已启用的题目,每个题目系统都提供了通过率和题目难度,用户可以根据自己的学习阶段点击相应题目,进行做题,每道题目提供了测试和提交两种提交方式,点击测试按钮用户可以对自己的源代码就行调试,并和正确答案进行对比,点击提交按钮,系统将源代码编译成class文件并运行,将输出的结果和正确答案对比,判断答案是否正确,并将结果返回到用户前端。用户在竞赛页,可以查看到竞赛的一些基本信息,点击竞赛就可以进行报名竞赛并参赛,赛后可以查看到自己通过的题目和排名等。同时支持用户查看往期竞赛,用户需要通过在个人中心认证身份后,才能使用教学功能,学生可以在教学页搜索教学组,然后填写老师的邀请码进入教学组,老师可以选择教学组进行发布作业,学生可以在收到作业后进行完成。

系统架构:

        本系统采用B/S架构的设计,B/S架构是在C/S架构基础上发展起来的一个架构,并得到了广泛的应用,其原因在于,B/S架构是基于浏览器的一种交互模式,其将逻辑集中在浏览器和中间件来提高数据处理能力。B/S架构无需下载,只需知道该软件的服务网址即可进行访问,无需安装即可使用,通用性和便捷性都更优秀。

技术栈:

        主要采用的技术有springcloud + mybatis + redis + vue + bootstrap。Springcloud是基于springboot作为model进行分布式开发,借用springboot快速开发的优点,将各个服务注册到eureka中,通过zuul网关访问eureka中的服务,各服务模块间采用feign进行RPC远程过程调用,当访问的某个服务因为某种原因不可用时,通过hystrix进行服务降级和熔断,提高用户的系统体验;mybatis是当下最流行的基于java的可持久框架,通过简单的xml配置,屏蔽了全部的jdbc代码和参数的设置,使用起来更加灵活;Redis是一个高性能的key-value型数据库,通过将一些需要反复调用数据进行缓存,使用时只需要通过key值即可取到,极大的减轻了数据库的压力。

系统流程图:

系统运行环境:

(1)硬件环境:

操作系统:Windows 10

关系性数据库管理系统:MySQL 5.7

数据库管理工具:Navicat

缓存:Redis

浏览器:IE浏览器6.0以上及谷歌浏览器

JDK版本:JDK1.8

开发工具:Idea 2019、VS code

(2)客户端环境

Springcloud服务,Vue服务,redis客户端服务器

 系统功能实现:

登录注册模块

        在浏览器搜索栏输入OJ系统的入口URL,来到系统的登录界面,OJ系统首页页面如图所示。

        游客若没有账号应先进行注册,用户注册页如图所示。

        如果用户已经在OJ系统注册过账号但是忘记了密码,则可以点击找回密码进行找回,系统找回密码页面如图所示。

个人中心模块

        用户点击头像,弹出下拉框,进入个人中心模块,功能包含了个人中心,博客管理,隐私设置,评测记录,退出登录。个人中心页面包含了自己的基本信息和自己发布的热门文章,个人中心页面如图所示。

        博客管理中展示自己发布的全部博客如图所示,点击博客标题可以修改博客信息,如图所示。 

        个人设置可以进行一些隐私设置来包含自己的隐私,个入设置如图所示。

         评测记录包含了个人评测的全部记录信息,并且可以查看源代码,如图所示。

     身份认证包含了学生认证和教师认证,身份认证如图所示。 

 身份认证后,展示认证后的身份。

博客模块 

        博客模块包含了浏览博客内容,搜索相关博客,对某篇博客进行点赞,向用户推荐博客以及博客达人等功能,博客模块包含了全部的博客信息以及博客达人的推荐如图所示。

        点击博客的标题查看博客的具体信息已热门博客推荐。如图所示。

点击“一起分享新鲜事”,跳转发布博客界面,如图所示。 

        在输入框输入想要查找的博客,点击查找图标,查找想要的博客。如图所示。 

题库模块

题库模块包含了用户查看题目,搜索题目,题目的热门推荐,题目的搜索,题目的提交和测试,查看当前题目提交过的记录等,题库页面如图所示。

用户点击搜索界面输入想要查找的题目信息,点击查找按钮。如图所示。 

用户点击题目标题进入题目内容页面。如图所示。 

在题目内容界面点击提交记录可以查看当前题目的提交记录,如图所示。 

 用户编写代码后,点击提交按钮,对代码进行评测等待输出结果,如图所示。

竞赛模块

竞赛模块包含了用户查看近/往期竞赛,参加竞赛,查看竞赛题目、竞赛选手、排行榜。允许用户和选手们进行交流,竞赛页如图所示。

竞赛页面内点击参数选手可以查看当前比赛的参赛选手,如图所示 。

竞赛页面内点击排行榜,可以查看当前比赛的排行榜,如图所示。

 

 竞赛页面内点击聊天室,可以当前在线的选择进行聊天,如图所示。

教学模块

        教学模块又分为学生端教学模块和教师端教学模块,学生端教学模块包括了教学组的添加、搜索等。学生查看、完成老师布置的作业,老师可以查看自己发布的作业,查看/修改/启用/编辑/删除/发布 竞赛、题目、教学组等,学生教学模块如图所示。

 

教师的教学页包含了作业、教学组、竞赛、题目的管理,作业和教学组管理如图4.25所示,竞赛和题目管理如图所示。 

教师点击作业和教学组标题可以对作业/教学组进行编辑修改,如图所示。 

教师点击竞赛和题目的标题可以对竞赛/题目进行编辑,如图所示。 

公告模块

        公告模块中,学生只允许查看公告,老师可以修改,发布、删除公告等,公告如图所示,公告管理页面如图所示。

         

 效果预览:

毕业设计——onlinejudge在线评测系统

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/332654.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

[HTML]Web前端开发技术14(HTML5、CSS3、JavaScript )鼠标经过图片显示大图 网页标题:表格标签的综合应用——喵喵画网页

希望你开心,希望你健康,希望你幸福,希望你点赞! 最后的最后,关注喵,关注喵,关注喵,佬佬会看到更多有趣的博客哦!!! 喵喵喵,你对我真的…

Spring 核心之 IOC 容器学习一

IOC 与 DI IOC(Inversion of Control)控制反转:所谓控制反转,就是把原先我们代码里面需要实现的对象创建、依赖的代码,反转给容器来帮忙实现。那么必然的我们需要创建一个容器,同时需要一种描述来让容器知道需要创建的对象与对象…

FPGA引脚选择(Select IO)--认知1

主要考虑功能角度(速度,电平匹配,内部程序编写)去找研究芯片内部资源 1. 关键字 HP I/O Banks, High performance The HP I/O banks are deisgned to meet the performance requirements of high-speed memory and other chip-to-…

hanlp,pkuseg,jieba,cutword分词实践

总结:只有jieba,cutword,baidu lac成功将色盲色弱成功分对,这两个库字典应该是最全的 hanlp[持续更新中] https://github.com/hankcs/HanLP/blob/doc-zh/plugins/hanlp_demo/hanlp_demo/zh/tok_stl.ipynb import hanlp # hanlp.pretrained.tok.ALL # 语种见名称最…

虚幻UE 特效-Niagara特效实战-雨天

回顾Niagara特效基础知识:虚幻UE 特效-Niagara特效初识 其他两篇实战:虚幻UE 特效-Niagara特效实战-火焰、烛火、虚幻UE 特效-Niagara特效实战-烟雾、喷泉 本篇笔记我们再来实战雨天,雨天主要用到了特效中的事件。 文章目录 一、雨天1、创建雨…

【前端HTML】HTML基础

文章目录 HTML标签标签属性 基本结构文档声明HTML标准结构HTML基础排版标签语义化标签块级元素与行内元素文本标签图片标签超链接跳转到指定页面跳转到文件跳转到锚点唤起指定应用 列表有序列表无序列表列表嵌套自定义列表 表格基本结构常用属性跨行跨列 常用标签表单基本结构常…

GPT应用程序上线注意的问题

在将GPT应用程序上线之前,有一些重要的问题需要注意,以确保应用程序的成功运行、用户满意度和合规性。以下是一些建议,希望对大家有所帮助。北京木奇移动技术有限公司,专业的软件外包开发公司,欢迎交流合作。 合规性和…

【Python】对象属性操作详细指南✨

Python 对象属性操作详细指南✨ 前言 在 Python 的世界里,理解和操作对象的属性是一项基础且重要的技能。掌握如何使用 Python 的内置函数来操作对象属性将大大提高编程效率。本文旨在提供一个全面的指南,介绍如何使用 Python 中的几个关键内置函数来处…

第14章_集合与数据结构拓展练习(前序、中序、后序遍历,线性结构,单向链表构建,单向链表及其反转,字符串压缩)

文章目录 第14章_集合与数据结构拓展练习选择填空题1、前序、中序、后序遍历2、线性结构3、其它 编程题4、单向链表构建5、单向链表及其反转6、字符串压缩 第14章_集合与数据结构拓展练习 选择填空题 1、前序、中序、后序遍历 分析: 完全二叉树: 叶结点…

一区优化直接写:KOA-CNN-BiLSTM-Attention开普勒优化卷积、长短期记忆网络融合注意力机制的多变量回归预测程序!

适用平台:Matlab 2023版及以上 KOA开普勒优化算法,于2023年5月发表在SCI、中科院1区Top顶级期刊《Knowledge-Based Systems》上。 该算法提出时间很短,目前还没有套用这个算法的文献。 同样的,我们利用该新鲜出炉的算法对我们的…

运维平台介绍:视频智能运维平台的视频质量诊断分析和告警中心

目 录 一、视频智能运维平台介绍 (一)平台概述 (二)结构图 (三)功能介绍 1、运维监控 2、视频诊断 3、巡检管理 4、告警管理 5、资产管理 6、工单管理 7、运维…

jrebel IDEA 热部署

1 下载 2022.4.1 JRebel and XRebel - IntelliJ IDEs Plugin | Marketplace 2 选择下载好的zip 离线安装IDEA 插件 重启IDEA 3 打开 [Preference -> JRebel & XRebel] 菜单,输入 GUID address 为 https://jrebel.qekang.com/1e67ec1b-122f-4708-87d…

Data Bricks Delta Lake 入门

Delta Lake 是一个开源存储层,它将关系数据库语义添加到基于 Spark 的数据湖处理中。 适用于 PySpark、Scala 和 .NET 代码的 Azure Synapse Analytics Spark , Azure DataBricks 都支持 Delta Lake。在大数据这个领域,对象存储的最影响效率的问题就是针…

【C语言】linux内核ipoib模块 - ipoib_start_xmit

一、ipoib_start_xmit函数定义 static netdev_tx_t ipoib_start_xmit(struct sk_buff *skb, struct net_device *dev) {struct ipoib_dev_priv *priv ipoib_priv(dev);struct rdma_netdev *rn netdev_priv(dev);struct ipoib_neigh *neigh;struct ipoib_pseudo_header *phdr…

【保姆级教程|YOLOv8改进】【3】使用FasterBlock替换C2f中的Bottleneck

《博主简介》 小伙伴们好,我是阿旭。专注于人工智能、AIGC、python、计算机视觉相关分享研究。 ✌更多学习资源,可关注公-仲-hao:【阿旭算法与机器学习】,共同学习交流~ 👍感谢小伙伴们点赞、关注! 《------往期经典推…

代码、课程、教学的一些思考-2024

1 代码、算法、艺术品 1.1 代码 最典型的C代码示例。 以下是一个简单的C代码示例&#xff0c;它打印出“Hello, World!”&#xff1a; #include <iostream> int main() { std::cout << "Hello, World!"; return 0; } 这段代码定义了一个程序&a…

鲁大师2023年牛角尖颁奖盛典落幕,顶尖产品之间的又一次碰撞

1月18日&#xff0c;鲁大师2023年度牛角尖颁奖典礼在四川省内江市威远县船石湖豪生温泉度假酒店完美落幕。 本届鲁大师牛角尖颁奖盛典举办地选在了威远县可谓是深有其意&#xff0c;其名称的由来最早可追溯到隋朝&#xff0c;取“威名远震”之意。而这也与鲁大师牛角尖奖项的设…

Apache安全及优化

配置第一台虚拟机 VM1网卡 yum仓库 挂载磁盘 上传3个软件包到/目录 到/目录下进行解压缩 tar xf apr-1.6.2.tar.gz tar xf apr-util-1.6.0.tar.gz tar -xjf httpd-2.4.29.tar.bz2 mv apr-1.6.2 httpd-2.4.29/srclib/apr mv apr-util-1.6…

基于Springboot+vue鲜花商城系统(前后端分离)

该项目完全免费 项目技术栈&#xff1a; 前端&#xff1a;vueelementUIecharts 后端&#xff1a;SpringbootmybatisMySQL 项目主要功能&#xff1a; 商品信息 商品分类 角色管理 公告管理 轮播图管理 订单管理 收货地址管理 日志管理 部分功能截图&#xff1a;

大数据工作岗位分析

前言&#xff1a;随着大数据需求的增多&#xff0c;许多中小公司和团队也新增或扩展了大数据工作岗位&#xff1b;但是却对大数据要做什么和能做什么&#xff0c;没有深入的认识&#xff1b;往往是招了大数据岗位&#xff0c;搭建起基础能力后&#xff0c;就一直处于重复开发和…