Installation ############ This application is written in Python (API) and Javascript (client): - API: - Flask - `gpxpy `__ to parse gpx files - `staticmap `__ to generate a static map image from gpx coordinates - `python-forecast.io `__ to fetch weather data from `Dark Sky `__ (former forecast.io) - Client: - React/Redux - `Leaflet `__ to display map - `Recharts `__ to display charts with elevation and speed Sports and weather icons are made by Freepik from www.flaticon.com. Prerequisites ~~~~~~~~~~~~~ - PostgreSQL database (10+) - Python 3.7+ - `Yarn `__ and `serve `__ - API key from `ThunderForest `__ - API key from `Dark Sky `__ [not mandatory] Installation ~~~~~~~~~~~~ | The following steps describe an installation on Linux systems (tested on Debian and Arch). | On other OS, some issues can be encountered and adaptations may be necessary. Dev environment ^^^^^^^^^^^^^^^ - Clone this repo: .. code:: bash $ git clone https://github.com/SamR1/FitTrackee.git $ cd FitTrackee - Update **Makefile.config** file if needed and copy/paste the **ThunderForest** and **Dark Sky** API keys value in **Makefile.custom.config** file (see example) - Install Python virtualenv, React and all related packages and initialize the database: .. code:: bash $ make install-dev $ make install-db - Start the server and the client: .. code:: bash $ make serve Open http://localhost:3000 and login (the email is ``admin@example.com`` and the password ``mpwoadmin``) or register Prod environment ^^^^^^^^^^^^^^^^ - Download the last release (for now it is the beta release v0.2.1): .. code:: bash $ wget https://github.com/SamR1/FitTrackee/archive/v0.2.1-beta.tar.gz $ tar -xzf v0.1.1-beta.tar.gz $ mv FitTrackee-0.1.1-beta FitTrackee $ cd FitTrackee - Update **Makefile.config** file if needed and copy/paste the **ThunderForest** and **Dark Sky** API keys value in **Makefile.custom.config** file (see example) - Install Python virtualenv, React and all related packages and initialize the database: .. code:: bash $ make install $ make install-db - Build the client: .. code:: bash $ make build-client - Start the server and the client: .. code:: bash $ make run Open http://localhost:3000, log in as admin (the email is ``admin@example.com`` and the password ``mpwoadmin``) and change the password Upgrade ~~~~~~~ ``TODO``