Installation

This application is written in Python (API) and Javascript (client):

Sports and weather icons are made by Freepik from www.flaticon.com.

Prerequisites

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.

Warning

Since FitTrackee 0.2.1, Python packages installation needs Poetry. To install it on ArchLinux:

$ yaourt poetry
$ poetry --version
Poetry 0.12.17

# optional
$ poetry config settings.virtualenvs.in-project true

For other OS, see Poetry Documentation

Dev environment

  • Clone this repo:

$ 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 Environment variables).

  • Install Python virtualenv, React and all related packages and initialize the database:

$ make install-dev
$ make install-db
  • Start the server and the client:

$ make serve

Open http://localhost:3000 and login (the email is admin@example.com and the password mpwoadmin) or register

Prod environment

Warning

Note that FitTrackee is not production-ready yet

  • Download the last release (for now, it is the beta release v0.2.3):

$ wget https://github.com/SamR1/FitTrackee/archive/v0.2.3-beta.tar.gz
$ tar -xzf v0.2.3-beta.tar.gz
$ mv FitTrackee-0.2.3-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 Environment variables).

  • Install Python virtualenv, React and all related packages and initialize the database:

$ make install
$ make install-db
  • Build the client:

$ make build-client
  • Start the server and the client:

$ 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

Warning

Before upgrading, make a backup of all data:
- database (with pg_dump for instance)
- upload directory: FitTrackee/fittrackee_api/fittrackee_api/uploads/

Dev environment

  • Stop the application and pull the repository:

$ git pull
  • Update Makefile.config and Makefile.custom.config file if needed

  • Upgrade packages and database:

$ make install-dev
$ make upgrade-db
  • Restart the server and the client:

$ make serve

Prod environment

TODO

Environment variables

The following environment variables must be defined in Makefile.custom.config:

variable

description

app default value

REACT_APP_GPX_LIMIT_IMPORT

max. number of gpx file in zip archive

10

REACT_APP_MAX_SINGLE_FILE_SIZE

max. size of a gpx or picture file

1MB

REACT_APP_MAX_ZIP_FILE_SIZE

max. size of a zip archive

10MB

REACT_APP_ALLOW_REGISTRATION

allows users to register

true

REACT_APP_THUNDERFOREST_API_KEY

ThunderForest API key

no defaut value, must be initialized

WEATHER_API

DarkSky API key

no defaut value, not mandatory