Extremely fast online playground for every programming language.
Go to file
Radon Rosborough 6295e51d90 Getting things ready for deploy to Heroku 2020-06-09 15:17:46 -06:00
.circleci Getting things ready for deploy to Heroku 2020-06-09 15:17:46 -06:00
backend/src Getting things ready for deploy to Heroku 2020-06-09 15:17:46 -06:00
frontend Getting things ready for deploy to Heroku 2020-06-09 15:17:46 -06:00
scripts Getting things ready for deploy to Heroku 2020-06-09 15:17:46 -06:00
.dockerignore Getting things ready for deploy to Heroku 2020-06-09 15:17:46 -06:00
.gitignore JavaScript build system hell 2020-06-06 10:28:13 -06:00
Dockerfile.dev Getting things ready for deploy to Heroku 2020-06-09 15:17:46 -06:00
Dockerfile.prod Getting things ready for deploy to Heroku 2020-06-09 15:17:46 -06:00
LICENSE.md Add MIT License 2020-06-05 12:01:40 -06:00
Makefile Getting things ready for deploy to Heroku 2020-06-09 15:17:46 -06:00
README.md API draft, lang config, more utils 2020-06-05 22:21:55 -06:00
package.json Getting things ready for deploy to Heroku 2020-06-09 15:17:46 -06:00
tsconfig-webpack.json Fifth Circle of Webpack 2020-06-06 12:27:19 -06:00
tsconfig.json JavaScript build system hell 2020-06-06 10:28:13 -06:00
webpack.config.js Per-language syntax highlighting 2020-06-06 15:23:21 -06:00
yarn.lock Rename, ejs, homepage, build errors, css 2020-06-09 14:39:45 -06:00

README.md

Fast Sandbox

This project is a work in progress and does not contain any serious documentation.

API

POST /api/v1/ws?lang=python

The API is based on message passing.

Server messages

Received output from process.

{
  "event": "terminalOutput",
  "output": ">>> "
}

Package name completions.

{
  "event": "packageNameCompletions",
  "packageNameCompletions": ["Flask", "Flask-Talisman"],
  "messageSerial": 42
}

Client messages

Received input from user.

{
  "event": "terminalInput",
  "input": "print('Hello, world!')\n"
}

User wants to run code.

{
  "event": "runCode",
  "code": "import this"
}

User wants to install a package.

{
  "event": "installPackage",
  "packageName": "Flask"
}

Complete package names.

{
  "event": "completePackageName",
  "partialPackageName": "fla",
  "messageSerial": 42
}