Git Product home page Git Product logo

anyway's Introduction

ANYWAY Build Status

oway.org.il - Crowd-sourced road hazard reporting website.

Feel free to contribute to the project.

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 LAMAS is here and United is here.

See Code Directory Tree Structure.

Contributing

  • We try to follow the process of other Hasadna projects, e.g. Open-Knesset.
  • Please take a moment to read our "Contributing to ANYWAY" manifest.
  • To see our GitHub issues in a nicer interface, take a look at HuBoard. Check out the Ready list to find a task to work on. The Backlog list there contains issues that are still not ready to be started. The Working list contains issues already started by developers (make sure to move your issue there once you start working on it), and the Done list contains completed issues that are waiting to be confirmed done and closed.

Getting the code

  1. Fork this repository on GitHub
  2. git clone https://github.com/*you*/anyway
  3. 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 dev
  • 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

Installing dependencies

You should be familiar with setting up Python in your computer. You can consult the wiki for platform specific tutorials. Developing by using a virtual environment is highly recommended.

Ubuntu

sudo apt-get install python2-pip python2-dev libpq-dev

OS X

  1. sudo easy_install pip setuptools
  2. Install postgresql: brew install postgresql (after installing brew)

Both Ubuntu and OS X:

  1. Activate your virtualenv and run pip install -r requirements.txt -r test_requirements.txt

Windows (experimental)

See the Wiki.

Local first run (all platforms)

  1. 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
  1. First time, create tables: python models.py
  2. 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.
  3. 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.
  4. Populate united hatzala sample data: python united.py --light for the complete, or more recent data please contact the Anyway team.
  5. Run the app: python main.py: do this whenever you start working and want to try out your code.
  6. Navigate to http://127.0.0.1:5000 in your browser.
  7. If the site fails to load properly, make sure you have JDK installed on your machine
  8. If you wish to share your app on the local network, you can expose flask by running python main.py --open (Please note that this would expose your machine on port 5000 to all local nodes)

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.

Testing

To run tests: pylint -j $(nproc) *.py && pytest ./tests.

Docker

See DOCKER

Translation and Localization

See TRANSLATE

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.