Skip to content
An open source online judge system base on Django REST framework and Vue.js !
Vue C Python JavaScript HTML Java Other
Branch: master
Clone or download
Latest commit b79ce10 Nov 18, 2019
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
Android 添加安卓项目 Sep 29, 2019
Backend fix readme Nov 18, 2019
CrawlingServer fix crawling Nov 6, 2019
Database 提升用户体验 Oct 19, 2019
Docs fix readme Nov 18, 2019
Frontend fix little bug Nov 18, 2019
FrontendMobile 添加贫穷提示 Nov 17, 2019
Judger fix Nov 18, 2019
JudgerServer fix judge bug Oct 30, 2019
.gitignore 3.1发布,添加spj和更新为https Sep 25, 2019
.travis.yml update readme May 6, 2019
LICENSE 更新 Readme和许可 Apr 27, 2019
README.md fix readme Nov 18, 2019
docker-compose-build.yml fix docker file Oct 22, 2019
docker-compose.yml 添加ssl Nov 6, 2019

README.md

LPOJ

Python Django Rest Framework vue travis-ci Join-QQ-Group

一个基于Vue.js和Django的轻量级在线评测系统

目前应用于广东外语外贸大学

Demo地址:www.lpoj.cn

说明文档:docs.lpoj.cn

简述

  • 轻量级,易于部署和自定义定制
  • 前后端分离,提高服务器性能
  • 支持多机器多进程判题,判题更高效
  • 支持 C/C++/Java/Python2/Python3和Swift5.1语言
  • 支持 Special Judge
  • 丰富的API,开放的源代码
  • 实时爬取用户的博客和其他OJ的做题数
  • 丰富的算法知识和体系化的套题训练
  • 一键保存和导出代码模板
  • 包含类CF的积分体系和比赛机制
  • 现代化的界面 + 手机适配
  • 支持类似LeetCode的模板题判题功能

模块列表

使用Docker部署

环境准备

  1. 安装必要的依赖
sudo apt-get update
sudo apt-get install -y git
sudo apt install docker.io -y
sudo apt install docker-compose -y
sudo apt-get install openssh-server -y
sftp yourusername@localhost # 验证是否安装成功!
  1. 开始安装
git clone https://github.com/Linzecong/LPOJ.git && cd LPOJ

# 如有需要,修改docker-compose.yml中的数据库密码(所有的 DB_PASSWORD,MYSQL_ROOT_PASSWORD 字段)

# 必须修改docker-compose.yml中的BACKEND_PATH,SFTP_USER,SFTP_PASSWORD为你的LPOJ/Backend文件夹的绝对路径和服务器的用户名密码

# 必须修改docker-compose.yml中的SFTP_IP为你的服务器的IP

sudo docker-compose up -d --scale judger=3

# 以上命令默认开启3个判题机,可以自行修改数量

根据网速和配置情况,大约10到20分钟就可以自动搭建完成,全程无需人工干预。

等命令执行完成,然后运行 sudo docker ps -a 当看到所有的容器的状态均为 Up 就代表 OJ 已经启动成功。

安装成功后,先通过IP:8080访问OJ,注册一个用户

然后进入 IP:8000/admin 以用户名admin 密码admin 登录后台(请及时修改后台密码)

修改User表中,你注册的超级用户的type为3,使得你注册的用户变为超级管理员

  1. 更新OJ

如要更新OJ只需在LPOJ目录下执行如下步骤

sudo docker-compose stop
sudo docker-compose pull
sudo docker-compose up -d --scale judger=3
# 以上命令默认开启3个判题机,可以自行修改数量

容易运行时产生的数据会保存在对应的文件夹中,如数据库文件,题目数据等

自定义OJ

首先先下载源代码

git clone https://github.com/Linzecong/LPOJ.git && cd LPOJ

然后随意修改你要修改的地方,修改完毕后,使用如下命令重新部署

sudo docker-compose -f docker-compose-build.yml up -d --build --scale judger=3

由于会重新构建整个系统,而不是拉去已构建好的镜像,所以花的时间会比较长~请耐心等待

如无意外,部署成功!

具体使用,请参阅使用文档

部分截图

image1

image2

image3

image4

image5

image6

或者你可以直接访问我们 www.lpoj.cn

浏览器支持

Modern browsers(chrome, firefox)

特别感谢

许可

The MIT License

You can’t perform that action at this time.