开源项目分享-Python在线实验平台

友友们好啊,继上次给大家分享了一款可以自动判卷的在线考试系统后(文末传送门),今天又为大家带来一款能在线敲Python代码并运行的实验系统。项目使用了Codemirror这个强大的开源库,使得我们可以在浏览器中模拟出IDE的效果:代码高亮、自动补全、代码折叠等等。项目已写好Dockerfile,可直接部署上线。这次的项目较考试系统功能更少,但更为精简,设计性更强,很容易学习理解;同时我也非常期待大佬们的Fork和Pull request,让我们一起进步,加油!


一、简单讲讲


PyOnline是一款基于SSMP和Vue开发的Python在线实验平台,系统主要提供Python代码在线编译运行、实验评分、实验数据记录、实验结果下载、公告发布、班级管理、实验编辑等功能。系统为前后端分离架构,前端基于CodeMirror和Vue开发,使用Element UI辅助设计;后端基于SpringBoot框架,使用MybatisPlus完成持久层设计,调用Python3编译器实现核心功能;项目已写好Dockerfile,可随时部署上线。


二、功能介绍


系统中有三种角色:老师、学生、管理员,前两种角色可以自行注册;


作为教师,你可以:


  1. 创建班级,添加,编辑班级简介,分享班级邀请码让学生加入;
  2. 发布、编辑、删除实验,按章节管理、调整实验目录结构
  3. 查询并下载学生实验结果及代码,查看实验得分;
  4. 发布、编辑、删除班级内通知
  5. 修改个人信息;


作为学生,你可以:


  1. 通过邀请码加入班级,查看班级信息;
  2. 使用在线编译平台完成老师发布的实验内容,在线运行Python程序并携带参数,查看运行结果,下载代码
  3. 查询实验记录并下载实验代码和结果;
  4. 查询班级内部通知;
  5. 修改个人信息;


作为管理员,你可以:


  1. 查询系统中所有用户数据;
  2. 添加账户,修改密码,查询、导出用户数据


三、运行展示


GitHub地址



四、捞捞往期项目-在线教学考试系统


文章地址在这里呀

GitHub传送门


0个评论
点击登录,快来和大家讨论吧~
表情
图片
暂无评论
爱写代码的小陈
作者分享
#项目# 小小的交个作业,跟着鱼总的视频把毕设给上线了[鼓掌]。感觉学到好多啊,给项目做优化,配置开发环境和生产环境,前后端联调,本地跑通后又用docker跑,结果上线还是出了问题,文件不能下载、上传,图片不显示等等,好在折腾了很久配置,了解了防盗链,终于能正常访问了!!繁星之辰--在线教学考试系统项目以前分享过哈哈,具体请看文章:https://articles.zsxq.com/id_wgk
29
#提问# 项目部署时静态资源的src如何加/api前缀,求大佬指点 之前写的一个项目要部署,使用nginx做代理转发时,识别/api前缀的请求,这需要前端发请求时baseURL为/api。通过vue的环境变量可以给axios配置baseURL,但项目部署后发现,静态资源在访问时,也需要/api前缀,比如有个的,现在imgUrl是从数据库里拿到,肯定没法加动态的baseURL。所以要给所有的img标签设置baseURL,现在比较好的方案是重新封装img标签,替换掉项目里的所有原生img标签,但工作量很大。且有页面用到了Element UI的el-img标签,其官方文档里没提供baseURL属性,如果换原生img,还得重新调整页面元素样式等等,工作量 。 另外项目用到了ckeditor,里面的富文本对图片支持,本质也是原生img标签,而且src是写死的,更没法改。 当初开发没想过部署,现在要搞Docker出了这问题。。求指点求指点啊啊啊啊
12
开源项目分享-在线教学考试系统
28
经验 docker容器中的ProcessBuilder类还能访问宿主机的操作系统吗 之前有个课设是完成一个python在线实验平台,核心是py在线编译。原理是在服务器上安装Python解释器,前端用vue-codemirror拿到用户输入的py代码,以文本形式发送到服务器并保存为.py文件,再通过ProcessBuilder运行指令调用服务器中的py解释器,拿到运行结果返回给前端。 因为我是第一次用docker来运行前后端,还想要不要连接py容器。但后端容器可以直接运行宿主机里的py解释器,才知道容器虽然是个隔离环境,但可以访问宿主机操作系统。有时候需要挂载目录,像Java提供的ProcessBuilder类,则可以直接通过容器访问到系统资源。 我是这么理解的,有不对的地方请大家帮忙指正!// 狗头
4
求职 后端 #提问# 想问问有没有干货点的java学习方法或视频,能让我全面快速的学习到java所有知识点的[委屈],要就业去。 以前学过java基础,能设计前后端系统。但好久没写,很多语法都忘了,java高级也没学过,看韩顺平的课又感觉太啰嗦。。
4
下载 APP