课程简介
课程链接:https://www.lanqiao.cn/courses/20638
邀请码:x8pGd60V
本课程采用前后端分离架构,基于 Vue.js 和 C++ 技术,从零开始打造 Online Judge。
课程介绍
OJ 是 Online Judge 系统的简称,用来在线检测程序源代码的正确性。OJ 系统能够编译并执行代码,使用预设的数据对这些程序进行测试。提交的代码一般会在受限的环境下运行,包括时间限制、内存限制、安全限制等。
本课程将会从项目设计、项目后端开发、项目前端开发和项目部署四个阶段循序渐进完成对项目的整体构建。项目采用前后端分离架构,基于模块开发,涉及到用户模块、题目模块、公告模块、讨论模块、题解模块、评论模块、测评记录模块和判题模块。
本课程前端采用 Vue.js 框架,后端采用 C++ ,数据库采用 MongoDB 和 Redis,实现了 Markdown 文本的编辑和展示、列表数据分页、题目和测评记录的多条件搜索、父子评论、Monaco Editor 代码编辑器的使用、Token 鉴权实现、缓存实现、判题(支持 C、C++、Java、Python、Javascript 和 Go 语言)等功能。
功能架构
技术架构
效果展示
- 题库页面
- 题目页面
- 测评记录列表页面
- 测评记录对话框
- 题解页面
- 题目编辑页面