Main modules:
- Frontend (Vue3): goj-frontend
- Backend (Golang): goj-backend
- Judging service (go-judge): go-judge
If you are not familiar with using Docker, you can use the following script to quickly install Docker and this project (users in China may need to use a proxy if the download is slow):
In the project root directory, you can use the following commands to clone the project and run the installation script:
-
Clone the project source code:
git clone https://github.com/KrisLiu16/OnlineJudge-GOJ.git cd OnlineJudge-GOJ -
Run the installation script:
sudo bash install.sh
-
Ensure that you have Docker and Docker Compose installed.
-
Directly pull the
docker-compose.ymlfile from GitHub:curl -O https://raw.githubusercontent.com/KrisLiu16/OnlineJudge-GOJ/main/docker/docker-compose.yml
-
Run the following command in the terminal to start the service:
docker-compose up -d
This method is suitable for those who prefer a quick setup or are not familiar with installing Docker.
-
Clone the project source code:
git clone https://github.com/KrisLiu16/OnlineJudge-GOJ.git cd OnlineJudge-GOJ -
In the project root directory, use the
docker-compose.ymlfile to build the frontend and backend:docker-compose up -d --build
-
If you need to modify the source code, you can edit it locally and then rebuild.
- Responsive design, mobile-friendly
- Support for multiple color modes
- Simple and intuitive user experience with a modern UI
- Supports multiple programming languages
- Real-time evaluation feedback
- Secure sandbox environment
- Supports various competition modes
- Real-time ranking updates
- Problem discussion
- User rankings
- Personal homepage
- Vue 3
- TypeScript
- Vite
- Pinia
- Vue Router
- Golang
- Gin
- GORM
- Redis
- MySQL
- Docker
- Docker Compose
- Nginx
- Custom themes for the frontend
- WebSocket real-time feedback
- ...
Contributions are welcome! Please submit Issues and Pull Requests.