
在线判题项目 笔记
新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


