All Projects → akshitgrover → box-exec

akshitgrover / box-exec

Licence: Apache-2.0 License
Box execute is a npm package to compile/run codes (c,cpp,python) in a virtualized environment, Here virtualized environment used is a docker container. This packages is built to ease the task of running a code against test cases as done by websites used to practice algorithmic coding.

Programming Languages

javascript
184084 projects - #8 most used programming language
c
50402 projects - #5 most used programming language
typescript
32286 projects
Dockerfile
14818 projects
java
68154 projects - #9 most used programming language
C++
36643 projects - #6 most used programming language
python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to box-exec

factorio
Factorio headless server Docker container
Stars: ✭ 25 (+47.06%)
Mutual labels:  docker-container
docker-qbittorrentvpn
Docker container which runs a qBittorent-nox client with an optional WireGuard or OpenVPN connection
Stars: ✭ 76 (+347.06%)
Mutual labels:  docker-container
docker-cakephp
Example Dockerfile for deploying a CakePHP application in a Docker container, able to connect to a remote database with database-based sessions.
Stars: ✭ 31 (+82.35%)
Mutual labels:  docker-container
netty-queue
Simple queue: java, json-rest, netty
Stars: ✭ 21 (+23.53%)
Mutual labels:  sandbox
graph-vl
Self hosted identity verification layer with GraphQL.
Stars: ✭ 25 (+47.06%)
Mutual labels:  docker-container
capsicumizer
Run anything (like full blown GTK apps) under Capsicum
Stars: ✭ 48 (+182.35%)
Mutual labels:  sandbox
executor
A powerful "short-cutter" to your console to you and your team!
Stars: ✭ 21 (+23.53%)
Mutual labels:  executor
mindwendel
Create a challenge. Ready? Brainstorm. mindwendel helps you to easily brainstorm and upvote ideas and thoughts within your team.
Stars: ✭ 22 (+29.41%)
Mutual labels:  docker-container
vrnetlab
Run virtual routers with docker
Stars: ✭ 879 (+5070.59%)
Mutual labels:  docker-container
hypothesis-gufunc
Extension to hypothesis for testing numpy general universal functions
Stars: ✭ 32 (+88.24%)
Mutual labels:  sandbox
voxelsrv
Voxel browser game inspired by Minecraft
Stars: ✭ 49 (+188.24%)
Mutual labels:  sandbox
docker-predictionio
Docker container for PredictionIO-based machine learning services
Stars: ✭ 75 (+341.18%)
Mutual labels:  docker-container
XS2A-Sandbox
XS2ABank - PSD2 XS2A Dynamic Sandbox
Stars: ✭ 41 (+141.18%)
Mutual labels:  sandbox
docker-cheat-sheet
All about docker commands
Stars: ✭ 50 (+194.12%)
Mutual labels:  docker-container
docker-hubot
Docker container for running hubot in a container.
Stars: ✭ 17 (+0%)
Mutual labels:  docker-container
docker-phpmyadmin
phpMyAdmin as Docker container, based on official image, always latest version
Stars: ✭ 40 (+135.29%)
Mutual labels:  docker-container
Flask-Shell2HTTP
Execute shell commands via HTTP server (via flask's endpoints).
Stars: ✭ 93 (+447.06%)
Mutual labels:  executor
docker-aws-s3-sync
Docker container to sync a folder to Amazon S3
Stars: ✭ 21 (+23.53%)
Mutual labels:  docker-container
docker-atlassian
A docker-compose orchestration for JIRA Software and Confluence based on docker containers.
Stars: ✭ 13 (-23.53%)
Mutual labels:  docker-container
docker-observium
Docker container for Observium Community Edition
Stars: ✭ 37 (+117.65%)
Mutual labels:  docker-container

Box Execute

Build Status npm 1.0.3 node >=6 dependencies null examples 5

What Is Box-Execute?

Box execute is an npm package to compile/run codes (c,cpp,python) in a virtualized environment, Here virtualized environment used is a docker container. This packages is built to ease the task of running a code against test cases as done by websites used to practice algorithmic coding.

Using Box-Execute

Box-Execute Structure

Language supported by Box-Execute are:

  • c
  • cpp
  • python 2
  • python 3

NOTE: Language support is to be extended.

For each language supported a docker container is present in which all the codes are executed to get the output.

Under the hood

Box-Execute utilises staging architecture in order to run a code an get the output.

  • Stage One:

Container for a particular language is checked for it's status and in case of container "absence" or "not running status" container is started or restarted based on the container status.

NOTE: This stage is executed in all conditions.

  • Stage Two

Source code file is copied in the running container.

NOTE: This stage is executed in all conditions.

  • Stage Three

This stage is only executed in case when source code file is "C" or "CPP" file. Used for compiling C/CPP code.

NOTE: This stage is executed only when source code file is in C/CPP

  • Stage Four

This is the final stage where code is executed to get the output. Streams are used to write data to STDIN.

NOTE: This stage is executed in all conditions.

Future Work

  • Update Error Return On Command Failure

  • Extend Language Support

  • Add CLI tool

  • Explore For Erroneous Conditions

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].