Giter Club home page Giter Club logo

ide's Introduction

Judge0 Wallpaper

Judge0 CE

License Release Stars

DigitalOcean Referral Badge

🔥 The most advanced open-source online code execution system in the world.

Table of Contents

About

Judge0 (pronounced like "judge zero") is a robust, scalable, and open-source online code execution system. You can use it to build a wide range of applications that need online code execution features. Some examples include competitive programming platforms, e-learning platforms, candidate assessment and recruitment platforms, online code editors, online IDEs, and many more.

In our research paper Robust and Scalable Online Code Execution System, we present Judge0's modern modular architecture that can be easily deployed and scaled. We study its design, comment on the various challenges in building such systems, and compare it with other available online code execution systems and online judge systems.

To see Judge0 in action, try Judge0 IDE - our free and open-source online code editor.

Features

  • Quick and easy installation
  • Rich and verbose API documentation
  • Scalable architecture
  • Sandboxed compilation and execution
  • Support for 60+ languages
  • Compilation and execution of multi-file programs
  • Support for additional files alongside the user's program
  • Support for custom user-defined compiler options, command-line arguments, and time and memory limits
  • Detailed execution results
  • Webhooks (HTTP callbacks)

For more information about these and other features, please read the documentation.

Get Started

Feel free to start with the FREE Basic Plan on RapidAPI or host it yourself.

You can find our detailed plans and pricing here. So far our clients have run with us more than programs.

Why should you use Judge0 on RapidAPI?

Our infrastructure allows you to focus on building your product and forget about the know-how of maintaining and scaling Judge0.

RapidAPI plans are not (good) enough for you?

Let's talk. Contact us.

Flavors

Judge0 comes in two flavors: Judge0 CE and Judge0 Extra CE. They differ mostly in the supported languages.

You can find the source code for Judge0 CE on the master branch, while you can find the source code for Judge0 Extra CE on the extra branch.

Judge0 Extra CE is also available on RapidAPI.

Supported Languages

Judge0 comes in two flavors: Judge0 CE and Judge0 Extra CE. They differ mostly in the supported languages.

Click here to expand the list
# Name
1 Assembly (NASM 2.14.02)
2 Bash (5.0.0)
3 Basic (FBC 1.07.1)
4 C (Clang 7.0.1)
5 C (GCC 7.4.0)
6 C (GCC 8.3.0)
7 C (GCC 9.2.0)
8 C# (Mono 6.6.0.161)
9 C++ (Clang 7.0.1)
10 C++ (GCC 7.4.0)
11 C++ (GCC 8.3.0)
12 C++ (GCC 9.2.0)
13 Clojure (1.10.1)
14 COBOL (GnuCOBOL 2.2)
15 Common Lisp (SBCL 2.0.0)
16 D (DMD 2.089.1)
17 Elixir (1.9.4)
18 Erlang (OTP 22.2)
19 Executable
20 F# (.NET Core SDK 3.1.202)
21 Fortran (GFortran 9.2.0)
22 Go (1.13.5)
23 Groovy (3.0.3)
24 Haskell (GHC 8.8.1)
25 Java (OpenJDK 13.0.1)
26 JavaScript (Node.js 12.14.0)
27 Kotlin (1.3.70)
28 Lua (5.3.5)
29 Objective-C (Clang 7.0.1)
30 OCaml (4.09.0)
31 Octave (5.1.0)
32 Pascal (FPC 3.0.4)
33 Perl (5.28.1)
34 PHP (7.4.1)
35 Plain Text
36 Prolog (GNU Prolog 1.4.5)
37 Python (2.7.17)
38 Python (3.8.1)
39 R (4.0.0)
40 Ruby (2.7.0)
41 Rust (1.40.0)
42 Scala (2.13.2)
43 SQL (SQLite 3.27.2)
44 Swift (5.2.3)
45 TypeScript (3.7.4)
46 Visual Basic.Net (vbnc 0.0.0.5943)
Click here to expand the list
# Name
1 Bosque (latest)
2 C (Clang 10.0.1)
3 C (Clang 9.0.1)
4 C# (.NET Core SDK 3.1.302)
5 C# (Mono 6.10.0.104)
6 C# Test (.NET Core SDK 3.1.302, NUnit 3.12.0)
7 C++ (Clang 10.0.1)
8 C++ (Clang 9.0.1)
9 C++ Test (Clang 10.0.1, Google Test 1.8.1)
10 C++ Test (GCC 8.4.0, Google Test 1.8.1)
11 C3 (latest)
12 F# (.NET Core SDK 3.1.302)
13 Java (OpenJDK 14.0.1)
14 Java Test (OpenJDK 14.0.1, JUnit Platform Console Standalone 1.6.2)
15 MPI (OpenRTE 3.1.3) with C (GCC 8.4.0)
16 MPI (OpenRTE 3.1.3) with C++ (GCC 8.4.0)
17 MPI (OpenRTE 3.1.3) with Python (3.7.7)
18 Nim (stable)
19 Python for ML (3.7.7)
20 Visual Basic.Net (vbnc 0.0.0.5943)

References

Companies, Organizations, and Projects

These companies, institutions and organizations use Judge0.

Scientific Articles

These scientific articles mention Judge0.

Other Online References

Citation

Please cite us if you found the resources in this repository useful.

@INPROCEEDINGS{9245310,
  author={Došilović, Herman Zvonimir and Mekterović, Igor},
  booktitle={2020 43rd International Convention on Information, Communication and Electronic Technology (MIPRO)},
  title={Robust and Scalable Online Code Execution System},
  year={2020},
  volume={},
  number={},
  pages={1627-1632},
  doi={10.23919/MIPRO48935.2020.9245310}}

Community

Do you have a question, feature request, or something else on your mind? Or you want to follow Judge0 news?

Author and Contributors

Judge0 was created and is maintained by Herman Zvonimir Došilović.

Thanks a lot to all contributors for their contributions to this project.

Changelog

You can find the detailed specification of changes between versions in CHANGELOG.md.

Special Thanks

Special thanks to open-source projects without whom Judge0 probably wouldn't exist: Isolate, Docker, Ruby on Rails and others.

License

Judge0 is licensed under the GNU General Public License v3.0.

ide's People

Contributors

hermanzdosilovic avatar ron-popov avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

ide's Issues

error

{
"readyState": 4,
"responseText": "403 Forbidden",
"status": 403,
"statusText": "error"
}

this type why given

Modified URL

Can we create manual URL instead of random URL?

Save error

when we press ctrl+s then the ouput message is as per below

{
    "readyState": 0,
    "status": 0,
    "statusText": "error"
}

Bug PHP Code Injection

Hello, i found PHP Code injection
image
Iam using system() function in PHP to test it, when run simple php code injection payload to read /etc/passwd
<?php system('cat /etc/passwd'); ?>
The output will be like this
image

Editor themes

It would be cool if we could change editor theme with using CodeMirror.

User would see dropdown (in navbar) of avaliable themes and when he selects his theme whole interfaces changes in that style.

Local File saving system

I have downloaded the the IDE source and I want a file opening and file saving system for my PC. How to do that?

Settings Page

A settings page that will contain all of the ide's settings (vim mode toggle, theme selection box, etc ...)

Autoformating

Hi,

@hermanzdosilovic can you estimate how much work would it be, to get an "Autoformat" button working?

I figured the easiest solution could be:

  1. take the source, send it to the judge api
  2. use astyle as "compiler"
  3. write the output back to the Implementation window (which might be the hard part)

For the Background: I am evaluating Online IDEs and i like the clear and simple structure of the judge0 IDE.
I've got a student research assistant which i want to give the task to get judge0 running with MPI support for multiple cluster nodes, since i want to use it to teach parallel programming. So while being at this, i am evaluating if i also want him to add this comfort feature, just to improve the readability of code. :)

Thank you and your pals for this nice platform!

Have a very good day,
Ronny

RapidAPI Support

Since June 1st, it can't work with public api, it will be easier to deploy if you can support RapidAPI (like clone the code, fill the auth token and ready-to-use).

Resizable editors

There are currently three editors: source code, input and output editor. Each of them cannot be resized.

It would be great if each editor could be resized. Source code editor in up/down direction, and input and output editor in left/right direction.

IDE GUI issue in Mobile devices

Hi Herman,

When i try to open the IDE https://ide.judge0.com in mobile devices (chrome browser) I am facing a major issue with the GUI. 

Steps to reproduce:

  1. Open https://ide.judge0.com/
  2. Using the two fingers try to expand and collapse the IDE page. The GUI will get distorted and won't able to come to original length.

I guess there could an easy fix, so that GUI remains intact when a user tries to expand and collapse the IDE page with fingers but I am not good in CSS and so unable to find a solution. 

Kindly let me know. 

Vim mode

User should be able to enable/disable vim mode in Judge0 IDE.

We could use CodeMirror built in functionality for this as we already use CodeMirror for our editors.

Stuck at Running

When we submit code and click on submit button it stuck at running phase, may problem with API ?

Unable to run "Python for ML" in my local

Screenshot (529)
Hi Sir,
I cloned judge0/ide/rapidapi branch then add all credentials for judge0 extra CE. But when I run "Python for ML" code it gives me Error 403.
Is there any way to run "Python for ML" locally without using Docker?
Can Somebody please help me on this? @hermanzdosilovic @ron-popov
Thanks in advance !!

Dynamic Source Editor

I want to display Dynamic questions and Judge0 source Editor on same page
For Example:
Multiple Questions followed by multiple Source Editors

Issue:
First Question Source Editor Only Enabled and working properly Others not working.

Please let me help with this issue.

Change the filename of source code

Currently, if we download the source code the filename always main.{ext}
It would be nice if we can change the filename in the editor

Long Input not working

I recently tried a code with a very long stdin
It outputs error, Any solution?
Here's the code

# Enter your code here. Read input from STDIN. Print output to STDOUT
a, b = (int(x) for x in input().split())
happy = 0
l = [int(x) for x in input().split()]
A = set(int(x) for x in input().split())
B = set(int(x) for x in input().split())
for x in l:
    if x in A: happy += 1
    elif x in B: happy -= 1
print(happy)

This link contains the input testcase: https://hr-testcases-us-east-1.s3.amazonaws.com/8382/input03.txt?AWSAccessKeyId=AKIAJ4WZFDFQTZRGO3QA&Expires=1562489870&Signature=9WAGMM9%2Ftargc%2FgXD7YemRS%2BQGc%3D&response-content-type=text%2Fplain

How to use with local judge0 API server

Hey,
Can anyone PLEASE help me figure out how to use local judge0 API (which is successfully running and compiling submissions), I just dont know which URL is to be replaced in the 'ide.js' file. What line do I change this to :https://github.com/judge0/ide/blob/02d9560be8/js/ide.js#L1 so that it uses my localhost instead of sending requests to the api.judge0.com.

I have hosted the ide code in python using simpleHTTP server. I am using "http://secure.localhost/standard" instead of "https://secure.judge0.com/standard"

But it gives me CORS error like so :

Access to XMLHttpRequest at 'http://secure.localhost/standard/submissions?base64_encoded=true&wait=false' from origin 'http://secure.localhost:8000' has been blocked by CORS policy: Response to preflight request doesn't pass access control check: The value of the 'Access-Control-Allow-Origin' header in the response must not be the wildcard '*' when the request's credentials mode is 'include'. The credentials mode of requests initiated by the XMLHttpRequest is controlled by the withCredentials attribute.

Please help me with this, I have been pulling my hair since days.
Regards,

V panic: No such file or directory

Hi!
Just in case You do not know, v is panicking when I run helloworld example:

V panic: No such file or directory
                                               | 0x559880399ef0 | /usr/local/v/v(+0x2ef0) 
                                               | 0x5598803cc808 | /usr/local/v/v(+0x35808) 
                                               | 0x5598803f752b | /usr/local/v/v(+0x6052b) 
                                               | 0x5598803f9087 | /usr/local/v/v(+0x62087) 
                                               | 0x7fa3c1c862e1 | /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xf1) 
                                               | 0x5598803989ba | /usr/local/v/v(+0x19ba) 

compiling issue

img_4260
I have installed your judge 0IDE I am not able to compiling any code it shows an error could u please tell me how to install API on cpanel to get that ide to compile the code on web not localhost
Could u please instruct me to install API to the ide on cpanel

Upgrade 'vlang.ide.judge0.com' to latest release

Currently the newest version is 0.1.12 whereas 0.1.22 has been released, therefore please
a) update to the most recent version
OR preferably
b) name it 0.1.x (until 0.2.x will be available) and because of the early development stage where changes happen permanently, please apply "v up" regulary (every day or even as frequent as 1h, it takes just few seconds to update)

(optionally) in case of b) older releases might be dropped

Thanks a lot!

Information Regarding Minio

Hey, I was Just upgrading IDE according to me my use case and in the code, I found Minio,judge0 but I am unable to understand its use case can you share some info on that?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.