EvalAI is an open source web application that helps researchers, students and data-scientists to create, collaborate and participate in various AI challenges organized round the globe.
Setting up EvalAI on your local machine is really easy. Follow this guide to setup your development machine.
- 
Install python 2.x, git, postgresql version >= 9.4, RabbitMQ and virtualenv, in your computer, if you don't have it already. If you are having trouble with postgresql on Windows check this link postgresqlhelp. 
- 
Get the source code on your machine via git. git clone https://github.com/Cloud-CV/EvalAI.git evalai 
- 
Create a python virtual environment and install python dependencies. cd evalai virtualenv venv source venv/bin/activate # run this command everytime before working on project pip install -r requirements/dev.txt 
- 
Rename settings/dev.sample.pyasdev.pyand change credential insettings/dev.pycp settings/dev.sample.py settings/dev.pyUse your postgres username and password for fields USERandPASSWORDindev.pyfile.
- 
Create an empty postgres database and run database migration. sudo -i -u (username) createdb evalai python manage.py migrate --settings=settings.dev
- 
Seed the database with some fake data to work with. python manage.py seed --settings=settings.devThis command also creates a superuser(admin), ahost userand aparticipant userwith following credentials.SUPERUSER- username: adminpassword:password
 HOST USER- username:hostpassword:password
 PARTICIPANT USER- username:participantpassword:password
- 
That's it. Now you can run development server at http://127.0.0.1:8000 (for serving backend) python manage.py runserver --settings=settings.dev
- 
Open a new terminal window with node(6.9.2) and ruby(gem) install on your machine and type npm install bower installIf you running npm install behind a proxy server, use npm config set proxy http://proxy:port
- 
Now to connect to dev server at http://127.0.0.1:8888 (for serving frontend) gulp dev:runserver
- 
That's it, Open web browser and hit the url http://127.0.0.1:8888. 
- 
(Optional) If you want to see the whole game into play, then start the RabbitMQ worker in a new terminal window using the following command that consumes the submissions done for every challenge: python scripts/workers/submission_worker.py
If you are interested in contributing to EvalAI, follow our contribution guidelines.
