- SOJ是一款OJ系统!
- 采取wire依赖注入解耦,采取经典三层架构(handle+service+repository)
- 支持ACM模式, 支持比赛和封榜功能
- 基于Judge0沙箱实现
- Golang
- gin web框架
- gorm ORM框架
- wire 依赖注入
- RabbitMQ 消息队列
- MySQL 关系数据库
- MongoDB 文档数据库
- redis 缓存数据库
- judge0 测评+沙箱 -> 正在尝试切换为codenire
- 腾讯云COS 对象存储
- Docker 容器化
git clone https://github.com/sparklyi/SOJ.git
cd SOJ
vi config/config.yaml # 更新代码配置(如ip 密码等)
vi docker-compose.yaml # 更新容器配置(如名称 密码等)
vi judge0.conf # 更新沙箱配置(内存限制等)
cd SOJ
docker build -t soj_server:1.0 .
docker-compose up -d
docker run -d -p 8888:8888 --name soj_server soj_server:1.0
欢迎任何形式的贡献
本项目使用MIT许可
- VX: sparkyi1026
- Email: sparkyi@foxmail.com
- judge0 分支已基本完成,使用judge0沙箱测评
- codrenire 正在转换为codenire沙箱
- dev和main分支目前维护judge0