modulepackage
0.0.0-20240524080422-653510c75048
Repository: https://github.com/axope/joj.git
Documentation: pkg.go.dev
# README
JOJ
使用 Golang 开发的一个 OJ,支持水平拓展测评机。
开发环境
- centos 7.9
- go 1.21.9
项目结构图
.
├── api api层
│ └── v1
├── common
│ ├── jwt jwt模块
│ ├── log 日志模块
│ ├── request 各种request结构定义
│ └── response 各种response结构定义
├── configs 各种组件配置
├── deployments
│ └── docker docker
├── docs swaggo文档
├── internal
│ ├── dao dao层
│ ├── middleware 中间件
│ ├── model 模型层
│ ├── router 路由配置
│ └── service 服务层
├── logs
├── script 辅助脚本
└── utils 工具类
功能模块
-
user模块
- 用户注册
- 用户登录
- 用户管理
- 密码修改
-
problem模块
- 出题
- 查询指定的problem
-
Judge模块
- 目前支持
CE
,AC
,WA
,RE
,TLE
,MLE
判题结果
- 目前支持
-
sandbox模块
-
contest模块
技术栈
- docker部署
- 后端框架:Gin
- 传输协议:protobuf
- 日志:zap+lumberjack
- 配置管理:viper
- 数据库:MySQL+mongoDB
- 消息队列:RabbitMQ