bump version to 0.7.0
							
								
								
									
										20
									
								
								CHANGELOG.md
									
									
									
									
									
								
							
							
						
						@@ -1,5 +1,25 @@
 | 
			
		||||
# Change log
 | 
			
		||||
 | 
			
		||||
## Version 0.7.0 (2022/09/19)
 | 
			
		||||
 | 
			
		||||
### Features and enhancements
 | 
			
		||||
 | 
			
		||||
* [#88](https://github.com/SamR1/FitTrackee/issues/88) - OAuth 2.0 access token for api access
 | 
			
		||||
* [#231](https://github.com/SamR1/FitTrackee/issues/231) - Invalidate token on logout
 | 
			
		||||
* [PR#236](https://github.com/SamR1/FitTrackee/issues/236) - Add API rate limits
 | 
			
		||||
 | 
			
		||||
### Bugs Fixed
 | 
			
		||||
 | 
			
		||||
* [#232](https://github.com/SamR1/FitTrackee/issues/232) - Speed chart can not be hidden
 | 
			
		||||
* [#237](https://github.com/SamR1/FitTrackee/issues/237) - Can not edit a workout when notes value is null
 | 
			
		||||
 | 
			
		||||
### Translations
 | 
			
		||||
 | 
			
		||||
* [PR#212](https://github.com/SamR1/FitTrackee/issues/212) - Translations update from Hosted Weblate (thanks to J. Lavoie)
 | 
			
		||||
 | 
			
		||||
**Note:** This release contains database migration (see upgrade instructions in [documentation](https://samr1.github.io/FitTrackee/installation.html#upgrade))
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
## Version 0.6.12 (2022/09/14)
 | 
			
		||||
 | 
			
		||||
### Issues Closed
 | 
			
		||||
 
 | 
			
		||||
@@ -1,4 +1,4 @@
 | 
			
		||||
# Sphinx build info version 1
 | 
			
		||||
# This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done.
 | 
			
		||||
config: 46c4d8b5fa7946f979002cf919b92752
 | 
			
		||||
config: 0fd6e5b14109ac1347607ea7ecf55a9e
 | 
			
		||||
tags: 645f666f9bcd5a90fca523b33c5a78b7
 | 
			
		||||
 
 | 
			
		||||
| 
		 Before Width: | Height: | Size: 550 KiB After Width: | Height: | Size: 550 KiB  | 
| 
		 Before Width: | Height: | Size: 371 KiB After Width: | Height: | Size: 371 KiB  | 
| 
		 Before Width: | Height: | Size: 206 KiB After Width: | Height: | Size: 206 KiB  | 
| 
		 Before Width: | Height: | Size: 70 KiB After Width: | Height: | Size: 70 KiB  | 
| 
		 Before Width: | Height: | Size: 71 KiB After Width: | Height: | Size: 71 KiB  | 
| 
		 Before Width: | Height: | Size: 105 KiB After Width: | Height: | Size: 105 KiB  | 
@@ -9,9 +9,6 @@ To allow a third-party application to interact with API endpoints, an
 | 
			
		||||
`OAuth2 <https://datatracker.ietf.org/doc/html/rfc6749>`_ client can be created
 | 
			
		||||
in user settings ('apps' tab).
 | 
			
		||||
 | 
			
		||||
.. note::
 | 
			
		||||
  OAuth2 support is implemented with `Authlib <https://docs.authlib.org/en/latest/>`_ library.
 | 
			
		||||
 | 
			
		||||
.. warning::
 | 
			
		||||
  OAuth2 endpoints requiring authentication are not accessible by third-party
 | 
			
		||||
  applications (`documentation <api/oauth2.html>`__), only by FitTrackee
 | 
			
		||||
@@ -20,6 +17,7 @@ in user settings ('apps' tab).
 | 
			
		||||
FitTrackee supports only `Authorization Code <https://datatracker.ietf.org/doc/html/rfc6749#section-1.3.1>`_
 | 
			
		||||
flow (with PKCE support).
 | 
			
		||||
It allows to exchange an authorization code for an access token.
 | 
			
		||||
The client ID and secret must be sent in the POST body.
 | 
			
		||||
It is recommended to use `PKCE <https://datatracker.ietf.org/doc/html/rfc7636>`_
 | 
			
		||||
to provide a better security.
 | 
			
		||||
 | 
			
		||||
@@ -36,7 +34,20 @@ The following scopes are available:
 | 
			
		||||
.. figure:: _images/fittrackee_screenshot-07.png
 | 
			
		||||
   :alt: OAuth2 client creation on FitTrackee
 | 
			
		||||
 | 
			
		||||
.. note::
 | 
			
		||||
  OAuth2 support is implemented with `Authlib <https://docs.authlib.org/en/latest/>`_ library.
 | 
			
		||||
 | 
			
		||||
.. warning::
 | 
			
		||||
  | If FitTrackee is running behind a proxy, the ``X-Forwarded-Proto`` header must be set.
 | 
			
		||||
  | For instance for `nginx`:
 | 
			
		||||
 | 
			
		||||
  .. code-block::
 | 
			
		||||
 | 
			
		||||
     proxy_set_header  X-Forwarded-Proto $scheme;
 | 
			
		||||
 | 
			
		||||
Some resources about OAuth 2.0:
 | 
			
		||||
 | 
			
		||||
- `OAuth 2.0 Simplified <https://www.oauth.com>`_ by `Aaron Parecki <https://aaronparecki.com>`_
 | 
			
		||||
- `Web App Example of OAuth 2 web application flow <https://requests-oauthlib.readthedocs.io/en/latest/examples/real_world_example.html>`_ with Requests-OAuthlib
 | 
			
		||||
- `Web App Example of OAuth 2 web application flow <https://requests-oauthlib.readthedocs.io/en/latest/examples/real_world_example.html>`_ with Requests-OAuthlib (python)
 | 
			
		||||
- `OAuth 2 Session <https://docs.authlib.org/en/latest/client/oauth2.html#oauth-2-session>`_ with Authlib (python)
 | 
			
		||||
- `Minimal example of an application interacting with FitTrackee <https://codeberg.org/SamR1/ft-oauth-client>`_ (python)
 | 
			
		||||
@@ -1,5 +1,25 @@
 | 
			
		||||
# Change log
 | 
			
		||||
 | 
			
		||||
## Version 0.7.0 (2022/09/19)
 | 
			
		||||
 | 
			
		||||
### Features and enhancements
 | 
			
		||||
 | 
			
		||||
* [#88](https://github.com/SamR1/FitTrackee/issues/88) - OAuth 2.0 access token for api access
 | 
			
		||||
* [#231](https://github.com/SamR1/FitTrackee/issues/231) - Invalidate token on logout
 | 
			
		||||
* [PR#236](https://github.com/SamR1/FitTrackee/issues/236) - Add API rate limits
 | 
			
		||||
 | 
			
		||||
### Bugs Fixed
 | 
			
		||||
 | 
			
		||||
* [#232](https://github.com/SamR1/FitTrackee/issues/232) - Speed chart can not be hidden
 | 
			
		||||
* [#237](https://github.com/SamR1/FitTrackee/issues/237) - Can not edit a workout when notes value is null
 | 
			
		||||
 | 
			
		||||
### Translations
 | 
			
		||||
 | 
			
		||||
* [PR#212](https://github.com/SamR1/FitTrackee/issues/212) - Translations update from Hosted Weblate (thanks to J. Lavoie)
 | 
			
		||||
 | 
			
		||||
**Note:** This release contains database migration (see upgrade instructions in [documentation](https://samr1.github.io/FitTrackee/installation.html#upgrade))
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
## Version 0.6.12 (2022/09/14)
 | 
			
		||||
 | 
			
		||||
### Issues Closed
 | 
			
		||||
 
 | 
			
		||||
@@ -1,7 +1,7 @@
 | 
			
		||||
Command line interface
 | 
			
		||||
######################
 | 
			
		||||
 | 
			
		||||
A command line interface (CLI) is available to manage database and users.
 | 
			
		||||
A command line interface (CLI) is available to manage database, OAuth2 tokens and users.
 | 
			
		||||
 | 
			
		||||
.. code-block:: bash
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -1,6 +1,14 @@
 | 
			
		||||
Features
 | 
			
		||||
########
 | 
			
		||||
 | 
			
		||||
| **FitTrackee** allows you to store and display gpx files and some statistics from your outdoor activities.
 | 
			
		||||
| For now, this app is kind of a single-user application. Even if several users can register, a user can only view his own workouts.
 | 
			
		||||
 | 
			
		||||
Gpx files are stored in an upload directory (without encryption).
 | 
			
		||||
 | 
			
		||||
With the default configuration, `Open Street Map <https://www.openstreetmap.org>`__ is used as tile server in Workout detail and for static map generation.
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
Workouts
 | 
			
		||||
^^^^^^^^
 | 
			
		||||
- 11 sports are supported:
 | 
			
		||||
 
 | 
			
		||||
@@ -60,7 +60,7 @@ deployment method.
 | 
			
		||||
 | 
			
		||||
    **FitTrackee** host.
 | 
			
		||||
 | 
			
		||||
    :default: 0.0.0.0
 | 
			
		||||
    :default: 127.0.0.1
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
.. envvar:: PORT
 | 
			
		||||
@@ -477,13 +477,13 @@ Production environment
 | 
			
		||||
.. warning::
 | 
			
		||||
    | Note that FitTrackee is under heavy development, some features may be unstable.
 | 
			
		||||
 | 
			
		||||
-  Download the last release (for now, it is the release v0.6.12):
 | 
			
		||||
-  Download the last release (for now, it is the release v0.7.0):
 | 
			
		||||
 | 
			
		||||
.. code:: bash
 | 
			
		||||
 | 
			
		||||
   $ wget https://github.com/SamR1/FitTrackee/archive/v0.6.12.tar.gz
 | 
			
		||||
   $ tar -xzf v0.6.12.tar.gz
 | 
			
		||||
   $ mv FitTrackee-0.6.12 FitTrackee
 | 
			
		||||
   $ wget https://github.com/SamR1/FitTrackee/archive/v0.7.0.tar.gz
 | 
			
		||||
   $ tar -xzf v0.7.0.tar.gz
 | 
			
		||||
   $ mv FitTrackee-0.7.0 FitTrackee
 | 
			
		||||
   $ cd FitTrackee
 | 
			
		||||
 | 
			
		||||
-  Create **.env** from example and update it
 | 
			
		||||
@@ -603,13 +603,13 @@ Prod environment
 | 
			
		||||
 | 
			
		||||
- Change to the directory where FitTrackee directory is located
 | 
			
		||||
 | 
			
		||||
- Download the last release (for now, it is the release v0.6.12) and overwrite existing files:
 | 
			
		||||
- Download the last release (for now, it is the release v0.7.0) and overwrite existing files:
 | 
			
		||||
 | 
			
		||||
.. code:: bash
 | 
			
		||||
 | 
			
		||||
   $ wget https://github.com/SamR1/FitTrackee/archive/v0.6.12.tar.gz
 | 
			
		||||
   $ tar -xzf v0.6.12.tar.gz
 | 
			
		||||
   $ cp -R FitTrackee-0.6.12/* FitTrackee/
 | 
			
		||||
   $ wget https://github.com/SamR1/FitTrackee/archive/v0.7.0.tar.gz
 | 
			
		||||
   $ tar -xzf v0.7.0.tar.gz
 | 
			
		||||
   $ cp -R FitTrackee-0.7.0/* FitTrackee/
 | 
			
		||||
   $ cd FitTrackee
 | 
			
		||||
 | 
			
		||||
- Update **.env** if needed (see `Environment variables <installation.html#environment-variables>`__).
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										2
									
								
								docs/_static/documentation_options.js
									
									
									
									
										vendored
									
									
								
							
							
						
						@@ -1,6 +1,6 @@
 | 
			
		||||
var DOCUMENTATION_OPTIONS = {
 | 
			
		||||
    URL_ROOT: document.getElementById("documentation_options").getAttribute('data-url_root'),
 | 
			
		||||
    VERSION: '0.6.12',
 | 
			
		||||
    VERSION: '0.7.0',
 | 
			
		||||
    LANGUAGE: 'en',
 | 
			
		||||
    COLLAPSE_INDEX: false,
 | 
			
		||||
    BUILDER: 'html',
 | 
			
		||||
 
 | 
			
		||||
@@ -5,7 +5,7 @@
 | 
			
		||||
    <meta charset="utf-8" />
 | 
			
		||||
    <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.19: https://docutils.sourceforge.io/" />
 | 
			
		||||
 | 
			
		||||
    <title>Authentication — FitTrackee 0.6.12
 | 
			
		||||
    <title>Authentication — FitTrackee 0.7.0
 | 
			
		||||
 documentation</title>
 | 
			
		||||
    <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
 | 
			
		||||
    <link rel="stylesheet" type="text/css" href="../_static/bootstrap-sphinx.css" />
 | 
			
		||||
@@ -41,7 +41,7 @@
 | 
			
		||||
        </button>
 | 
			
		||||
        <a class="navbar-brand" href="../index.html">
 | 
			
		||||
          FitTrackee</a>
 | 
			
		||||
        <span class="navbar-text navbar-version pull-left"><b>0.6.12
 | 
			
		||||
        <span class="navbar-text navbar-version pull-left"><b>0.7.0
 | 
			
		||||
</b></span>
 | 
			
		||||
      </div>
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -5,7 +5,7 @@
 | 
			
		||||
    <meta charset="utf-8" />
 | 
			
		||||
    <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.19: https://docutils.sourceforge.io/" />
 | 
			
		||||
 | 
			
		||||
    <title>Configuration — FitTrackee 0.6.12
 | 
			
		||||
    <title>Configuration — FitTrackee 0.7.0
 | 
			
		||||
 documentation</title>
 | 
			
		||||
    <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
 | 
			
		||||
    <link rel="stylesheet" type="text/css" href="../_static/bootstrap-sphinx.css" />
 | 
			
		||||
@@ -41,7 +41,7 @@
 | 
			
		||||
        </button>
 | 
			
		||||
        <a class="navbar-brand" href="../index.html">
 | 
			
		||||
          FitTrackee</a>
 | 
			
		||||
        <span class="navbar-text navbar-version pull-left"><b>0.6.12
 | 
			
		||||
        <span class="navbar-text navbar-version pull-left"><b>0.7.0
 | 
			
		||||
</b></span>
 | 
			
		||||
      </div>
 | 
			
		||||
 | 
			
		||||
@@ -153,7 +153,7 @@
 | 
			
		||||
<span class="w">    </span><span class="nt">"max_users"</span><span class="p">:</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span><span class="w"></span>
 | 
			
		||||
<span class="w">    </span><span class="nt">"max_zip_file_size"</span><span class="p">:</span><span class="w"> </span><span class="mi">10485760</span><span class="p">,</span><span class="w"></span>
 | 
			
		||||
<span class="w">    </span><span class="nt">"map_attribution"</span><span class="p">:</span><span class="w"> </span><span class="nt">"&copy; <a href=http://www.openstreetmap.org/copyright>OpenStreetMap</a> contributors"</span><span class="w"></span>
 | 
			
		||||
<span class="w">    </span><span class="nt">"version"</span><span class="p">:</span><span class="w"> </span><span class="s2">"0.6.12"</span><span class="w"></span>
 | 
			
		||||
<span class="w">    </span><span class="nt">"version"</span><span class="p">:</span><span class="w"> </span><span class="s2">"0.7.0"</span><span class="w"></span>
 | 
			
		||||
<span class="w">  </span><span class="p">},</span><span class="w"></span>
 | 
			
		||||
<span class="w">  </span><span class="nt">"status"</span><span class="p">:</span><span class="w"> </span><span class="s2">"success"</span><span class="w"></span>
 | 
			
		||||
<span class="p">}</span><span class="w"></span>
 | 
			
		||||
@@ -194,7 +194,7 @@
 | 
			
		||||
<span class="w">    </span><span class="nt">"max_users"</span><span class="p">:</span><span class="w"> </span><span class="mi">10</span><span class="p">,</span><span class="w"></span>
 | 
			
		||||
<span class="w">    </span><span class="nt">"max_zip_file_size"</span><span class="p">:</span><span class="w"> </span><span class="mi">10485760</span><span class="p">,</span><span class="w"></span>
 | 
			
		||||
<span class="w">    </span><span class="nt">"map_attribution"</span><span class="p">:</span><span class="w"> </span><span class="nt">"&copy; <a href=http://www.openstreetmap.org/copyright>OpenStreetMap</a> contributors"</span><span class="w"></span>
 | 
			
		||||
<span class="w">    </span><span class="nt">"version"</span><span class="p">:</span><span class="w"> </span><span class="s2">"0.6.12"</span><span class="w"></span>
 | 
			
		||||
<span class="w">    </span><span class="nt">"version"</span><span class="p">:</span><span class="w"> </span><span class="s2">"0.7.0"</span><span class="w"></span>
 | 
			
		||||
<span class="w">  </span><span class="p">},</span><span class="w"></span>
 | 
			
		||||
<span class="w">  </span><span class="nt">"status"</span><span class="p">:</span><span class="w"> </span><span class="s2">"success"</span><span class="w"></span>
 | 
			
		||||
<span class="p">}</span><span class="w"></span>
 | 
			
		||||
 
 | 
			
		||||
@@ -5,7 +5,7 @@
 | 
			
		||||
    <meta charset="utf-8" />
 | 
			
		||||
    <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.19: https://docutils.sourceforge.io/" />
 | 
			
		||||
 | 
			
		||||
    <title>API documentation — FitTrackee 0.6.12
 | 
			
		||||
    <title>API documentation — FitTrackee 0.7.0
 | 
			
		||||
 documentation</title>
 | 
			
		||||
    <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
 | 
			
		||||
    <link rel="stylesheet" type="text/css" href="../_static/bootstrap-sphinx.css" />
 | 
			
		||||
@@ -41,7 +41,7 @@
 | 
			
		||||
        </button>
 | 
			
		||||
        <a class="navbar-brand" href="../index.html">
 | 
			
		||||
          FitTrackee</a>
 | 
			
		||||
        <span class="navbar-text navbar-version pull-left"><b>0.6.12
 | 
			
		||||
        <span class="navbar-text navbar-version pull-left"><b>0.7.0
 | 
			
		||||
</b></span>
 | 
			
		||||
      </div>
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -5,7 +5,7 @@
 | 
			
		||||
    <meta charset="utf-8" />
 | 
			
		||||
    <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.19: https://docutils.sourceforge.io/" />
 | 
			
		||||
 | 
			
		||||
    <title>OAuth2 — FitTrackee 0.6.12
 | 
			
		||||
    <title>OAuth2 — FitTrackee 0.7.0
 | 
			
		||||
 documentation</title>
 | 
			
		||||
    <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
 | 
			
		||||
    <link rel="stylesheet" type="text/css" href="../_static/bootstrap-sphinx.css" />
 | 
			
		||||
@@ -41,7 +41,7 @@
 | 
			
		||||
        </button>
 | 
			
		||||
        <a class="navbar-brand" href="../index.html">
 | 
			
		||||
          FitTrackee</a>
 | 
			
		||||
        <span class="navbar-text navbar-version pull-left"><b>0.6.12
 | 
			
		||||
        <span class="navbar-text navbar-version pull-left"><b>0.7.0
 | 
			
		||||
</b></span>
 | 
			
		||||
      </div>
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -5,7 +5,7 @@
 | 
			
		||||
    <meta charset="utf-8" />
 | 
			
		||||
    <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.19: https://docutils.sourceforge.io/" />
 | 
			
		||||
 | 
			
		||||
    <title>Records — FitTrackee 0.6.12
 | 
			
		||||
    <title>Records — FitTrackee 0.7.0
 | 
			
		||||
 documentation</title>
 | 
			
		||||
    <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
 | 
			
		||||
    <link rel="stylesheet" type="text/css" href="../_static/bootstrap-sphinx.css" />
 | 
			
		||||
@@ -41,7 +41,7 @@
 | 
			
		||||
        </button>
 | 
			
		||||
        <a class="navbar-brand" href="../index.html">
 | 
			
		||||
          FitTrackee</a>
 | 
			
		||||
        <span class="navbar-text navbar-version pull-left"><b>0.6.12
 | 
			
		||||
        <span class="navbar-text navbar-version pull-left"><b>0.7.0
 | 
			
		||||
</b></span>
 | 
			
		||||
      </div>
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -5,7 +5,7 @@
 | 
			
		||||
    <meta charset="utf-8" />
 | 
			
		||||
    <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.19: https://docutils.sourceforge.io/" />
 | 
			
		||||
 | 
			
		||||
    <title>Sports — FitTrackee 0.6.12
 | 
			
		||||
    <title>Sports — FitTrackee 0.7.0
 | 
			
		||||
 documentation</title>
 | 
			
		||||
    <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
 | 
			
		||||
    <link rel="stylesheet" type="text/css" href="../_static/bootstrap-sphinx.css" />
 | 
			
		||||
@@ -41,7 +41,7 @@
 | 
			
		||||
        </button>
 | 
			
		||||
        <a class="navbar-brand" href="../index.html">
 | 
			
		||||
          FitTrackee</a>
 | 
			
		||||
        <span class="navbar-text navbar-version pull-left"><b>0.6.12
 | 
			
		||||
        <span class="navbar-text navbar-version pull-left"><b>0.7.0
 | 
			
		||||
</b></span>
 | 
			
		||||
      </div>
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -5,7 +5,7 @@
 | 
			
		||||
    <meta charset="utf-8" />
 | 
			
		||||
    <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.19: https://docutils.sourceforge.io/" />
 | 
			
		||||
 | 
			
		||||
    <title>Statistics — FitTrackee 0.6.12
 | 
			
		||||
    <title>Statistics — FitTrackee 0.7.0
 | 
			
		||||
 documentation</title>
 | 
			
		||||
    <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
 | 
			
		||||
    <link rel="stylesheet" type="text/css" href="../_static/bootstrap-sphinx.css" />
 | 
			
		||||
@@ -41,7 +41,7 @@
 | 
			
		||||
        </button>
 | 
			
		||||
        <a class="navbar-brand" href="../index.html">
 | 
			
		||||
          FitTrackee</a>
 | 
			
		||||
        <span class="navbar-text navbar-version pull-left"><b>0.6.12
 | 
			
		||||
        <span class="navbar-text navbar-version pull-left"><b>0.7.0
 | 
			
		||||
</b></span>
 | 
			
		||||
      </div>
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -5,7 +5,7 @@
 | 
			
		||||
    <meta charset="utf-8" />
 | 
			
		||||
    <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.19: https://docutils.sourceforge.io/" />
 | 
			
		||||
 | 
			
		||||
    <title>Users — FitTrackee 0.6.12
 | 
			
		||||
    <title>Users — FitTrackee 0.7.0
 | 
			
		||||
 documentation</title>
 | 
			
		||||
    <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
 | 
			
		||||
    <link rel="stylesheet" type="text/css" href="../_static/bootstrap-sphinx.css" />
 | 
			
		||||
@@ -41,7 +41,7 @@
 | 
			
		||||
        </button>
 | 
			
		||||
        <a class="navbar-brand" href="../index.html">
 | 
			
		||||
          FitTrackee</a>
 | 
			
		||||
        <span class="navbar-text navbar-version pull-left"><b>0.6.12
 | 
			
		||||
        <span class="navbar-text navbar-version pull-left"><b>0.7.0
 | 
			
		||||
</b></span>
 | 
			
		||||
      </div>
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -5,7 +5,7 @@
 | 
			
		||||
    <meta charset="utf-8" />
 | 
			
		||||
    <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.19: https://docutils.sourceforge.io/" />
 | 
			
		||||
 | 
			
		||||
    <title>Workouts — FitTrackee 0.6.12
 | 
			
		||||
    <title>Workouts — FitTrackee 0.7.0
 | 
			
		||||
 documentation</title>
 | 
			
		||||
    <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
 | 
			
		||||
    <link rel="stylesheet" type="text/css" href="../_static/bootstrap-sphinx.css" />
 | 
			
		||||
@@ -41,7 +41,7 @@
 | 
			
		||||
        </button>
 | 
			
		||||
        <a class="navbar-brand" href="../index.html">
 | 
			
		||||
          FitTrackee</a>
 | 
			
		||||
        <span class="navbar-text navbar-version pull-left"><b>0.6.12
 | 
			
		||||
        <span class="navbar-text navbar-version pull-left"><b>0.7.0
 | 
			
		||||
</b></span>
 | 
			
		||||
      </div>
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -5,7 +5,7 @@
 | 
			
		||||
    <meta charset="utf-8" />
 | 
			
		||||
    <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.19: https://docutils.sourceforge.io/" />
 | 
			
		||||
 | 
			
		||||
    <title>Third-party applications — FitTrackee 0.6.12
 | 
			
		||||
    <title>Third-party applications — FitTrackee 0.7.0
 | 
			
		||||
 documentation</title>
 | 
			
		||||
    <link rel="stylesheet" type="text/css" href="_static/pygments.css" />
 | 
			
		||||
    <link rel="stylesheet" type="text/css" href="_static/bootstrap-sphinx.css" />
 | 
			
		||||
@@ -41,7 +41,7 @@
 | 
			
		||||
        </button>
 | 
			
		||||
        <a class="navbar-brand" href="index.html">
 | 
			
		||||
          FitTrackee</a>
 | 
			
		||||
        <span class="navbar-text navbar-version pull-left"><b>0.6.12
 | 
			
		||||
        <span class="navbar-text navbar-version pull-left"><b>0.7.0
 | 
			
		||||
</b></span>
 | 
			
		||||
      </div>
 | 
			
		||||
 | 
			
		||||
@@ -136,10 +136,6 @@ most endpoints require authorization/authentication.</p>
 | 
			
		||||
<p>To allow a third-party application to interact with API endpoints, an
 | 
			
		||||
<a class="reference external" href="https://datatracker.ietf.org/doc/html/rfc6749">OAuth2</a> client can be created
 | 
			
		||||
in user settings (‘apps’ tab).</p>
 | 
			
		||||
<div class="admonition note">
 | 
			
		||||
<p class="admonition-title">Note</p>
 | 
			
		||||
<p>OAuth2 support is implemented with <a class="reference external" href="https://docs.authlib.org/en/latest/">Authlib</a> library.</p>
 | 
			
		||||
</div>
 | 
			
		||||
<div class="admonition warning">
 | 
			
		||||
<p class="admonition-title">Warning</p>
 | 
			
		||||
<p>OAuth2 endpoints requiring authentication are not accessible by third-party
 | 
			
		||||
@@ -149,6 +145,7 @@ client (first-party application).</p>
 | 
			
		||||
<p>FitTrackee supports only <a class="reference external" href="https://datatracker.ietf.org/doc/html/rfc6749#section-1.3.1">Authorization Code</a>
 | 
			
		||||
flow (with PKCE support).
 | 
			
		||||
It allows to exchange an authorization code for an access token.
 | 
			
		||||
The client ID and secret must be sent in the POST body.
 | 
			
		||||
It is recommended to use <a class="reference external" href="https://datatracker.ietf.org/doc/html/rfc7636">PKCE</a>
 | 
			
		||||
to provide a better security.</p>
 | 
			
		||||
<p>The following scopes are available:</p>
 | 
			
		||||
@@ -164,10 +161,26 @@ to provide a better security.</p>
 | 
			
		||||
<figure class="align-default">
 | 
			
		||||
<img alt="OAuth2 client creation on FitTrackee" src="_images/fittrackee_screenshot-07.png" />
 | 
			
		||||
</figure>
 | 
			
		||||
<div class="admonition note">
 | 
			
		||||
<p class="admonition-title">Note</p>
 | 
			
		||||
<p>OAuth2 support is implemented with <a class="reference external" href="https://docs.authlib.org/en/latest/">Authlib</a> library.</p>
 | 
			
		||||
</div>
 | 
			
		||||
<div class="admonition warning">
 | 
			
		||||
<p class="admonition-title">Warning</p>
 | 
			
		||||
<div class="line-block">
 | 
			
		||||
<div class="line">If FitTrackee is running behind a proxy, the <code class="docutils literal notranslate"><span class="pre">X-Forwarded-Proto</span></code> header must be set.</div>
 | 
			
		||||
<div class="line">For instance for <cite>nginx</cite>:</div>
 | 
			
		||||
</div>
 | 
			
		||||
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span>proxy_set_header  X-Forwarded-Proto $scheme;
 | 
			
		||||
</pre></div>
 | 
			
		||||
</div>
 | 
			
		||||
</div>
 | 
			
		||||
<p>Some resources about OAuth 2.0:</p>
 | 
			
		||||
<ul class="simple">
 | 
			
		||||
<li><p><a class="reference external" href="https://www.oauth.com">OAuth 2.0 Simplified</a> by <a class="reference external" href="https://aaronparecki.com">Aaron Parecki</a></p></li>
 | 
			
		||||
<li><p><a class="reference external" href="https://requests-oauthlib.readthedocs.io/en/latest/examples/real_world_example.html">Web App Example of OAuth 2 web application flow</a> with Requests-OAuthlib</p></li>
 | 
			
		||||
<li><p><a class="reference external" href="https://requests-oauthlib.readthedocs.io/en/latest/examples/real_world_example.html">Web App Example of OAuth 2 web application flow</a> with Requests-OAuthlib (python)</p></li>
 | 
			
		||||
<li><p><a class="reference external" href="https://docs.authlib.org/en/latest/client/oauth2.html#oauth-2-session">OAuth 2 Session</a> with Authlib (python)</p></li>
 | 
			
		||||
<li><p><a class="reference external" href="https://codeberg.org/SamR1/ft-oauth-client">Minimal example of an application interacting with FitTrackee</a> (python)</p></li>
 | 
			
		||||
</ul>
 | 
			
		||||
</section>
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -5,7 +5,7 @@
 | 
			
		||||
    <meta charset="utf-8" />
 | 
			
		||||
    <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.19: https://docutils.sourceforge.io/" />
 | 
			
		||||
 | 
			
		||||
    <title>Command line interface — FitTrackee 0.6.12
 | 
			
		||||
    <title>Command line interface — FitTrackee 0.7.0
 | 
			
		||||
 documentation</title>
 | 
			
		||||
    <link rel="stylesheet" type="text/css" href="_static/pygments.css" />
 | 
			
		||||
    <link rel="stylesheet" type="text/css" href="_static/bootstrap-sphinx.css" />
 | 
			
		||||
@@ -41,7 +41,7 @@
 | 
			
		||||
        </button>
 | 
			
		||||
        <a class="navbar-brand" href="index.html">
 | 
			
		||||
          FitTrackee</a>
 | 
			
		||||
        <span class="navbar-text navbar-version pull-left"><b>0.6.12
 | 
			
		||||
        <span class="navbar-text navbar-version pull-left"><b>0.7.0
 | 
			
		||||
</b></span>
 | 
			
		||||
      </div>
 | 
			
		||||
 | 
			
		||||
@@ -146,7 +146,7 @@
 | 
			
		||||
      
 | 
			
		||||
  <section id="command-line-interface">
 | 
			
		||||
<h1>Command line interface<a class="headerlink" href="#command-line-interface" title="Permalink to this heading">¶</a></h1>
 | 
			
		||||
<p>A command line interface (CLI) is available to manage database and users.</p>
 | 
			
		||||
<p>A command line interface (CLI) is available to manage database, OAuth2 tokens and users.</p>
 | 
			
		||||
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>$ ftcli
 | 
			
		||||
Usage: ftcli <span class="o">[</span>OPTIONS<span class="o">]</span> COMMAND <span class="o">[</span>ARGS<span class="o">]</span>...
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -5,7 +5,7 @@
 | 
			
		||||
    <meta charset="utf-8" />
 | 
			
		||||
    <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.19: https://docutils.sourceforge.io/" />
 | 
			
		||||
 | 
			
		||||
    <title>Features — FitTrackee 0.6.12
 | 
			
		||||
    <title>Features — FitTrackee 0.7.0
 | 
			
		||||
 documentation</title>
 | 
			
		||||
    <link rel="stylesheet" type="text/css" href="_static/pygments.css" />
 | 
			
		||||
    <link rel="stylesheet" type="text/css" href="_static/bootstrap-sphinx.css" />
 | 
			
		||||
@@ -41,7 +41,7 @@
 | 
			
		||||
        </button>
 | 
			
		||||
        <a class="navbar-brand" href="index.html">
 | 
			
		||||
          FitTrackee</a>
 | 
			
		||||
        <span class="navbar-text navbar-version pull-left"><b>0.6.12
 | 
			
		||||
        <span class="navbar-text navbar-version pull-left"><b>0.7.0
 | 
			
		||||
</b></span>
 | 
			
		||||
      </div>
 | 
			
		||||
 | 
			
		||||
@@ -144,6 +144,12 @@
 | 
			
		||||
      
 | 
			
		||||
  <section id="features">
 | 
			
		||||
<h1>Features<a class="headerlink" href="#features" title="Permalink to this heading">¶</a></h1>
 | 
			
		||||
<div class="line-block">
 | 
			
		||||
<div class="line"><strong>FitTrackee</strong> allows you to store and display gpx files and some statistics from your outdoor activities.</div>
 | 
			
		||||
<div class="line">For now, this app is kind of a single-user application. Even if several users can register, a user can only view his own workouts.</div>
 | 
			
		||||
</div>
 | 
			
		||||
<p>Gpx files are stored in an upload directory (without encryption).</p>
 | 
			
		||||
<p>With the default configuration, <a class="reference external" href="https://www.openstreetmap.org">Open Street Map</a> is used as tile server in Workout detail and for static map generation.</p>
 | 
			
		||||
<section id="workouts">
 | 
			
		||||
<h2>Workouts<a class="headerlink" href="#workouts" title="Permalink to this heading">¶</a></h2>
 | 
			
		||||
<ul class="simple">
 | 
			
		||||
 
 | 
			
		||||
@@ -4,7 +4,7 @@
 | 
			
		||||
  <head>
 | 
			
		||||
    <meta charset="utf-8" />
 | 
			
		||||
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
 | 
			
		||||
    <title>Index — FitTrackee 0.6.12
 | 
			
		||||
    <title>Index — FitTrackee 0.7.0
 | 
			
		||||
 documentation</title>
 | 
			
		||||
    <link rel="stylesheet" type="text/css" href="_static/pygments.css" />
 | 
			
		||||
    <link rel="stylesheet" type="text/css" href="_static/bootstrap-sphinx.css" />
 | 
			
		||||
@@ -38,7 +38,7 @@
 | 
			
		||||
        </button>
 | 
			
		||||
        <a class="navbar-brand" href="index.html">
 | 
			
		||||
          FitTrackee</a>
 | 
			
		||||
        <span class="navbar-text navbar-version pull-left"><b>0.6.12
 | 
			
		||||
        <span class="navbar-text navbar-version pull-left"><b>0.7.0
 | 
			
		||||
</b></span>
 | 
			
		||||
      </div>
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -4,7 +4,7 @@
 | 
			
		||||
  <head>
 | 
			
		||||
    <meta charset="utf-8" />
 | 
			
		||||
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
 | 
			
		||||
    <title>HTTP Routing Table — FitTrackee 0.6.12
 | 
			
		||||
    <title>HTTP Routing Table — FitTrackee 0.7.0
 | 
			
		||||
 documentation</title>
 | 
			
		||||
    <link rel="stylesheet" type="text/css" href="_static/pygments.css" />
 | 
			
		||||
    <link rel="stylesheet" type="text/css" href="_static/bootstrap-sphinx.css" />
 | 
			
		||||
@@ -45,7 +45,7 @@
 | 
			
		||||
        </button>
 | 
			
		||||
        <a class="navbar-brand" href="index.html">
 | 
			
		||||
          FitTrackee</a>
 | 
			
		||||
        <span class="navbar-text navbar-version pull-left"><b>0.6.12
 | 
			
		||||
        <span class="navbar-text navbar-version pull-left"><b>0.7.0
 | 
			
		||||
</b></span>
 | 
			
		||||
      </div>
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -5,7 +5,7 @@
 | 
			
		||||
    <meta charset="utf-8" />
 | 
			
		||||
    <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.19: https://docutils.sourceforge.io/" />
 | 
			
		||||
 | 
			
		||||
    <title>FitTrackee — FitTrackee 0.6.12
 | 
			
		||||
    <title>FitTrackee — FitTrackee 0.7.0
 | 
			
		||||
 documentation</title>
 | 
			
		||||
    <link rel="stylesheet" type="text/css" href="_static/pygments.css" />
 | 
			
		||||
    <link rel="stylesheet" type="text/css" href="_static/bootstrap-sphinx.css" />
 | 
			
		||||
@@ -40,7 +40,7 @@
 | 
			
		||||
        </button>
 | 
			
		||||
        <a class="navbar-brand" href="#">
 | 
			
		||||
          FitTrackee</a>
 | 
			
		||||
        <span class="navbar-text navbar-version pull-left"><b>0.6.12
 | 
			
		||||
        <span class="navbar-text navbar-version pull-left"><b>0.7.0
 | 
			
		||||
</b></span>
 | 
			
		||||
      </div>
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -5,7 +5,7 @@
 | 
			
		||||
    <meta charset="utf-8" />
 | 
			
		||||
    <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.19: https://docutils.sourceforge.io/" />
 | 
			
		||||
 | 
			
		||||
    <title>Installation — FitTrackee 0.6.12
 | 
			
		||||
    <title>Installation — FitTrackee 0.7.0
 | 
			
		||||
 documentation</title>
 | 
			
		||||
    <link rel="stylesheet" type="text/css" href="_static/pygments.css" />
 | 
			
		||||
    <link rel="stylesheet" type="text/css" href="_static/bootstrap-sphinx.css" />
 | 
			
		||||
@@ -41,7 +41,7 @@
 | 
			
		||||
        </button>
 | 
			
		||||
        <a class="navbar-brand" href="index.html">
 | 
			
		||||
          FitTrackee</a>
 | 
			
		||||
        <span class="navbar-text navbar-version pull-left"><b>0.6.12
 | 
			
		||||
        <span class="navbar-text navbar-version pull-left"><b>0.7.0
 | 
			
		||||
</b></span>
 | 
			
		||||
      </div>
 | 
			
		||||
 | 
			
		||||
@@ -252,7 +252,7 @@ deployment method.</p>
 | 
			
		||||
<dd><p><strong>FitTrackee</strong> host.</p>
 | 
			
		||||
<dl class="field-list simple">
 | 
			
		||||
<dt class="field-odd">Default<span class="colon">:</span></dt>
 | 
			
		||||
<dd class="field-odd"><p>0.0.0.0</p>
 | 
			
		||||
<dd class="field-odd"><p>127.0.0.1</p>
 | 
			
		||||
</dd>
 | 
			
		||||
</dl>
 | 
			
		||||
</dd></dl>
 | 
			
		||||
@@ -787,11 +787,11 @@ $ make install-db
 | 
			
		||||
</div>
 | 
			
		||||
</div>
 | 
			
		||||
<ul class="simple">
 | 
			
		||||
<li><p>Download the last release (for now, it is the release v0.6.12):</p></li>
 | 
			
		||||
<li><p>Download the last release (for now, it is the release v0.7.0):</p></li>
 | 
			
		||||
</ul>
 | 
			
		||||
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>$ wget https://github.com/SamR1/FitTrackee/archive/v0.6.12.tar.gz
 | 
			
		||||
$ tar -xzf v0.6.12.tar.gz
 | 
			
		||||
$ mv FitTrackee-0.6.12 FitTrackee
 | 
			
		||||
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>$ wget https://github.com/SamR1/FitTrackee/archive/v0.7.0.tar.gz
 | 
			
		||||
$ tar -xzf v0.7.0.tar.gz
 | 
			
		||||
$ mv FitTrackee-0.7.0 FitTrackee
 | 
			
		||||
$ <span class="nb">cd</span> FitTrackee
 | 
			
		||||
</pre></div>
 | 
			
		||||
</div>
 | 
			
		||||
@@ -911,11 +911,11 @@ $ <span class="nb">source</span> .env
 | 
			
		||||
<ul class="simple">
 | 
			
		||||
<li><p>Stop the application</p></li>
 | 
			
		||||
<li><p>Change to the directory where FitTrackee directory is located</p></li>
 | 
			
		||||
<li><p>Download the last release (for now, it is the release v0.6.12) and overwrite existing files:</p></li>
 | 
			
		||||
<li><p>Download the last release (for now, it is the release v0.7.0) and overwrite existing files:</p></li>
 | 
			
		||||
</ul>
 | 
			
		||||
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>$ wget https://github.com/SamR1/FitTrackee/archive/v0.6.12.tar.gz
 | 
			
		||||
$ tar -xzf v0.6.12.tar.gz
 | 
			
		||||
$ cp -R FitTrackee-0.6.12/* FitTrackee/
 | 
			
		||||
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>$ wget https://github.com/SamR1/FitTrackee/archive/v0.7.0.tar.gz
 | 
			
		||||
$ tar -xzf v0.7.0.tar.gz
 | 
			
		||||
$ cp -R FitTrackee-0.7.0/* FitTrackee/
 | 
			
		||||
$ <span class="nb">cd</span> FitTrackee
 | 
			
		||||
</pre></div>
 | 
			
		||||
</div>
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										
											BIN
										
									
								
								docs/objects.inv
									
									
									
									
									
								
							
							
						
						@@ -4,7 +4,7 @@
 | 
			
		||||
  <head>
 | 
			
		||||
    <meta charset="utf-8" />
 | 
			
		||||
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
 | 
			
		||||
    <title>Search — FitTrackee 0.6.12
 | 
			
		||||
    <title>Search — FitTrackee 0.7.0
 | 
			
		||||
 documentation</title>
 | 
			
		||||
    <link rel="stylesheet" type="text/css" href="_static/pygments.css" />
 | 
			
		||||
    <link rel="stylesheet" type="text/css" href="_static/bootstrap-sphinx.css" />
 | 
			
		||||
@@ -45,7 +45,7 @@
 | 
			
		||||
        </button>
 | 
			
		||||
        <a class="navbar-brand" href="index.html">
 | 
			
		||||
          FitTrackee</a>
 | 
			
		||||
        <span class="navbar-text navbar-version pull-left"><b>0.6.12
 | 
			
		||||
        <span class="navbar-text navbar-version pull-left"><b>0.7.0
 | 
			
		||||
</b></span>
 | 
			
		||||
      </div>
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -5,7 +5,7 @@
 | 
			
		||||
    <meta charset="utf-8" />
 | 
			
		||||
    <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.19: https://docutils.sourceforge.io/" />
 | 
			
		||||
 | 
			
		||||
    <title>Administrator — FitTrackee 0.6.12
 | 
			
		||||
    <title>Administrator — FitTrackee 0.7.0
 | 
			
		||||
 documentation</title>
 | 
			
		||||
    <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
 | 
			
		||||
    <link rel="stylesheet" type="text/css" href="../_static/bootstrap-sphinx.css" />
 | 
			
		||||
@@ -41,7 +41,7 @@
 | 
			
		||||
        </button>
 | 
			
		||||
        <a class="navbar-brand" href="../index.html">
 | 
			
		||||
          FitTrackee</a>
 | 
			
		||||
        <span class="navbar-text navbar-version pull-left"><b>0.6.12
 | 
			
		||||
        <span class="navbar-text navbar-version pull-left"><b>0.7.0
 | 
			
		||||
</b></span>
 | 
			
		||||
      </div>
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -5,7 +5,7 @@
 | 
			
		||||
    <meta charset="utf-8" />
 | 
			
		||||
    <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.19: https://docutils.sourceforge.io/" />
 | 
			
		||||
 | 
			
		||||
    <title>Troubleshooting — FitTrackee 0.6.12
 | 
			
		||||
    <title>Troubleshooting — FitTrackee 0.7.0
 | 
			
		||||
 documentation</title>
 | 
			
		||||
    <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
 | 
			
		||||
    <link rel="stylesheet" type="text/css" href="../_static/bootstrap-sphinx.css" />
 | 
			
		||||
@@ -41,7 +41,7 @@
 | 
			
		||||
        </button>
 | 
			
		||||
        <a class="navbar-brand" href="../index.html">
 | 
			
		||||
          FitTrackee</a>
 | 
			
		||||
        <span class="navbar-text navbar-version pull-left"><b>0.6.12
 | 
			
		||||
        <span class="navbar-text navbar-version pull-left"><b>0.7.0
 | 
			
		||||
</b></span>
 | 
			
		||||
      </div>
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -5,7 +5,7 @@
 | 
			
		||||
    <meta charset="utf-8" />
 | 
			
		||||
    <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.19: https://docutils.sourceforge.io/" />
 | 
			
		||||
 | 
			
		||||
    <title>User — FitTrackee 0.6.12
 | 
			
		||||
    <title>User — FitTrackee 0.7.0
 | 
			
		||||
 documentation</title>
 | 
			
		||||
    <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
 | 
			
		||||
    <link rel="stylesheet" type="text/css" href="../_static/bootstrap-sphinx.css" />
 | 
			
		||||
@@ -41,7 +41,7 @@
 | 
			
		||||
        </button>
 | 
			
		||||
        <a class="navbar-brand" href="../index.html">
 | 
			
		||||
          FitTrackee</a>
 | 
			
		||||
        <span class="navbar-text navbar-version pull-left"><b>0.6.12
 | 
			
		||||
        <span class="navbar-text navbar-version pull-left"><b>0.7.0
 | 
			
		||||
</b></span>
 | 
			
		||||
      </div>
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
| 
		 Before Width: | Height: | Size: 550 KiB After Width: | Height: | Size: 550 KiB  | 
| 
		 Before Width: | Height: | Size: 371 KiB After Width: | Height: | Size: 371 KiB  | 
| 
		 Before Width: | Height: | Size: 206 KiB After Width: | Height: | Size: 206 KiB  | 
| 
		 Before Width: | Height: | Size: 70 KiB After Width: | Height: | Size: 70 KiB  | 
| 
		 Before Width: | Height: | Size: 71 KiB After Width: | Height: | Size: 71 KiB  | 
| 
		 Before Width: | Height: | Size: 105 KiB After Width: | Height: | Size: 105 KiB  | 
@@ -9,9 +9,6 @@ To allow a third-party application to interact with API endpoints, an
 | 
			
		||||
`OAuth2 <https://datatracker.ietf.org/doc/html/rfc6749>`_ client can be created
 | 
			
		||||
in user settings ('apps' tab).
 | 
			
		||||
 | 
			
		||||
.. note::
 | 
			
		||||
  OAuth2 support is implemented with `Authlib <https://docs.authlib.org/en/latest/>`_ library.
 | 
			
		||||
 | 
			
		||||
.. warning::
 | 
			
		||||
  OAuth2 endpoints requiring authentication are not accessible by third-party
 | 
			
		||||
  applications (`documentation <api/oauth2.html>`__), only by FitTrackee
 | 
			
		||||
@@ -20,6 +17,7 @@ in user settings ('apps' tab).
 | 
			
		||||
FitTrackee supports only `Authorization Code <https://datatracker.ietf.org/doc/html/rfc6749#section-1.3.1>`_
 | 
			
		||||
flow (with PKCE support).
 | 
			
		||||
It allows to exchange an authorization code for an access token.
 | 
			
		||||
The client ID and secret must be sent in the POST body.
 | 
			
		||||
It is recommended to use `PKCE <https://datatracker.ietf.org/doc/html/rfc7636>`_
 | 
			
		||||
to provide a better security.
 | 
			
		||||
 | 
			
		||||
@@ -36,7 +34,20 @@ The following scopes are available:
 | 
			
		||||
.. figure:: _images/fittrackee_screenshot-07.png
 | 
			
		||||
   :alt: OAuth2 client creation on FitTrackee
 | 
			
		||||
 | 
			
		||||
.. note::
 | 
			
		||||
  OAuth2 support is implemented with `Authlib <https://docs.authlib.org/en/latest/>`_ library.
 | 
			
		||||
 | 
			
		||||
.. warning::
 | 
			
		||||
  | If FitTrackee is running behind a proxy, the ``X-Forwarded-Proto`` header must be set.
 | 
			
		||||
  | For instance for `nginx`:
 | 
			
		||||
 | 
			
		||||
  .. code-block::
 | 
			
		||||
 | 
			
		||||
     proxy_set_header  X-Forwarded-Proto $scheme;
 | 
			
		||||
 | 
			
		||||
Some resources about OAuth 2.0:
 | 
			
		||||
 | 
			
		||||
- `OAuth 2.0 Simplified <https://www.oauth.com>`_ by `Aaron Parecki <https://aaronparecki.com>`_
 | 
			
		||||
- `Web App Example of OAuth 2 web application flow <https://requests-oauthlib.readthedocs.io/en/latest/examples/real_world_example.html>`_ with Requests-OAuthlib
 | 
			
		||||
- `Web App Example of OAuth 2 web application flow <https://requests-oauthlib.readthedocs.io/en/latest/examples/real_world_example.html>`_ with Requests-OAuthlib (python)
 | 
			
		||||
- `OAuth 2 Session <https://docs.authlib.org/en/latest/client/oauth2.html#oauth-2-session>`_ with Authlib (python)
 | 
			
		||||
- `Minimal example of an application interacting with FitTrackee <https://codeberg.org/SamR1/ft-oauth-client>`_ (python)
 | 
			
		||||
@@ -1,7 +1,7 @@
 | 
			
		||||
Command line interface
 | 
			
		||||
######################
 | 
			
		||||
 | 
			
		||||
A command line interface (CLI) is available to manage database and users.
 | 
			
		||||
A command line interface (CLI) is available to manage database, OAuth2 tokens and users.
 | 
			
		||||
 | 
			
		||||
.. code-block:: bash
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -1,6 +1,14 @@
 | 
			
		||||
Features
 | 
			
		||||
########
 | 
			
		||||
 | 
			
		||||
| **FitTrackee** allows you to store and display gpx files and some statistics from your outdoor activities.
 | 
			
		||||
| For now, this app is kind of a single-user application. Even if several users can register, a user can only view his own workouts.
 | 
			
		||||
 | 
			
		||||
Gpx files are stored in an upload directory (without encryption).
 | 
			
		||||
 | 
			
		||||
With the default configuration, `Open Street Map <https://www.openstreetmap.org>`__ is used as tile server in Workout detail and for static map generation.
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
Workouts
 | 
			
		||||
^^^^^^^^
 | 
			
		||||
- 11 sports are supported:
 | 
			
		||||
 
 | 
			
		||||
@@ -60,7 +60,7 @@ deployment method.
 | 
			
		||||
 | 
			
		||||
    **FitTrackee** host.
 | 
			
		||||
 | 
			
		||||
    :default: 0.0.0.0
 | 
			
		||||
    :default: 127.0.0.1
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
.. envvar:: PORT
 | 
			
		||||
@@ -477,13 +477,13 @@ Production environment
 | 
			
		||||
.. warning::
 | 
			
		||||
    | Note that FitTrackee is under heavy development, some features may be unstable.
 | 
			
		||||
 | 
			
		||||
-  Download the last release (for now, it is the release v0.6.12):
 | 
			
		||||
-  Download the last release (for now, it is the release v0.7.0):
 | 
			
		||||
 | 
			
		||||
.. code:: bash
 | 
			
		||||
 | 
			
		||||
   $ wget https://github.com/SamR1/FitTrackee/archive/v0.6.12.tar.gz
 | 
			
		||||
   $ tar -xzf v0.6.12.tar.gz
 | 
			
		||||
   $ mv FitTrackee-0.6.12 FitTrackee
 | 
			
		||||
   $ wget https://github.com/SamR1/FitTrackee/archive/v0.7.0.tar.gz
 | 
			
		||||
   $ tar -xzf v0.7.0.tar.gz
 | 
			
		||||
   $ mv FitTrackee-0.7.0 FitTrackee
 | 
			
		||||
   $ cd FitTrackee
 | 
			
		||||
 | 
			
		||||
-  Create **.env** from example and update it
 | 
			
		||||
@@ -603,13 +603,13 @@ Prod environment
 | 
			
		||||
 | 
			
		||||
- Change to the directory where FitTrackee directory is located
 | 
			
		||||
 | 
			
		||||
- Download the last release (for now, it is the release v0.6.12) and overwrite existing files:
 | 
			
		||||
- Download the last release (for now, it is the release v0.7.0) and overwrite existing files:
 | 
			
		||||
 | 
			
		||||
.. code:: bash
 | 
			
		||||
 | 
			
		||||
   $ wget https://github.com/SamR1/FitTrackee/archive/v0.6.12.tar.gz
 | 
			
		||||
   $ tar -xzf v0.6.12.tar.gz
 | 
			
		||||
   $ cp -R FitTrackee-0.6.12/* FitTrackee/
 | 
			
		||||
   $ wget https://github.com/SamR1/FitTrackee/archive/v0.7.0.tar.gz
 | 
			
		||||
   $ tar -xzf v0.7.0.tar.gz
 | 
			
		||||
   $ cp -R FitTrackee-0.7.0/* FitTrackee/
 | 
			
		||||
   $ cd FitTrackee
 | 
			
		||||
 | 
			
		||||
- Update **.env** if needed (see `Environment variables <installation.html#environment-variables>`__).
 | 
			
		||||
 
 | 
			
		||||
@@ -25,7 +25,7 @@ from werkzeug.middleware.proxy_fix import ProxyFix
 | 
			
		||||
from fittrackee.emails.email import EmailService
 | 
			
		||||
from fittrackee.request import CustomRequest
 | 
			
		||||
 | 
			
		||||
VERSION = __version__ = '0.6.12'
 | 
			
		||||
VERSION = __version__ = '0.7.0'
 | 
			
		||||
REDIS_URL = os.getenv('REDIS_URL', 'redis://')
 | 
			
		||||
API_RATE_LIMITS = os.environ.get('API_RATE_LIMITS', '300 per 5 minutes').split(
 | 
			
		||||
    ','
 | 
			
		||||
 
 | 
			
		||||
@@ -48,7 +48,7 @@ def get_application_config() -> Union[Dict, HttpResponse]:
 | 
			
		||||
          "max_users": 0,
 | 
			
		||||
          "max_zip_file_size": 10485760,
 | 
			
		||||
          "map_attribution": "© <a href=http://www.openstreetmap.org/copyright>OpenStreetMap</a> contributors"
 | 
			
		||||
          "version": "0.6.12"
 | 
			
		||||
          "version": "0.7.0"
 | 
			
		||||
        },
 | 
			
		||||
        "status": "success"
 | 
			
		||||
      }
 | 
			
		||||
@@ -100,7 +100,7 @@ def update_application_config(auth_user: User) -> Union[Dict, HttpResponse]:
 | 
			
		||||
          "max_users": 10,
 | 
			
		||||
          "max_zip_file_size": 10485760,
 | 
			
		||||
          "map_attribution": "© <a href=http://www.openstreetmap.org/copyright>OpenStreetMap</a> contributors"
 | 
			
		||||
          "version": "0.6.12"
 | 
			
		||||
          "version": "0.7.0"
 | 
			
		||||
        },
 | 
			
		||||
        "status": "success"
 | 
			
		||||
      }
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										2
									
								
								fittrackee/dist/index.html
									
									
									
									
										vendored
									
									
								
							
							
						
						@@ -1 +1 @@
 | 
			
		||||
<!doctype html><html lang="en"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1"><!--[if IE]><link rel="icon" href="/favicon.ico"><![endif]--><link rel="stylesheet" href="/static/css/fork-awesome.min.css"/><link rel="stylesheet" href="/static/css/leaflet.css"/><title>FitTrackee</title><script defer="defer" src="/static/js/chunk-vendors.e9c5b3a5.js"></script><script defer="defer" src="/static/js/app.487033cb.js"></script><link href="/static/css/app.eee1934d.css" rel="stylesheet"><link rel="icon" type="image/png" sizes="32x32" href="/img/icons/favicon-32x32.png"><link rel="icon" type="image/png" sizes="16x16" href="/img/icons/favicon-16x16.png"><link rel="manifest" href="/manifest.json"><meta name="theme-color" content="#4DBA87"><meta name="apple-mobile-web-app-capable" content="no"><meta name="apple-mobile-web-app-status-bar-style" content="default"><meta name="apple-mobile-web-app-title" content="fittrackee_client"><link rel="apple-touch-icon" href="/img/icons/apple-touch-icon-152x152.png"><link rel="mask-icon" href="/img/icons/safari-pinned-tab.svg" color="#4DBA87"><meta name="msapplication-TileImage" content="/img/icons/msapplication-icon-144x144.png"><meta name="msapplication-TileColor" content="#000000"></head><body><noscript><strong>We're sorry but FitTrackee doesn't work properly without JavaScript enabled. Please enable it to continue.</strong></noscript><div id="app"></div></body></html>
 | 
			
		||||
<!doctype html><html lang="en"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1"><!--[if IE]><link rel="icon" href="/favicon.ico"><![endif]--><link rel="stylesheet" href="/static/css/fork-awesome.min.css"/><link rel="stylesheet" href="/static/css/leaflet.css"/><title>FitTrackee</title><script defer="defer" src="/static/js/chunk-vendors.e9c5b3a5.js"></script><script defer="defer" src="/static/js/app.4f3048de.js"></script><link href="/static/css/app.eee1934d.css" rel="stylesheet"><link rel="icon" type="image/png" sizes="32x32" href="/img/icons/favicon-32x32.png"><link rel="icon" type="image/png" sizes="16x16" href="/img/icons/favicon-16x16.png"><link rel="manifest" href="/manifest.json"><meta name="theme-color" content="#4DBA87"><meta name="apple-mobile-web-app-capable" content="no"><meta name="apple-mobile-web-app-status-bar-style" content="default"><meta name="apple-mobile-web-app-title" content="fittrackee_client"><link rel="apple-touch-icon" href="/img/icons/apple-touch-icon-152x152.png"><link rel="mask-icon" href="/img/icons/safari-pinned-tab.svg" color="#4DBA87"><meta name="msapplication-TileImage" content="/img/icons/msapplication-icon-144x144.png"><meta name="msapplication-TileColor" content="#000000"></head><body><noscript><strong>We're sorry but FitTrackee doesn't work properly without JavaScript enabled. Please enable it to continue.</strong></noscript><div id="app"></div></body></html>
 | 
			
		||||
							
								
								
									
										2
									
								
								fittrackee/dist/service-worker.js
									
									
									
									
										vendored
									
									
								
							
							
						
						
							
								
								
									
										2
									
								
								fittrackee/dist/service-worker.js.map
									
									
									
									
										vendored
									
									
								
							
							
						
						@@ -1,6 +1,6 @@
 | 
			
		||||
{
 | 
			
		||||
  "name": "fittrackee_client",
 | 
			
		||||
  "version": "0.6.12",
 | 
			
		||||
  "version": "0.7.0",
 | 
			
		||||
  "private": true,
 | 
			
		||||
  "scripts": {
 | 
			
		||||
    "serve": "vue-cli-service serve",
 | 
			
		||||
 
 | 
			
		||||
@@ -1,6 +1,6 @@
 | 
			
		||||
[tool.poetry]
 | 
			
		||||
name = "fittrackee"
 | 
			
		||||
version = "0.6.12"
 | 
			
		||||
version = "0.7.0"
 | 
			
		||||
description = "Self-hosted outdoor workout/activity tracker"
 | 
			
		||||
authors = ["SamR1"]
 | 
			
		||||
license = "AGPL-3.0"
 | 
			
		||||
 
 | 
			
		||||