Remote Code Executor (RCE) as the name suggests, is an online code executor like seen on Leetcode, etc. For the project, we have implemented an infinitely scalable code executor to run a code snippet. It will create a new file for each code input, execute it and returns the output. It supports major languages, i.e., C/C++, Python, Javascipt, Java and can even be extended to support more languages.
- Infinitely Scalable Code
- Code Sanitization
- Time limited execution
- Drag and Drop code and input
- Download code snippet
- Resize the font of the editor
- Light/Dark Mode
- Code Suggestion and Autocompletion
- Application is made infinitely scalable by utilizing the concept of serverless architecture, which is implemented with the help of the Serverless Framework and AWS Lambda Functions.
exec
from NodeJS Child process module was used to execute the code snippets in a shell.- Docker was used to containerize the application which contains all the required dependencies and that image is utilized for AWS Lambda functions.
- A CI/CD pipeline was setup using Github Actions for quick deployment.
Packages | |
---|---|
NextJS | To build frontend application |
Ace Editor | Online IDE Code Editor |
AWS Lambda | Serverless Compute service |
Cloudwatch | Monitor lambda function logs |
API Gateway | To trigger lambda functions |
Docker | To build containerized applications |
Serverless framework | To build serverless applications |
- Clone frontend repository from here
git clone https://github.com/DarikshaAnsari/RCE_Frontend.git
- Install all package dependencies (one time operation)
npm install
- Run using command
npm run dev
- Clone backend repository from here
git clone https://github.com/DarikshaAnsari/RCE_Backend.git
- Install all package dependencies (one time operation)
npm install
- Run using command
npm run dev