精选

在线判题项目 笔记

新oj判题项目完结

这次做这个项目,花了将近快3个月,因为要考研只能每天抽点时间出来弄,每天都搞一点,断断续续搞完了,根据猫十二懿大佬的笔记把限流和死信队列做了,同时也参考了球友的扩展。

做题的页面主要是仿照的是蓝桥杯的形式

这个项目是鱼皮里自己做的最久的项目,进行扩展点最多的项目,自己确实是收获了很多,基本就是遇到不懂的就是自己看文档,问ai,踩了不少坑,但是都坚持下来了,感谢鱼皮,感谢各位球友的笔记,向鱼皮的新项目进发

项目扩展和优化:

1.这次鉴权和登录模块直接使用了sa-token的框架,方便,快速,一行代码就能实现,节约了不少时间

2.在全局布局头处。由用户名修改为头像显示

3.Markdown 编辑器优化:中文提示,代码块高亮,全屏隐藏输入输出用例。

4.添加死信队列,避免消息积压

5.用户提交题目限流

6.添加了提交数、通过数,前端计算通过率,优化了通过率的显示添加了一个进度条

7.新增了代码提交详情页,详情页是通过另外的插件来展示代码,支持复制代码,添加了每个问题的可以查看提交记录

8.代码沙箱可以支持不同语言,目前有c,c ,python,java实现是根据b站名为:护弱这位球友的思路实现的,支持读取scan输入进行判题

9.前端支持不同的语言切换不同的语言模板,进行代码的提交

代码仓库:

Github:

https://github.com/aiaicoder/xinoj-code-sandbox (代码沙箱)

https://github.com/aiaicoder/xinoj-backend(判题后端)

https://github.com/aiaicoder/xinoj-frontend(判题前端)

项目的扩展笔记: https://www.yuque.com/xinzhizhu-zfwhl/khre4a/bvvgca7mb9zw73ld?singleDoc#

完成项目的收获:

1.首次了解到并使用了]ava自带的安全管理器

2.第一次使用到远程开发的方法。

3.回顾了微服务的模块划分。

本项目全部采用docker部署,非常省事除了今天遇到了一点小坑折磨了我一个上午

后续的改造:

继续改造微服务项目

使用微服务部署上线

http://175.178.43.62/ 网站来咯(轻点玩[合十])

管理员账户

用户名:xinaa

密码:12345678 5otfou5f vmfmo31q b397d945 t64vrsrs mokzrcog vp0b8rzg 24xva2ew v8p9oxd6

0个评论
点击登录,快来和大家讨论吧~
表情
图片
暂无评论
新之助
下载 APP