Skip to content

codeIIEST/onlinejudge-server

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

27 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

onlinejudge-server

Backend component for the codeIIEST online judge. Written in Golang, it is meant to be fast and handle concurrency well.

The project is currently in its development stage but there are several guidelines which should be followed.

What it should support:

  • Parallel execution of test programs in a sandboxed environment (no system("shutdown"))

  • Administrator mode for adding/modifying problems, adding test cases etc.

  • User mode for contests and free practice

  • Fair job scheduler (FIFO).

Table of Contents

  1. Installation
  2. Dependencies
  3. Contributing

1. Installation

Make a .env file and config it accordingly. A sample is provided

Starting the database

Make sure you have docker installed.

To verify the docker config, check the output of the following command.

$ docker-compose config

Once verified run

$ docker-compose up

This will fire up a docker container with postgress and pg-admin.

Run Migrations

Make sure your postgres container is running. Now run the following commands

$ go run migrations/*.go  init

This will print something like version is 0. If no error then continue

$ go run migrations/*.go

This will create the required tables, and migrate the version.

Start the go server

go build -o build/server

2. Dependencies

3. Contributing

Please use the issue tracker. All contributions are more than welcome :)

About

Judge Server for CodeIIEST Online Judge

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published