This project is a React-based code builder that utilizes the Monaco Editor. It allows users to write and execute code snippets within a web browser. It uses Judge0 as a code execution system
Follow these instructions to get the project up and running on your local machine.
Node.js installed on your machine npm or yarn package manager
Clone the repository to your local machine:
git clone <repository-url>
Install dependencies using npm or yarn: bash
npm install
# or
yarn install
Let's set up Judge0 and proceed to the following actions:
- Navigate to Judge0, then select the Basic Plan.
- In reality, RapidAPI hosts Judge0. Proceed and sign up for the basic plan.
- You can copy the RAPIDAPI_HOST and RAPIDAPI_KEY, which are required to perform API calls to our code execution system, once you have subscribed.
- Create a .env file in the root directory of your project if it doesn't already exist.
- Set the following environment variables in the .env file:
REACT_APP_RAPID_API_HOST=YOUR_HOST_URL
REACT_APP_RAPID_API_KEY=YOUR_SECRET_KEY
REACT_APP_RAPID_API_URL=YOUR_SUBMISSIONS_URL
Replace YOUR_HOST_URL, YOUR_SECRET_KEY, and YOUR_SUBMISSIONS_URL with the appropriate values for your Rapid API and Judge0 API endpoints.
Create a .env file in the root directory of your project if it doesn't already exist. Set the JUDGE0_SUBMISSION_URL environment variable in the .env file. This variable should point to the URL of the Judge0 API endpoint you want to use for code execution. For example: plaintext
JUDGE0_SUBMISSION_URL=https://api.judge0.com/submissions
Replace https://api.judge0.com/submissions with the appropriate URL for your Judge0 API endpoint.
Running the Development Server Once the configuration is complete, you can start the development server to see the React code builder in action.
npm start
# or
yarn start
Open your web browser and navigate to http://localhost:3000 to access the application.
- Write your code in the Monaco Editor.
- Execute the code snippet by clicking the "Run" button.
- View the output in the console or output panel.
Contributions are welcome! Feel free to submit pull requests or open issues.
In the cloud-free development environment where you can directly start coding.
You can use Gitpod in the cloud
Feel free to customize this README.md according to your project's specific requirements and features. Let me know if you need further assistance!
