Giter VIP home page Giter VIP logo

mysuioj's Introduction

MySui Online Judge

MySui Online Judge MySui Online Judge 是一个开源的在线评测 C, C++, Java 和 Python 程序的系统,基于CodeIgniter框架开发。

前端网页及交互页面由PHP语言开发,后端主要采用BASH。

Python代码的测试目前还没有使用沙箱,仅使用一种低权限的操作来判定python。

如果你想要使用Online Judge来判定python, 用你自己的安全环境或使用支持python的沙箱。

关于Online Judge完整的使用文档在 https://github.com/MySuiLab/MySuiOJ/wiki

如果你在使用过程中遇到任何问题或有好的建议,欢迎加入http://club.mysui.org ,我们一起讨论。

Demo(CN):MySui Online Judge

功能

  • 多种用户权限 (管理员, 班主任, 老师, 学生)
  • 沙箱 (暂不支持python)
  • 作弊判定 (查找相似代码) 更多 Moss
  • 可定制评测最近一次提交的规则
  • 提交队列
  • 以excel文件的形式下载评测结果
  • 通过zip格式的压缩包下载已提交的代码
  • 通过_"输出比较"_ 和 "测试代码" 的形式来检测提交代码输出的正确性
  • 多用户支持
  • 支持多种格式的题目描述文件 (PDF/Markdown/HTML)
  • 可以重新进行判定
  • 积分板
  • 推送通知
  • ...

安装要求

要运行MySui Online Judge,需要一个linux系统,且满足以下条件:

  • 服务器运行的PHP的版本为5.3或更新,并且有着mysqli扩展
  • 装有PHP CLI (PHP的命令行界面, i.e. php shell 命令)
  • 使用的数据库为MySql或PostgreSql
  • 安装的PHP必须有权限运行shell命令 使用方法 shell_exec() php函数 (特别是 shell_exec("php");
  • 装有编译和运行提交的代码的工具 (gcc, g++, javac, java, python2python3)
  • 最好装有perl,使得能更精确的测量提交代码的运行时间和所耗内存以及体积大小。

安装

详细安装文档

  1. 下载需要版本的代码 code page ,把解压缩所得的文件放入网页文件夹里,例如apache2默认的文件夹是/var/www/html。
  2. [可选] 移动文件夹 systemapplication 到你的个人目录下, 并把所在目录的完整路径写在 index.php 文件里 ($system_path 和 $application_folder 这两个参数)。
  3. 专门为Online Judge创建一个MySql或是PostgreSql的数据库。不要安装任何用C/C++, Java或Python语言编写的数据库连接软件。
  4. application/config/database.php文件里设置数据库连接选项。
  5. **[重要]**使文件夹 application/cache/Twig php可写,而不是只有owner。
  6. 在浏览器里打开Online Judge的主页,开始安装。
  7. 使用上一步设置的管理员账户登陆。
  8. [重要] 移动文件夹 testerassignments 到你的个人目录下,然后把它们的完整路径写在 设置 页面里. 这两个文件夹必须使得PHP可写而不是只有owner. 提交的文件将被放置在 assignments 文件夹里,所以应该放在非公开目录里。
  9. [重要] MySui Online Judge安全相关

安装之后

开源协议

GPL v3

mysuioj's People

Contributors

airicy avatar vufa avatar countstarlight avatar

Stargazers

 avatar beini avatar  avatar stevensunzh avatar LARE avatar Leo avatar KirinBaka avatar  avatar 邓晖 avatar Guoguang avatar Si Chen avatar  avatar Aji avatar  avatar  avatar 秋叶随风ivan avatar Binging avatar  avatar  avatar

Watchers

James Cloos avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.