Coder Social home page Coder Social logo

Turingarena

CI testing

A collection of libraries and tools to create programming challenges and competitions.

Getting started

  1. Make sure to have (a recent version of) Node and NPM installed and in PATH.
  2. Make sure to have installed tmux
  3. To install dependencies, run:
    ( cd server/ ; npm ci )
    ( cd web/ ; npm ci )

Possible issue

On Ubuntu 18.04 (and maybe other older version) the NPM could not be updated to the latest version available with a default installation. This could make the previous code to not work because it is not recognizing the comand npm ci. To fix this problem you need to upgrade to a recent version of NPM running:

    curl -sL https://deb.nodesource.com/setup_14.x | sudo -E bash -
    sudo apt-get install -y nodejs
  1. Import the example contest with:
    ( cd server/ ; npm run cli -- import ../examples/example-contest/ )
  1. TODO: running the server in production

Using Docker

You can run this application with Docker, to have a system ready to use, that you can also use on macOS or Windows.

  1. Build the Docker container (at this point we don't provide prebuilt ones)
docker build . -t turingarena:turingarena

It will probably take a few minutes, so go to drink a cofee while the system build everything.

  1. Start the server like this
docker run --privileged -it -p 3000:3000 -v $PWD/server:/data turingarena:turingarena serve

Of course change the port or the working directory (/data) as you wish. It's important to use the --privileged option, otherwise the sandbox will not work. You may need root privileges on your system to use that.

TuringArena's Projects

commonbox icon commonbox

A minimal API for a sandbox, supporting writing input, reading output, measuring and limiting resource usage.

iospec icon iospec

A language to specify input/output format, and tools to automate I/O validation, parser generation, and more.

tabox icon tabox

Sandbox for task-maker and TuringArena

turingarena icon turingarena

A collection of libraries and tools to create programming challenges and competitions

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.