oway.org.il - Crowd-sourced road hazard reporting website.
Feel free to contribute to the project. It is currently hosted on Heroku: http://anyway.herokuapp.com
To report bugs and feature requests, please open an issue on GitHub.
See also our Android app on GitHub.
See documentation for our source dataset.
- We try to follow the process of other Hasadna projects, e.g. Open-Knesset
- Fork this repository on GitHub
git clone https://github.com/*you*/anyway- Add the main repository as your upstream remote:
git remote add upstream https://github.com/hasadna/anyway
- Get updates whenever you start working:
git pull upstream master - Push to your fork when you've committed your changes and tested them:
git push, and make a pull request from your fork on GitHub
sudo apt-get install python-pip python-dev python-tk libpq-dev
sudo easy_install pip setuptools- Install postgresql:
brew install postgresql(after installing brew)
sudo pip install virtualenvwrapper- Add to your
~/.bashrc:source /usr/local/bin/virtualenvwrapper.sh mkvirtualenv anywaycd anywaypip install -r requirements.txt
- Each time you start working:
workon anyway
- Install Python 2.7
- If Python is already installed and its version is lower than 2.7.9 update to a version >= 2.7.9 OR install setuptools & pip(package manager)
- Update the
PATHto include a reference to thePythonandPython/scriptsdirectories (replaceC:\Python27with your path to Python).- Command Line: Run this command with Administrator privileges:
SETX /M PATH "%PATH%";C:\Python27;C:\Python27\Scripts. The new path will be available in the next opened terminal. - GUI:
Control Panel > System Properties > Advanced > Environment Variables > System Variables > Path > Edit >Add;C:\Python27;C:\Python27\Scriptsto the end of the line.
- Command Line: Run this command with Administrator privileges:
- Install VC2008 Express (alt: mingw)
- Install [PostgreSQL] (http://www.postgresql.org/download/windows/) ( x86 version! even if you have 64 bit os )
- Add its bin folder to your path:
C:\Program Files (x86)\PostgreSQL\9.4\bin\
- Add its bin folder to your path:
- Install GitHub for windows and get the code
cdto the anyway directorypip install -r requirements.txt- If any package fails to install, download it from here and install it using
pip install <package>. - If this fails, you might have to download the
win32package, even if you are on a 64-bit platform. - Currently, the packages
pyprojandpsycopg2are failing to install so for both of them, you need to download and install thecp27 win32version, even if you have a 64 bit Windows version installed.
- If any package fails to install, download it from here and install it using
- Define connection string (needs to be defined whenever you start working):
- bash:
export DATABASE_URL='sqlite:///local.db' - windows shell:
set DATABASE_URL=sqlite:///local.db
- First time, create tables:
python models.py - Optionally, get the complete accidents file after sending a permission request, and extract it into
/static/data/lms. Otherwise you'll use the example accidents file that you already got with the code, so no need to get it again. - Populate the data (markers etc.):
python process.py: this will take less than an hour if you're using the example files (default), but if you have the complete data it may take several days. Be prepared. - Populate united hatzala sample data:
python united.py --lightfor the complete, or more recent data please contact the Anyway team. - Run the app:
python main.py: do this whenever you start working and want to try out your code. - Browse to http://127.0.0.1:5000
- If the site fails to load properly, make sure you have JDK installed on your machine
It is useful to add the following to your ~/.bashrc (fixing for the correct path):
alias anyway='cd *path*/anyway && workon anyway && export DATABASE_URL=sqlite:///local.db'
Then you can simply start working by running the anyway command.
PyCharm is recommended for development.
Server side testing cand be done by adding python tests under tests folder, using a test_*.py file name pattern.
To run tests: python -m unittest discover ./tests.
- Create an account on Heroku
- Install the Heroku toolbelt
- Follow the quickstart instructions. On step #4, read the Python introduction
- Create an app, e.g. anyway-you
- Sign up for a free Heroku Postgres add-on (note that you'll have to enter your credit card details to be eligible):
heroku addons:add heroku-postgresql:hobby-dev - Push from your Git repository to Heroku
- Populate the database with the data (assuming you have it in your local directory):
- Copy the database URL from your Heroku config:
heroku config:get DATABASE_URL(if you have several apps, specify the relevant one with the option--app <anyway-*you*>for any Heroku command) - Create tables:
python models.py - Populate data:
python process.py
- Copy the database URL from your Heroku config:
- Browse to http://anyway-*you*.herokuapp.com