qduoj-二次开发记录

Finen 2019-02-26 1000000

# qduoj二次开发的一些记录

# git clone OnlineJudgeFE

git clone your_url(fork到你自己的github上的url)

# git clone OnlineJudge

git clone your_url(fork到你自己的github上的url)

# 安装需要的软件

redis
psql
编码工具(vim vscode)

# 配置相应的OnlineJudge的包

添加一个custom_settings.py文件,内容如下:

SECRET_KEY = "222" # 这里的key任意输入

修改dev_settings.py,数据库为psql,内存数据库为redis。(如果你的端口、用户名、密码是正确的则不需更改)

DATABASES = {
	'default': {
		'ENGINE': 'django.db.backends.postgresql_psycopg2',
		'HOST': '127.0.0.1',
		'PORT': 5432,
		'NAME': "onlinejudge",
		'USER': "postgres",
		'PASSWORD': 'postgres'
	}
}

REDIS_CONF = {
	"host": "127.0.0.1",
	"port": "6379"
}

# 配置并运行后端

pip install ***(后端所需要的各种库)
python manage.py migrate 
python manage.py inituser --username=root --password=rootroot --action=create_super_admin
python manage.py runserver

# 配置并运行前端

npm install

NODE_ENV=development npm run build:dll

export TARGET=http://Your-backend
# 一般为:export TARGET=http://127.0.0.1:8000

npm run dev

# redis设置

redis-server运行: /usr/local/redis-4.0.9/src/redis-server /usr/local/redis-4.0.9/redis.conf

# 访问

在浏览器输入localhost:8080 即可出现真个oj系统

# 构建你自己的OJ镜像

在你完成修改前端代码后需要构建自己的docker镜像,你可以使用阿里云的docker进行构建,构建地址-阿里云docker ,因为大部分我见过的都是自己要改前端,所以只需构建前端的镜像即可,构建完成后,修改OnlineJudgeDeploy/docker-compose.yml,修改oj_backend的镜像地址为你自己的地址,修改

git clone -b 2.0 https://github.com/yourname/OnlineJudgeDeploy.git && cd OnlineJudgeDeploy

然后通过你自己的OnlineJudgeDeploy进行安装。

# 与OnlineJudge保持同步更新

二次开发可能遇到很多问题,因为作者更新,而你没有更新,很可能导致错误,诸如:compile error,所以有必要跟随作者的更新。

git remote add upstream qduoj_url
# 例如 git remote add upstream https://github.com/QingdaoU/OnlineJudgeFE.git

git remote -v

git fetch upstream 

git merge upstream/master