Skip to content

OussaZaki/GraphQL-Docker-Online-Judge

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

22 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Cotato Online Judge

Cotato Logo

Free and Open Source Online Judge, including a public API, Client and an Admin platform, powered by GraphQL and Angular.

Work In Progress

This project is still under developement, contributers are welcome.

About

Cotato is a generic Online Judge to host competitive programming contest, online or onsite. The project include both the API, and the Client, with a potential admin platform.

The stack

Cotato is built using bunch of awesome Open Source Projects, such as:

Installation

Cotato consists of 2 projects, the API and the client.

Prerequisites

The project is built using node, therefore make sure that you have node (v6.x) and npm (v3.x) on your machine.

Additionally at this stage, it uses python2 to run the source codes, so make sure you have it installed, to make sure it's v2, you can run:

$ `python --version` 

Clone the repository

$ git clone https://github.com/mrtensai/cotato.io
$ cd cotato.io

API

Following is how to get the api up and running:

$ cd api.cotato.io
$ yarn
$ gulp build
$ gulp serve:prod

To run the API in dev (watch) mode, run

$ gulp serve

The API listens on http://localhost:4242/graphql

Client

The client use angular-cli, and this is how to get the client up and running:

$ cd client.cotato.io
$ npm install
$ npm start

The Client can be accessed through http://localhost:4200/

Work in Progress

The project is still in the POC state, here's a list of the upcoming features:

  • Running a source code on an Input file
  • Output comparison
  • Problem Judging (AC, WA)
  • Authentication

The project also needs some technical enhancement:

  • API Build tools enhancements
  • API testing
  • Container support (Docker)
  • Persistence

Because potatoes can code too

cotatoes