Existing navigation systems optimize for the shortest or fastest route. However, they do not consider elevation gain. Let’s say you are hiking or biking from one location to another. You may want to literally go the extra mile if that saves you a couple thousand feet in elevation gain. Likewise, you may want to maximize elevation gain if you are looking for an intense yet time-constrained workout.
For more about the architecture and evaluation, read this!
At the time this project was built, the following were the system specifications:
Tool/Package | Version | |
---|---|---|
Python | 3.8.6 | |
Conda | 4.9.0 | |
Flask | 1.1.2 | flask , flask-wtf |
Werkzeug | 1.0.1 | |
OpenStreetMap API | 0.16.1 | osmnx |
GoogleMaps API | 4.4.2 | googlemaps |
PyTest | 6.1.2 | pytest |
PDoc3 | 0.9.1 | pdoc3 |
Setup a new environment using the conda/venv package managers. We show how to create an environment using conda:
conda create --name elena python=3.8.6
This environment can now be activated by:
conda activate elena
Install the following packages:
Before running the app, make sure the PYTHONPATH
is set to the root directory of the project.
Access this folder for triggering the scripts to run the Flask API. From the root folder of the repository, run:
cd EleNa/scripts
For Linux/Unix systems,
./RunElenaApp.sh
For Windows systems,
./RunElenaApp.bat
Then follow the on-screen instructions to open the specified URL on a web browser to run the web application.
PyTest is used to automate the testing process. Please read this to understand its usage.
From the src folder, execute the following to build and run the tests.
pytest
PyDoc3 is used to run the documentation service.
The generated documentation of the code can be accessed here or in HTML
Run the below to generate the documentation from the source code.
pdoc --html EleNa --output-dir documentation