hackIDE is an online code editor, compiler and interpreter based on Django, powered by HackerEarth API! Go, hack it!
JavaScript Python HTML CSS
Switch branches/tags
Nothing to show
Clone or download
Latest commit 10cd7ed Feb 5, 2018
Failed to load latest commit information.
hackIDE_project logic update Aug 12, 2016
.gitignore Fixed django settings to serve static files through whitenoise Jan 16, 2016
README.md README: add graph for stargazers over time Feb 5, 2018
manage.py Started Django app with basic configuration Jan 5, 2016
requirements.txt added wsgiref back just in case user on python2 has old version of lib. Oct 13, 2017



hackIDE is an online code editor, compiler and interpreter based on Django, powered by HackerEarth API! Go, hack it!

Visit - hackIDE | Online Code Editor, Compiler & Interpreter


Screenshot for HackIDE

Getting set up

Depending on your environment you may need to install some libraries. On debian/ubuntu you will need to:

sudo apt-get install libmysqlclient-dev libcurl4-gnutls-dev

To get your python environment environment properly set up you can create a virtual environment and use the requirements.txt file to install the proper versions of various libraries.

# Navigate to a directory of your choosing, where you will store your virtual environment.
$ mkdir virtualEnvs
$ cd virtualEnvs
$ virtualenv hackIDE_venv # we need python2. If you are using 3 by default type virtualenv -p /usr/bin/python2.7 hackIDE_venv
$ source ~/virtualEnvs/hackIDE_venv/bin/activate
$ cd /location/of/your/copy/of/hackIDE
$ pip install -r requirements.txt

How to run the server locally

To run the server locally you will need to do two things:

  1. Get a hackerearth API "Client Secret Key"
  2. Change the hackIDE_project/settings.py file

Get a Client Secret Key

Go to https://www.hackerearth.com/api/register/, create a HackerEarth profile and register a url. You can register http://google.com, for example. Then you will be provided with a Client Secret Key.

Change the hackIDE_project/settings.py file.

Change the ALLOWED_HOSTS line to

ALLOWED_HOSTS = ['*'] if not DEBUG else ['*']

Then startup the server with:

$ python manage.py collectstatic
$ HE_CLIENT_SECRET=your_token_here python manage.py runserver

Then you can connect to the site at


  • Add "Download code as a zipped file" option
  • Implement "Save code on cloud" feature
  • Explain how to get a hackerearth API key
  • Implement profiling system allowing users to make their profiles and saving codes in their profiles

Stargazers over time

Stargazers over time