Skip to content

rajatmaheshwari2512/remote-code-frontend

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

27 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Remote Code Executor

FrontEnd code of a Remote Code Executor
Report Bug · Request Feature

Table of Contents

  1. About The Project
  2. Getting Started
  3. Usage
  4. Roadmap
  5. Contributing
  6. License
  7. Contact
  8. Deployment
  9. Screenshots

About The Project

This is the FrontEnd code of a Remote Code Executor. This is a project assigned by the Coding forum of my college and is similar to the Online IDEs of websites like CodeChef and Leetcode.

Salient Features:

  • Code Sanitisation
  • An individual Docker Container is created for every code posted on the API, so no code interferes with any other code
  • All Async code so that the server can handle multiple requests without error
  • Socket has been implemented along with rooms for seperate users so that the server can handle multiple users in multiple rooms
  • Keeping it simple, there is not need for signup or login, you can jump in and start coding
  • Timeouts and max memory have been implemented so that no code takes up too much of the server's time
  • Implemented SwaggerUI as an API Sandbox so anyone can explore endpoints and familiarize themselves with the server
  • Timeout to prevent the user from spamming the run code button and triggering a DoS attack
  • Adequate toasts have been implemented so that anyone in the room is alerted if anyone joins or leaves
  • No duplicate usernames are allowed
  • In case a user loses internet, he will be taken back to the Join Page, and will be prompted to login again
  • Completely responsive so people on mobile can use this RCE as well.

Built With

express react docker

Getting Started

To get a local copy up and running follow these simple steps.

Prerequisites

  • npm
    npm install npm@latest -g
  • yarn
    npm install -g yarn

Installation

  1. Clone the repo
    git clone https://github.com/rajatmaheshwari2512/remote-code-frontend
  2. Install NPM packages
    npm install
  3. Or using yarn
    yarn install

Usage

  • To run the React App with npm
    npm start
  • To run the React App with yarn
    yarn start
  • It is important to note that you will have to setup environment variables to the appropriate endpoints, should you deploy this locally or somewhere else

Roadmap

See the open issues for a list of proposed features (and known issues).

Contributing

Contributions are what make the open source community such an amazing place to be learn, inspire, and create. Any contributions you make are greatly appreciated.

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

License

Distributed under the MIT License. See LICENSE for more information.

Contact

Rajat Maheshwari - [email protected]

Project Link: https://github.com/rajatmaheshwari2512/remote-code-frontend

Site Link: SwaggerUI Link

Main Site Link: FrontEnd UI

Deployment

  • This project is currently deployed on an EC2 Instance provided by AWS

Screenshots

About

No description or website provided.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published