Skip to content

Latest commit

 

History

History
135 lines (91 loc) · 3.79 KB

File metadata and controls

135 lines (91 loc) · 3.79 KB

GO! Judge

Go Reference Go Report Card Release Go CI Status

Vue Go Gin Ask DeepWiki

A modern online judging system based on Go and Vue3

中文文档

Main modules:

Installation

Tip: If you are not familiar with Docker

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):

Install Docker

In the project root directory, you can use the following commands to clone the project and run the installation script:

  1. Clone the project source code:

    git clone https://github.com/KrisLiu16/OnlineJudge-GOJ.git
    cd OnlineJudge-GOJ
  2. Run the installation script:

    sudo bash install.sh

Method 1: Use Docker to Pull Images

  1. Ensure that you have Docker and Docker Compose installed.

  2. Directly pull the docker-compose.yml file from GitHub:

    curl -O https://raw.githubusercontent.com/KrisLiu16/OnlineJudge-GOJ/main/docker/docker-compose.yml
  3. 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.

Method 2: Build from Source Code

  1. Clone the project source code:

    git clone https://github.com/KrisLiu16/OnlineJudge-GOJ.git
    cd OnlineJudge-GOJ
  2. In the project root directory, use the docker-compose.yml file to build the frontend and backend:

    docker-compose up -d --build
  3. If you need to modify the source code, you can edit it locally and then rebuild.

Features

Modern User Interface

  • Responsive design, mobile-friendly
  • Support for multiple color modes
  • Simple and intuitive user experience with a modern UI

Powerful Evaluation System

  • Supports multiple programming languages
  • Real-time evaluation feedback
  • Secure sandbox environment

Comprehensive Competition System

  • Supports various competition modes
  • Real-time ranking updates

Community Features

  • Problem discussion
  • User rankings
  • Personal homepage

Tech Stack

Frontend

  • Vue 3
  • TypeScript
  • Vite
  • Pinia
  • Vue Router

Backend

  • Golang
  • Gin
  • GORM
  • Redis
  • MySQL

Deployment

  • Docker
  • Docker Compose
  • Nginx

Development Plan

  • Custom themes for the frontend
  • WebSocket real-time feedback
  • ...

Contribution

Contributions are welcome! Please submit Issues and Pull Requests.

License

MIT License

Project Address

GitHub Project Address