Because I don't want to wait 20 minutes for the next bus in the freezing rain when it's hot outside.
These are required to run the different components of the project.
- server
- requests (2.9.1)
- beautifulsoup4 (4.4.1)
- geopy (1.11.0)
- flask (0.10.1)
The flask server and application as a whole requires a few dependencies that must be installed before running.
These dependencies will be installed via pip and isolated in a virtualenv.
To install virtualenv:
$ pip intsall virtualenvThe dependencies will be isolated to the virtualenv so the dependencies are not available globally and take up space on your computer.
To create and start the virtualenv:
$ virtualenv septa_venv # Create the virtualenv
$ source septa_venv/bin/activate # Activate the virtualenvTo install the dependencies:
(septa_venv) $ pip install -r requirements.txtBefore starting anything, always make sure you are in the virtualenv by running:
$ source septa_venv/bin/activateThe dependencies are installed here and the app will not work otherwise.
Starting the server:
(septa_venv) $ python __init__.pyThis launches a flask server accessible at 127.0.0.1:8080. The main endpoint that calls the core of the application
is at 127.0.0.1:8080/data and takes the url parameters ?route=ROUTE_NUMBER&direction=(northbound/southbound/eastbound/westbound)&stop_id=STOP_ID.
Alternatively, you can run the septa notifier independent of the server:
(septa_venv) $ python septanotifier.py