Extremely fast online playground for every programming language.
Go to file
Radon Rosborough 728ec07f9d [#18] Fix link in README 2020-08-22 18:38:59 -06:00
.circleci Prepare new deployment infrastructure 2020-06-10 21:14:50 -06:00
backend/src LSP working for Dart 2020-08-22 17:24:49 -06:00
frontend Add Fathom Analytics 2020-08-16 10:34:22 -06:00
scripts LSP working for Java 2020-08-22 16:52:50 -06:00
system/src Various fixes 2020-07-29 21:06:57 -06:00
.dockerignore Getting things ready for deploy to Heroku 2020-06-09 15:17:46 -06:00
.gitignore All basic tests passing or skipped 2020-07-30 17:32:11 -06:00
Dockerfile.dev Attempt to fix dpkg-configure error in build 2020-07-29 12:09:52 -06:00
Dockerfile.prod The edge of glory (rolling-release ~everything~) 2020-07-31 19:30:08 -06:00
LICENSE.md Add MIT License 2020-06-05 12:01:40 -06:00
Makefile Add 'make docker-nobuild' target 2020-07-19 08:49:42 -06:00
README.md [#18] Fix link in README 2020-08-22 18:38:59 -06:00
flag.png Add flag 2020-06-09 22:06:56 -06:00
package.json Misc bugfixes for runner and test cases 2020-07-30 16:01:16 -06:00
tsconfig-webpack.json Refactor api.ts, plug resource leaks, fix build 2020-07-11 11:09:12 -06:00
tsconfig.json Misc bugfixes for runner and test cases 2020-07-30 16:01:16 -06:00
webpack.config.js LSP working with Python!! 2020-07-05 12:21:56 -06:00
yarn.lock Bump elliptic from 6.5.2 to 6.5.3 2020-08-22 18:08:06 +00:00

README.md

Riju

Riju is a very fast online playground for every programming language. In less than a second, you can start playing with a Python interpreter or compiling INTERCAL code.

Check out the live application!

You should not write any sensitive code on Riju, as NO GUARANTEES are made about the security or privacy of your data. (No warranty etc etc.)

This project is a work in progress, and I don't intend on thoroughly documenting it until it has reached feature-completeness.

Project setup

To run the webserver, all you need is Yarn. Just run yarn install as usual to install dependencies. For production, it's:

$ yarn backend    |- or run all three with 'yarn build'
$ yarn frontend   |
$ yarn system     |
$ yarn server

For development with file watching and automatic server rebooting and all that, it's:

$ yarn backend-dev    |- or run all four with 'yarn dev'
$ yarn frontend-dev   |
$ yarn system-dev     |
$ yarn server-dev     |

The webserver listens on localhost:6119. Now, although the server itself will work, the only languages that will work are the ones that happen to be installed on your machine. (I'm sure you can find a few that are already.) Also, sandboxing using UNIX filesystem permissions will be disabled, because that requires root privileges. If you want to test with all the languages plus sandboxing (or you're working on adding a new language), then you need to use Docker. Running the app is exactly the same as before, you just have to jump into the container first:

$ make docker

Note that building the image typically requires over an hour and 20 GB of disk space.

See also riju-cdn.

Flag

Flag