Merge branch 'release-v0.5.1'
13
CHANGELOG.md
@ -1,5 +1,18 @@
|
|||||||
# Change log
|
# Change log
|
||||||
|
|
||||||
|
## Version 0.5.1 (2021/11/30)
|
||||||
|
|
||||||
|
### Issues Closed
|
||||||
|
|
||||||
|
#### New Features
|
||||||
|
|
||||||
|
* [#116](https://github.com/SamR1/FitTrackee/issues/116) - Better UI for Speed and Elevation buttons in the graph of the Workout screen
|
||||||
|
* [#115](https://github.com/SamR1/FitTrackee/issues/115) - Add option to download the GPX file of a Workout
|
||||||
|
* [#5](https://github.com/SamR1/FitTrackee/issues/5) - Display a chart with average speed
|
||||||
|
|
||||||
|
In this release 3 issue were closed.
|
||||||
|
|
||||||
|
|
||||||
## Version 0.5.0 (2021/11/14)
|
## Version 0.5.0 (2021/11/14)
|
||||||
|
|
||||||
### Issues Closed
|
### Issues Closed
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
# Sphinx build info version 1
|
# 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.
|
# This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done.
|
||||||
config: d2c47424fbb13c7705708db687756ae8
|
config: 756b383fe5a7ccedd8d0e56488a7df86
|
||||||
tags: 645f666f9bcd5a90fca523b33c5a78b7
|
tags: 645f666f9bcd5a90fca523b33c5a78b7
|
||||||
|
Before Width: | Height: | Size: 535 KiB After Width: | Height: | Size: 536 KiB |
Before Width: | Height: | Size: 367 KiB After Width: | Height: | Size: 353 KiB |
Before Width: | Height: | Size: 201 KiB After Width: | Height: | Size: 201 KiB |
Before Width: | Height: | Size: 68 KiB After Width: | Height: | Size: 69 KiB |
Before Width: | Height: | Size: 71 KiB After Width: | Height: | Size: 71 KiB |
Before Width: | Height: | Size: 100 KiB After Width: | Height: | Size: 100 KiB |
@ -11,6 +11,7 @@ Workouts
|
|||||||
workouts.get_segment_gpx,
|
workouts.get_segment_gpx,
|
||||||
workouts.get_map,
|
workouts.get_map,
|
||||||
workouts.get_map_tile,
|
workouts.get_map_tile,
|
||||||
|
workouts.download_workout_gpx,
|
||||||
workouts.post_workout,
|
workouts.post_workout,
|
||||||
workouts.post_workout_no_gpx,
|
workouts.post_workout_no_gpx,
|
||||||
workouts.update_workout,
|
workouts.update_workout,
|
||||||
|
@ -1,5 +1,18 @@
|
|||||||
# Change log
|
# Change log
|
||||||
|
|
||||||
|
## Version 0.5.1 (2021/11/30)
|
||||||
|
|
||||||
|
### Issues Closed
|
||||||
|
|
||||||
|
#### New Features
|
||||||
|
|
||||||
|
* [#116](https://github.com/SamR1/FitTrackee/issues/116) - Better UI for Speed and Elevation buttons in the graph of the Workout screen
|
||||||
|
* [#115](https://github.com/SamR1/FitTrackee/issues/115) - Add option to download the GPX file of a Workout
|
||||||
|
* [#5](https://github.com/SamR1/FitTrackee/issues/5) - Display a chart with average speed
|
||||||
|
|
||||||
|
In this release 3 issue were closed.
|
||||||
|
|
||||||
|
|
||||||
## Version 0.5.0 (2021/11/14)
|
## Version 0.5.0 (2021/11/14)
|
||||||
|
|
||||||
### Issues Closed
|
### Issues Closed
|
||||||
|
@ -75,8 +75,15 @@ Workouts
|
|||||||
- Dashboard with month calendar displaying workouts and record. The week can start on Sunday or Monday (which can be changed in the user preferences). The calendar displays up to 100 workouts.
|
- Dashboard with month calendar displaying workouts and record. The week can start on Sunday or Monday (which can be changed in the user preferences). The calendar displays up to 100 workouts.
|
||||||
- Workout creation by uploading a gpx file (related data are stored in database with metric system). A workout can even be created without gpx (the user must enter date, time, duration and distance).
|
- Workout creation by uploading a gpx file (related data are stored in database with metric system). A workout can even be created without gpx (the user must enter date, time, duration and distance).
|
||||||
- A workout with a gpx file can be displayed with map, weather (if the DarkSky API key is provided) and charts (speed and elevation). Segments can be displayed.
|
- A workout with a gpx file can be displayed with map, weather (if the DarkSky API key is provided) and charts (speed and elevation). Segments can be displayed.
|
||||||
|
- Workout gpx file can be downloaded (**new in 0.5.1**)
|
||||||
- Workout edition and deletion. User can add a note.
|
- Workout edition and deletion. User can add a note.
|
||||||
- User statistics
|
- User statistics, by time period (week, month, year) and sport:
|
||||||
|
- total distance
|
||||||
|
- total duration
|
||||||
|
- total workouts
|
||||||
|
- total ascent (**new in 0.5.0**)
|
||||||
|
- total descent (**new in 0.5.0**)
|
||||||
|
- average speed (**new in 0.5.1**)
|
||||||
- User records by sports:
|
- User records by sports:
|
||||||
- average speed
|
- average speed
|
||||||
- farest distance
|
- farest distance
|
||||||
|
@ -32,8 +32,8 @@ Table of contents
|
|||||||
.. toctree::
|
.. toctree::
|
||||||
:maxdepth: 2
|
:maxdepth: 2
|
||||||
|
|
||||||
installation
|
|
||||||
features
|
features
|
||||||
|
installation
|
||||||
api/index
|
api/index
|
||||||
troubleshooting/index
|
troubleshooting/index
|
||||||
changelog
|
changelog
|
||||||
|
2
docs/_static/documentation_options.js
vendored
@ -1,6 +1,6 @@
|
|||||||
var DOCUMENTATION_OPTIONS = {
|
var DOCUMENTATION_OPTIONS = {
|
||||||
URL_ROOT: document.getElementById("documentation_options").getAttribute('data-url_root'),
|
URL_ROOT: document.getElementById("documentation_options").getAttribute('data-url_root'),
|
||||||
VERSION: '0.5.0',
|
VERSION: '0.5.1',
|
||||||
LANGUAGE: 'None',
|
LANGUAGE: 'None',
|
||||||
COLLAPSE_INDEX: false,
|
COLLAPSE_INDEX: false,
|
||||||
BUILDER: 'html',
|
BUILDER: 'html',
|
||||||
|
@ -5,7 +5,7 @@
|
|||||||
<meta charset="utf-8" />
|
<meta charset="utf-8" />
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
|
||||||
|
|
||||||
<title>Authentication — FitTrackee 0.5.0
|
<title>Authentication — FitTrackee 0.5.1
|
||||||
documentation</title>
|
documentation</title>
|
||||||
<link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
|
<link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
|
||||||
<link rel="stylesheet" type="text/css" href="../_static/bootstrap-sphinx.css" />
|
<link rel="stylesheet" type="text/css" href="../_static/bootstrap-sphinx.css" />
|
||||||
@ -40,7 +40,7 @@
|
|||||||
</button>
|
</button>
|
||||||
<a class="navbar-brand" href="../index.html">
|
<a class="navbar-brand" href="../index.html">
|
||||||
FitTrackee</a>
|
FitTrackee</a>
|
||||||
<span class="navbar-text navbar-version pull-left"><b>0.5.0
|
<span class="navbar-text navbar-version pull-left"><b>0.5.1
|
||||||
</b></span>
|
</b></span>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@ -59,8 +59,8 @@
|
|||||||
<ul class="dropdown-menu globaltoc"
|
<ul class="dropdown-menu globaltoc"
|
||||||
role="menu"
|
role="menu"
|
||||||
aria-labelledby="dLabelGlobalToc"><ul class="current">
|
aria-labelledby="dLabelGlobalToc"><ul class="current">
|
||||||
<li class="toctree-l1"><a class="reference internal" href="../installation.html">Installation</a></li>
|
|
||||||
<li class="toctree-l1"><a class="reference internal" href="../features.html">Features</a></li>
|
<li class="toctree-l1"><a class="reference internal" href="../features.html">Features</a></li>
|
||||||
|
<li class="toctree-l1"><a class="reference internal" href="../installation.html">Installation</a></li>
|
||||||
<li class="toctree-l1 current"><a class="reference internal" href="index.html">API documentation</a></li>
|
<li class="toctree-l1 current"><a class="reference internal" href="index.html">API documentation</a></li>
|
||||||
<li class="toctree-l1"><a class="reference internal" href="../troubleshooting/index.html">Troubleshooting</a></li>
|
<li class="toctree-l1"><a class="reference internal" href="../troubleshooting/index.html">Troubleshooting</a></li>
|
||||||
<li class="toctree-l1"><a class="reference internal" href="../changelog.html">Change log</a></li>
|
<li class="toctree-l1"><a class="reference internal" href="../changelog.html">Change log</a></li>
|
||||||
@ -867,7 +867,7 @@
|
|||||||
</p>
|
</p>
|
||||||
<p>
|
<p>
|
||||||
© Copyright 2018 - 2021, SamR1.<br/>
|
© Copyright 2018 - 2021, SamR1.<br/>
|
||||||
Created using <a href="http://sphinx-doc.org/">Sphinx</a> 4.3.0.<br/>
|
Created using <a href="http://sphinx-doc.org/">Sphinx</a> 4.3.1.<br/>
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
</footer>
|
</footer>
|
||||||
|
@ -5,7 +5,7 @@
|
|||||||
<meta charset="utf-8" />
|
<meta charset="utf-8" />
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
|
||||||
|
|
||||||
<title>Configuration — FitTrackee 0.5.0
|
<title>Configuration — FitTrackee 0.5.1
|
||||||
documentation</title>
|
documentation</title>
|
||||||
<link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
|
<link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
|
||||||
<link rel="stylesheet" type="text/css" href="../_static/bootstrap-sphinx.css" />
|
<link rel="stylesheet" type="text/css" href="../_static/bootstrap-sphinx.css" />
|
||||||
@ -40,7 +40,7 @@
|
|||||||
</button>
|
</button>
|
||||||
<a class="navbar-brand" href="../index.html">
|
<a class="navbar-brand" href="../index.html">
|
||||||
FitTrackee</a>
|
FitTrackee</a>
|
||||||
<span class="navbar-text navbar-version pull-left"><b>0.5.0
|
<span class="navbar-text navbar-version pull-left"><b>0.5.1
|
||||||
</b></span>
|
</b></span>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@ -59,8 +59,8 @@
|
|||||||
<ul class="dropdown-menu globaltoc"
|
<ul class="dropdown-menu globaltoc"
|
||||||
role="menu"
|
role="menu"
|
||||||
aria-labelledby="dLabelGlobalToc"><ul class="current">
|
aria-labelledby="dLabelGlobalToc"><ul class="current">
|
||||||
<li class="toctree-l1"><a class="reference internal" href="../installation.html">Installation</a></li>
|
|
||||||
<li class="toctree-l1"><a class="reference internal" href="../features.html">Features</a></li>
|
<li class="toctree-l1"><a class="reference internal" href="../features.html">Features</a></li>
|
||||||
|
<li class="toctree-l1"><a class="reference internal" href="../installation.html">Installation</a></li>
|
||||||
<li class="toctree-l1 current"><a class="reference internal" href="index.html">API documentation</a></li>
|
<li class="toctree-l1 current"><a class="reference internal" href="index.html">API documentation</a></li>
|
||||||
<li class="toctree-l1"><a class="reference internal" href="../troubleshooting/index.html">Troubleshooting</a></li>
|
<li class="toctree-l1"><a class="reference internal" href="../troubleshooting/index.html">Troubleshooting</a></li>
|
||||||
<li class="toctree-l1"><a class="reference internal" href="../changelog.html">Change log</a></li>
|
<li class="toctree-l1"><a class="reference internal" href="../changelog.html">Change log</a></li>
|
||||||
@ -148,7 +148,7 @@
|
|||||||
<span class="nt">"max_zip_file_size"</span><span class="p">:</span> <span class="mi">10485760</span><span class="p">,</span>
|
<span class="nt">"max_zip_file_size"</span><span class="p">:</span> <span class="mi">10485760</span><span class="p">,</span>
|
||||||
<span class="nt">"max_users"</span><span class="p">:</span> <span class="mi">0</span><span class="p">,</span>
|
<span class="nt">"max_users"</span><span class="p">:</span> <span class="mi">0</span><span class="p">,</span>
|
||||||
<span class="nt">"map_attribution"</span><span class="p">:</span> <span class="nt">"&copy; <a href=http://www.openstreetmap.org/copyright>OpenStreetMap</a> contributors"</span>
|
<span class="nt">"map_attribution"</span><span class="p">:</span> <span class="nt">"&copy; <a href=http://www.openstreetmap.org/copyright>OpenStreetMap</a> contributors"</span>
|
||||||
<span class="nt">"version"</span><span class="p">:</span> <span class="s2">"0.5.0"</span>
|
<span class="nt">"version"</span><span class="p">:</span> <span class="s2">"0.5.1"</span>
|
||||||
<span class="p">},</span>
|
<span class="p">},</span>
|
||||||
<span class="nt">"status"</span><span class="p">:</span> <span class="s2">"success"</span>
|
<span class="nt">"status"</span><span class="p">:</span> <span class="s2">"success"</span>
|
||||||
<span class="p">}</span>
|
<span class="p">}</span>
|
||||||
@ -270,7 +270,7 @@
|
|||||||
</p>
|
</p>
|
||||||
<p>
|
<p>
|
||||||
© Copyright 2018 - 2021, SamR1.<br/>
|
© Copyright 2018 - 2021, SamR1.<br/>
|
||||||
Created using <a href="http://sphinx-doc.org/">Sphinx</a> 4.3.0.<br/>
|
Created using <a href="http://sphinx-doc.org/">Sphinx</a> 4.3.1.<br/>
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
</footer>
|
</footer>
|
||||||
|
@ -5,7 +5,7 @@
|
|||||||
<meta charset="utf-8" />
|
<meta charset="utf-8" />
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
|
||||||
|
|
||||||
<title>API documentation — FitTrackee 0.5.0
|
<title>API documentation — FitTrackee 0.5.1
|
||||||
documentation</title>
|
documentation</title>
|
||||||
<link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
|
<link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
|
||||||
<link rel="stylesheet" type="text/css" href="../_static/bootstrap-sphinx.css" />
|
<link rel="stylesheet" type="text/css" href="../_static/bootstrap-sphinx.css" />
|
||||||
@ -17,7 +17,7 @@
|
|||||||
<link rel="index" title="Index" href="../genindex.html" />
|
<link rel="index" title="Index" href="../genindex.html" />
|
||||||
<link rel="search" title="Search" href="../search.html" />
|
<link rel="search" title="Search" href="../search.html" />
|
||||||
<link rel="next" title="Authentication" href="auth.html" />
|
<link rel="next" title="Authentication" href="auth.html" />
|
||||||
<link rel="prev" title="Features" href="../features.html" />
|
<link rel="prev" title="Installation" href="../installation.html" />
|
||||||
<meta charset='utf-8'>
|
<meta charset='utf-8'>
|
||||||
<meta http-equiv='X-UA-Compatible' content='IE=edge,chrome=1'>
|
<meta http-equiv='X-UA-Compatible' content='IE=edge,chrome=1'>
|
||||||
<meta name='viewport' content='width=device-width, initial-scale=1.0, maximum-scale=1'>
|
<meta name='viewport' content='width=device-width, initial-scale=1.0, maximum-scale=1'>
|
||||||
@ -40,7 +40,7 @@
|
|||||||
</button>
|
</button>
|
||||||
<a class="navbar-brand" href="../index.html">
|
<a class="navbar-brand" href="../index.html">
|
||||||
FitTrackee</a>
|
FitTrackee</a>
|
||||||
<span class="navbar-text navbar-version pull-left"><b>0.5.0
|
<span class="navbar-text navbar-version pull-left"><b>0.5.1
|
||||||
</b></span>
|
</b></span>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@ -59,8 +59,8 @@
|
|||||||
<ul class="dropdown-menu globaltoc"
|
<ul class="dropdown-menu globaltoc"
|
||||||
role="menu"
|
role="menu"
|
||||||
aria-labelledby="dLabelGlobalToc"><ul class="current">
|
aria-labelledby="dLabelGlobalToc"><ul class="current">
|
||||||
<li class="toctree-l1"><a class="reference internal" href="../installation.html">Installation</a></li>
|
|
||||||
<li class="toctree-l1"><a class="reference internal" href="../features.html">Features</a></li>
|
<li class="toctree-l1"><a class="reference internal" href="../features.html">Features</a></li>
|
||||||
|
<li class="toctree-l1"><a class="reference internal" href="../installation.html">Installation</a></li>
|
||||||
<li class="toctree-l1 current"><a class="current reference internal" href="#">API documentation</a></li>
|
<li class="toctree-l1 current"><a class="current reference internal" href="#">API documentation</a></li>
|
||||||
<li class="toctree-l1"><a class="reference internal" href="../troubleshooting/index.html">Troubleshooting</a></li>
|
<li class="toctree-l1"><a class="reference internal" href="../troubleshooting/index.html">Troubleshooting</a></li>
|
||||||
<li class="toctree-l1"><a class="reference internal" href="../changelog.html">Change log</a></li>
|
<li class="toctree-l1"><a class="reference internal" href="../changelog.html">Change log</a></li>
|
||||||
@ -87,7 +87,7 @@
|
|||||||
|
|
||||||
|
|
||||||
<li>
|
<li>
|
||||||
<a href="../features.html" title="Previous Chapter: Features"><span class="glyphicon glyphicon-chevron-left visible-sm"></span><span class="hidden-sm hidden-tablet">« Features</span>
|
<a href="../installation.html" title="Previous Chapter: Installation"><span class="glyphicon glyphicon-chevron-left visible-sm"></span><span class="hidden-sm hidden-tablet">« Installation</span>
|
||||||
</a>
|
</a>
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
@ -154,7 +154,7 @@
|
|||||||
</p>
|
</p>
|
||||||
<p>
|
<p>
|
||||||
© Copyright 2018 - 2021, SamR1.<br/>
|
© Copyright 2018 - 2021, SamR1.<br/>
|
||||||
Created using <a href="http://sphinx-doc.org/">Sphinx</a> 4.3.0.<br/>
|
Created using <a href="http://sphinx-doc.org/">Sphinx</a> 4.3.1.<br/>
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
</footer>
|
</footer>
|
||||||
|
@ -5,7 +5,7 @@
|
|||||||
<meta charset="utf-8" />
|
<meta charset="utf-8" />
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
|
||||||
|
|
||||||
<title>Records — FitTrackee 0.5.0
|
<title>Records — FitTrackee 0.5.1
|
||||||
documentation</title>
|
documentation</title>
|
||||||
<link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
|
<link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
|
||||||
<link rel="stylesheet" type="text/css" href="../_static/bootstrap-sphinx.css" />
|
<link rel="stylesheet" type="text/css" href="../_static/bootstrap-sphinx.css" />
|
||||||
@ -40,7 +40,7 @@
|
|||||||
</button>
|
</button>
|
||||||
<a class="navbar-brand" href="../index.html">
|
<a class="navbar-brand" href="../index.html">
|
||||||
FitTrackee</a>
|
FitTrackee</a>
|
||||||
<span class="navbar-text navbar-version pull-left"><b>0.5.0
|
<span class="navbar-text navbar-version pull-left"><b>0.5.1
|
||||||
</b></span>
|
</b></span>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@ -59,8 +59,8 @@
|
|||||||
<ul class="dropdown-menu globaltoc"
|
<ul class="dropdown-menu globaltoc"
|
||||||
role="menu"
|
role="menu"
|
||||||
aria-labelledby="dLabelGlobalToc"><ul class="current">
|
aria-labelledby="dLabelGlobalToc"><ul class="current">
|
||||||
<li class="toctree-l1"><a class="reference internal" href="../installation.html">Installation</a></li>
|
|
||||||
<li class="toctree-l1"><a class="reference internal" href="../features.html">Features</a></li>
|
<li class="toctree-l1"><a class="reference internal" href="../features.html">Features</a></li>
|
||||||
|
<li class="toctree-l1"><a class="reference internal" href="../installation.html">Installation</a></li>
|
||||||
<li class="toctree-l1 current"><a class="reference internal" href="index.html">API documentation</a></li>
|
<li class="toctree-l1 current"><a class="reference internal" href="index.html">API documentation</a></li>
|
||||||
<li class="toctree-l1"><a class="reference internal" href="../troubleshooting/index.html">Troubleshooting</a></li>
|
<li class="toctree-l1"><a class="reference internal" href="../troubleshooting/index.html">Troubleshooting</a></li>
|
||||||
<li class="toctree-l1"><a class="reference internal" href="../changelog.html">Change log</a></li>
|
<li class="toctree-l1"><a class="reference internal" href="../changelog.html">Change log</a></li>
|
||||||
@ -251,7 +251,7 @@
|
|||||||
</p>
|
</p>
|
||||||
<p>
|
<p>
|
||||||
© Copyright 2018 - 2021, SamR1.<br/>
|
© Copyright 2018 - 2021, SamR1.<br/>
|
||||||
Created using <a href="http://sphinx-doc.org/">Sphinx</a> 4.3.0.<br/>
|
Created using <a href="http://sphinx-doc.org/">Sphinx</a> 4.3.1.<br/>
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
</footer>
|
</footer>
|
||||||
|
@ -5,7 +5,7 @@
|
|||||||
<meta charset="utf-8" />
|
<meta charset="utf-8" />
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
|
||||||
|
|
||||||
<title>Sports — FitTrackee 0.5.0
|
<title>Sports — FitTrackee 0.5.1
|
||||||
documentation</title>
|
documentation</title>
|
||||||
<link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
|
<link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
|
||||||
<link rel="stylesheet" type="text/css" href="../_static/bootstrap-sphinx.css" />
|
<link rel="stylesheet" type="text/css" href="../_static/bootstrap-sphinx.css" />
|
||||||
@ -40,7 +40,7 @@
|
|||||||
</button>
|
</button>
|
||||||
<a class="navbar-brand" href="../index.html">
|
<a class="navbar-brand" href="../index.html">
|
||||||
FitTrackee</a>
|
FitTrackee</a>
|
||||||
<span class="navbar-text navbar-version pull-left"><b>0.5.0
|
<span class="navbar-text navbar-version pull-left"><b>0.5.1
|
||||||
</b></span>
|
</b></span>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@ -59,8 +59,8 @@
|
|||||||
<ul class="dropdown-menu globaltoc"
|
<ul class="dropdown-menu globaltoc"
|
||||||
role="menu"
|
role="menu"
|
||||||
aria-labelledby="dLabelGlobalToc"><ul class="current">
|
aria-labelledby="dLabelGlobalToc"><ul class="current">
|
||||||
<li class="toctree-l1"><a class="reference internal" href="../installation.html">Installation</a></li>
|
|
||||||
<li class="toctree-l1"><a class="reference internal" href="../features.html">Features</a></li>
|
<li class="toctree-l1"><a class="reference internal" href="../features.html">Features</a></li>
|
||||||
|
<li class="toctree-l1"><a class="reference internal" href="../installation.html">Installation</a></li>
|
||||||
<li class="toctree-l1 current"><a class="reference internal" href="index.html">API documentation</a></li>
|
<li class="toctree-l1 current"><a class="reference internal" href="index.html">API documentation</a></li>
|
||||||
<li class="toctree-l1"><a class="reference internal" href="../troubleshooting/index.html">Troubleshooting</a></li>
|
<li class="toctree-l1"><a class="reference internal" href="../troubleshooting/index.html">Troubleshooting</a></li>
|
||||||
<li class="toctree-l1"><a class="reference internal" href="../changelog.html">Change log</a></li>
|
<li class="toctree-l1"><a class="reference internal" href="../changelog.html">Change log</a></li>
|
||||||
@ -491,7 +491,7 @@ Authenticated user must be an admin</p>
|
|||||||
</p>
|
</p>
|
||||||
<p>
|
<p>
|
||||||
© Copyright 2018 - 2021, SamR1.<br/>
|
© Copyright 2018 - 2021, SamR1.<br/>
|
||||||
Created using <a href="http://sphinx-doc.org/">Sphinx</a> 4.3.0.<br/>
|
Created using <a href="http://sphinx-doc.org/">Sphinx</a> 4.3.1.<br/>
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
</footer>
|
</footer>
|
||||||
|
@ -5,7 +5,7 @@
|
|||||||
<meta charset="utf-8" />
|
<meta charset="utf-8" />
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
|
||||||
|
|
||||||
<title>Statistics — FitTrackee 0.5.0
|
<title>Statistics — FitTrackee 0.5.1
|
||||||
documentation</title>
|
documentation</title>
|
||||||
<link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
|
<link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
|
||||||
<link rel="stylesheet" type="text/css" href="../_static/bootstrap-sphinx.css" />
|
<link rel="stylesheet" type="text/css" href="../_static/bootstrap-sphinx.css" />
|
||||||
@ -40,7 +40,7 @@
|
|||||||
</button>
|
</button>
|
||||||
<a class="navbar-brand" href="../index.html">
|
<a class="navbar-brand" href="../index.html">
|
||||||
FitTrackee</a>
|
FitTrackee</a>
|
||||||
<span class="navbar-text navbar-version pull-left"><b>0.5.0
|
<span class="navbar-text navbar-version pull-left"><b>0.5.1
|
||||||
</b></span>
|
</b></span>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@ -59,8 +59,8 @@
|
|||||||
<ul class="dropdown-menu globaltoc"
|
<ul class="dropdown-menu globaltoc"
|
||||||
role="menu"
|
role="menu"
|
||||||
aria-labelledby="dLabelGlobalToc"><ul class="current">
|
aria-labelledby="dLabelGlobalToc"><ul class="current">
|
||||||
<li class="toctree-l1"><a class="reference internal" href="../installation.html">Installation</a></li>
|
|
||||||
<li class="toctree-l1"><a class="reference internal" href="../features.html">Features</a></li>
|
<li class="toctree-l1"><a class="reference internal" href="../features.html">Features</a></li>
|
||||||
|
<li class="toctree-l1"><a class="reference internal" href="../installation.html">Installation</a></li>
|
||||||
<li class="toctree-l1 current"><a class="reference internal" href="index.html">API documentation</a></li>
|
<li class="toctree-l1 current"><a class="reference internal" href="index.html">API documentation</a></li>
|
||||||
<li class="toctree-l1"><a class="reference internal" href="../troubleshooting/index.html">Troubleshooting</a></li>
|
<li class="toctree-l1"><a class="reference internal" href="../troubleshooting/index.html">Troubleshooting</a></li>
|
||||||
<li class="toctree-l1"><a class="reference internal" href="../changelog.html">Change log</a></li>
|
<li class="toctree-l1"><a class="reference internal" href="../changelog.html">Change log</a></li>
|
||||||
@ -157,6 +157,7 @@
|
|||||||
<span class="nt">"statistics"</span><span class="p">:</span> <span class="p">{</span>
|
<span class="nt">"statistics"</span><span class="p">:</span> <span class="p">{</span>
|
||||||
<span class="nt">"2017"</span><span class="p">:</span> <span class="p">{</span>
|
<span class="nt">"2017"</span><span class="p">:</span> <span class="p">{</span>
|
||||||
<span class="nt">"3"</span><span class="p">:</span> <span class="p">{</span>
|
<span class="nt">"3"</span><span class="p">:</span> <span class="p">{</span>
|
||||||
|
<span class="nt">"average_speed"</span><span class="p">:</span> <span class="mf">4.48</span><span class="p">,</span>
|
||||||
<span class="nt">"nb_workouts"</span><span class="p">:</span> <span class="mi">2</span><span class="p">,</span>
|
<span class="nt">"nb_workouts"</span><span class="p">:</span> <span class="mi">2</span><span class="p">,</span>
|
||||||
<span class="nt">"total_ascent"</span><span class="p">:</span> <span class="mf">203.0</span><span class="p">,</span>
|
<span class="nt">"total_ascent"</span><span class="p">:</span> <span class="mf">203.0</span><span class="p">,</span>
|
||||||
<span class="nt">"total_ascent"</span><span class="p">:</span> <span class="mf">156.0</span><span class="p">,</span>
|
<span class="nt">"total_ascent"</span><span class="p">:</span> <span class="mf">156.0</span><span class="p">,</span>
|
||||||
@ -166,6 +167,7 @@
|
|||||||
<span class="p">},</span>
|
<span class="p">},</span>
|
||||||
<span class="nt">"2019"</span><span class="p">:</span> <span class="p">{</span>
|
<span class="nt">"2019"</span><span class="p">:</span> <span class="p">{</span>
|
||||||
<span class="nt">"1"</span><span class="p">:</span> <span class="p">{</span>
|
<span class="nt">"1"</span><span class="p">:</span> <span class="p">{</span>
|
||||||
|
<span class="nt">"average_speed"</span><span class="p">:</span> <span class="mf">16.99</span><span class="p">,</span>
|
||||||
<span class="nt">"nb_workouts"</span><span class="p">:</span> <span class="mi">3</span><span class="p">,</span>
|
<span class="nt">"nb_workouts"</span><span class="p">:</span> <span class="mi">3</span><span class="p">,</span>
|
||||||
<span class="nt">"total_ascent"</span><span class="p">:</span> <span class="mf">150.0</span><span class="p">,</span>
|
<span class="nt">"total_ascent"</span><span class="p">:</span> <span class="mf">150.0</span><span class="p">,</span>
|
||||||
<span class="nt">"total_ascent"</span><span class="p">:</span> <span class="mf">178.0</span><span class="p">,</span>
|
<span class="nt">"total_ascent"</span><span class="p">:</span> <span class="mf">178.0</span><span class="p">,</span>
|
||||||
@ -173,6 +175,7 @@
|
|||||||
<span class="nt">"total_duration"</span><span class="p">:</span> <span class="mi">9960</span>
|
<span class="nt">"total_duration"</span><span class="p">:</span> <span class="mi">9960</span>
|
||||||
<span class="p">},</span>
|
<span class="p">},</span>
|
||||||
<span class="nt">"2"</span><span class="p">:</span> <span class="p">{</span>
|
<span class="nt">"2"</span><span class="p">:</span> <span class="p">{</span>
|
||||||
|
<span class="nt">"average_speed"</span><span class="p">:</span> <span class="mf">15.95</span><span class="p">,</span>
|
||||||
<span class="nt">"nb_workouts"</span><span class="p">:</span> <span class="mi">1</span><span class="p">,</span>
|
<span class="nt">"nb_workouts"</span><span class="p">:</span> <span class="mi">1</span><span class="p">,</span>
|
||||||
<span class="nt">"total_ascent"</span><span class="p">:</span> <span class="mf">46.0</span><span class="p">,</span>
|
<span class="nt">"total_ascent"</span><span class="p">:</span> <span class="mf">46.0</span><span class="p">,</span>
|
||||||
<span class="nt">"total_ascent"</span><span class="p">:</span> <span class="mf">78.0</span><span class="p">,</span>
|
<span class="nt">"total_ascent"</span><span class="p">:</span> <span class="mf">78.0</span><span class="p">,</span>
|
||||||
@ -272,6 +275,7 @@
|
|||||||
<span class="nt">"data"</span><span class="p">:</span> <span class="p">{</span>
|
<span class="nt">"data"</span><span class="p">:</span> <span class="p">{</span>
|
||||||
<span class="nt">"statistics"</span><span class="p">:</span> <span class="p">{</span>
|
<span class="nt">"statistics"</span><span class="p">:</span> <span class="p">{</span>
|
||||||
<span class="nt">"1"</span><span class="p">:</span> <span class="p">{</span>
|
<span class="nt">"1"</span><span class="p">:</span> <span class="p">{</span>
|
||||||
|
<span class="nt">"average_speed"</span><span class="p">:</span> <span class="mf">16.99</span><span class="p">,</span>
|
||||||
<span class="nt">"nb_workouts"</span><span class="p">:</span> <span class="mi">3</span><span class="p">,</span>
|
<span class="nt">"nb_workouts"</span><span class="p">:</span> <span class="mi">3</span><span class="p">,</span>
|
||||||
<span class="nt">"total_ascent"</span><span class="p">:</span> <span class="mf">150.0</span><span class="p">,</span>
|
<span class="nt">"total_ascent"</span><span class="p">:</span> <span class="mf">150.0</span><span class="p">,</span>
|
||||||
<span class="nt">"total_ascent"</span><span class="p">:</span> <span class="mf">178.0</span><span class="p">,</span>
|
<span class="nt">"total_ascent"</span><span class="p">:</span> <span class="mf">178.0</span><span class="p">,</span>
|
||||||
@ -279,6 +283,7 @@
|
|||||||
<span class="nt">"total_duration"</span><span class="p">:</span> <span class="mi">9960</span>
|
<span class="nt">"total_duration"</span><span class="p">:</span> <span class="mi">9960</span>
|
||||||
<span class="p">},</span>
|
<span class="p">},</span>
|
||||||
<span class="nt">"2"</span><span class="p">:</span> <span class="p">{</span>
|
<span class="nt">"2"</span><span class="p">:</span> <span class="p">{</span>
|
||||||
|
<span class="nt">"average_speed"</span><span class="p">:</span> <span class="mf">15.95</span><span class="p">,</span>
|
||||||
<span class="nt">"nb_workouts"</span><span class="p">:</span> <span class="mi">1</span><span class="p">,</span>
|
<span class="nt">"nb_workouts"</span><span class="p">:</span> <span class="mi">1</span><span class="p">,</span>
|
||||||
<span class="nt">"total_ascent"</span><span class="p">:</span> <span class="mf">46.0</span><span class="p">,</span>
|
<span class="nt">"total_ascent"</span><span class="p">:</span> <span class="mf">46.0</span><span class="p">,</span>
|
||||||
<span class="nt">"total_ascent"</span><span class="p">:</span> <span class="mf">78.0</span><span class="p">,</span>
|
<span class="nt">"total_ascent"</span><span class="p">:</span> <span class="mf">78.0</span><span class="p">,</span>
|
||||||
@ -286,6 +291,7 @@
|
|||||||
<span class="nt">"total_duration"</span><span class="p">:</span> <span class="mi">1267</span>
|
<span class="nt">"total_duration"</span><span class="p">:</span> <span class="mi">1267</span>
|
||||||
<span class="p">},</span>
|
<span class="p">},</span>
|
||||||
<span class="nt">"3"</span><span class="p">:</span> <span class="p">{</span>
|
<span class="nt">"3"</span><span class="p">:</span> <span class="p">{</span>
|
||||||
|
<span class="nt">"average_speed"</span><span class="p">:</span> <span class="mf">4.46</span><span class="p">,</span>
|
||||||
<span class="nt">"nb_workouts"</span><span class="p">:</span> <span class="mi">2</span><span class="p">,</span>
|
<span class="nt">"nb_workouts"</span><span class="p">:</span> <span class="mi">2</span><span class="p">,</span>
|
||||||
<span class="nt">"total_ascent"</span><span class="p">:</span> <span class="mf">203.0</span><span class="p">,</span>
|
<span class="nt">"total_ascent"</span><span class="p">:</span> <span class="mf">203.0</span><span class="p">,</span>
|
||||||
<span class="nt">"total_ascent"</span><span class="p">:</span> <span class="mf">156.0</span><span class="p">,</span>
|
<span class="nt">"total_ascent"</span><span class="p">:</span> <span class="mf">156.0</span><span class="p">,</span>
|
||||||
@ -412,7 +418,7 @@
|
|||||||
</p>
|
</p>
|
||||||
<p>
|
<p>
|
||||||
© Copyright 2018 - 2021, SamR1.<br/>
|
© Copyright 2018 - 2021, SamR1.<br/>
|
||||||
Created using <a href="http://sphinx-doc.org/">Sphinx</a> 4.3.0.<br/>
|
Created using <a href="http://sphinx-doc.org/">Sphinx</a> 4.3.1.<br/>
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
</footer>
|
</footer>
|
||||||
|
@ -5,7 +5,7 @@
|
|||||||
<meta charset="utf-8" />
|
<meta charset="utf-8" />
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
|
||||||
|
|
||||||
<title>Users — FitTrackee 0.5.0
|
<title>Users — FitTrackee 0.5.1
|
||||||
documentation</title>
|
documentation</title>
|
||||||
<link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
|
<link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
|
||||||
<link rel="stylesheet" type="text/css" href="../_static/bootstrap-sphinx.css" />
|
<link rel="stylesheet" type="text/css" href="../_static/bootstrap-sphinx.css" />
|
||||||
@ -40,7 +40,7 @@
|
|||||||
</button>
|
</button>
|
||||||
<a class="navbar-brand" href="../index.html">
|
<a class="navbar-brand" href="../index.html">
|
||||||
FitTrackee</a>
|
FitTrackee</a>
|
||||||
<span class="navbar-text navbar-version pull-left"><b>0.5.0
|
<span class="navbar-text navbar-version pull-left"><b>0.5.1
|
||||||
</b></span>
|
</b></span>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@ -59,8 +59,8 @@
|
|||||||
<ul class="dropdown-menu globaltoc"
|
<ul class="dropdown-menu globaltoc"
|
||||||
role="menu"
|
role="menu"
|
||||||
aria-labelledby="dLabelGlobalToc"><ul class="current">
|
aria-labelledby="dLabelGlobalToc"><ul class="current">
|
||||||
<li class="toctree-l1"><a class="reference internal" href="../installation.html">Installation</a></li>
|
|
||||||
<li class="toctree-l1"><a class="reference internal" href="../features.html">Features</a></li>
|
<li class="toctree-l1"><a class="reference internal" href="../features.html">Features</a></li>
|
||||||
|
<li class="toctree-l1"><a class="reference internal" href="../installation.html">Installation</a></li>
|
||||||
<li class="toctree-l1 current"><a class="reference internal" href="index.html">API documentation</a></li>
|
<li class="toctree-l1 current"><a class="reference internal" href="index.html">API documentation</a></li>
|
||||||
<li class="toctree-l1"><a class="reference internal" href="../troubleshooting/index.html">Troubleshooting</a></li>
|
<li class="toctree-l1"><a class="reference internal" href="../troubleshooting/index.html">Troubleshooting</a></li>
|
||||||
<li class="toctree-l1"><a class="reference internal" href="../changelog.html">Change log</a></li>
|
<li class="toctree-l1"><a class="reference internal" href="../changelog.html">Change log</a></li>
|
||||||
@ -609,7 +609,7 @@ one admin</p>
|
|||||||
</p>
|
</p>
|
||||||
<p>
|
<p>
|
||||||
© Copyright 2018 - 2021, SamR1.<br/>
|
© Copyright 2018 - 2021, SamR1.<br/>
|
||||||
Created using <a href="http://sphinx-doc.org/">Sphinx</a> 4.3.0.<br/>
|
Created using <a href="http://sphinx-doc.org/">Sphinx</a> 4.3.1.<br/>
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
</footer>
|
</footer>
|
||||||
|
@ -5,7 +5,7 @@
|
|||||||
<meta charset="utf-8" />
|
<meta charset="utf-8" />
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
|
||||||
|
|
||||||
<title>Workouts — FitTrackee 0.5.0
|
<title>Workouts — FitTrackee 0.5.1
|
||||||
documentation</title>
|
documentation</title>
|
||||||
<link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
|
<link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
|
||||||
<link rel="stylesheet" type="text/css" href="../_static/bootstrap-sphinx.css" />
|
<link rel="stylesheet" type="text/css" href="../_static/bootstrap-sphinx.css" />
|
||||||
@ -40,7 +40,7 @@
|
|||||||
</button>
|
</button>
|
||||||
<a class="navbar-brand" href="../index.html">
|
<a class="navbar-brand" href="../index.html">
|
||||||
FitTrackee</a>
|
FitTrackee</a>
|
||||||
<span class="navbar-text navbar-version pull-left"><b>0.5.0
|
<span class="navbar-text navbar-version pull-left"><b>0.5.1
|
||||||
</b></span>
|
</b></span>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@ -59,8 +59,8 @@
|
|||||||
<ul class="dropdown-menu globaltoc"
|
<ul class="dropdown-menu globaltoc"
|
||||||
role="menu"
|
role="menu"
|
||||||
aria-labelledby="dLabelGlobalToc"><ul class="current">
|
aria-labelledby="dLabelGlobalToc"><ul class="current">
|
||||||
<li class="toctree-l1"><a class="reference internal" href="../installation.html">Installation</a></li>
|
|
||||||
<li class="toctree-l1"><a class="reference internal" href="../features.html">Features</a></li>
|
<li class="toctree-l1"><a class="reference internal" href="../features.html">Features</a></li>
|
||||||
|
<li class="toctree-l1"><a class="reference internal" href="../installation.html">Installation</a></li>
|
||||||
<li class="toctree-l1 current"><a class="reference internal" href="index.html">API documentation</a></li>
|
<li class="toctree-l1 current"><a class="reference internal" href="index.html">API documentation</a></li>
|
||||||
<li class="toctree-l1"><a class="reference internal" href="../troubleshooting/index.html">Troubleshooting</a></li>
|
<li class="toctree-l1"><a class="reference internal" href="../troubleshooting/index.html">Troubleshooting</a></li>
|
||||||
<li class="toctree-l1"><a class="reference internal" href="../changelog.html">Change log</a></li>
|
<li class="toctree-l1"><a class="reference internal" href="../changelog.html">Change log</a></li>
|
||||||
@ -692,6 +692,45 @@
|
|||||||
<p>Status codes are status codes returned by tile server</p>
|
<p>Status codes are status codes returned by tile server</p>
|
||||||
</dd></dl>
|
</dd></dl>
|
||||||
|
|
||||||
|
<dl class="http get">
|
||||||
|
<dt class="sig sig-object http" id="get--api-workouts-(string-workout_short_id)-gpx-download">
|
||||||
|
<span class="sig-name descname"><span class="pre">GET</span> </span><span class="sig-name descname"><span class="pre">/api/workouts/</span></span><span class="sig-paren">(</span><em class="property"><span class="pre">string:</span> </em><em class="sig-param"><span class="pre">workout_short_id</span></em><span class="sig-paren">)</span><span class="sig-name descname"><span class="pre">/gpx/download</span></span><a class="headerlink" href="#get--api-workouts-(string-workout_short_id)-gpx-download" title="Permalink to this definition">¶</a></dt>
|
||||||
|
<dd><p>Download gpx file</p>
|
||||||
|
<p><strong>Example request</strong>:</p>
|
||||||
|
<div class="highlight-http notranslate"><div class="highlight"><pre><span></span><span class="nf">GET</span> <span class="nn">/api/workouts/kjxavSTUrJvoAh2wvCeGEF/gpx/download</span> <span class="kr">HTTP</span><span class="o">/</span><span class="m">1.1</span>
|
||||||
|
</pre></div>
|
||||||
|
</div>
|
||||||
|
<p><strong>Example response</strong>:</p>
|
||||||
|
<div class="highlight-http notranslate"><div class="highlight"><pre><span></span><span class="kr">HTTP</span><span class="o">/</span><span class="m">1.1</span> <span class="m">200</span> <span class="ne">OK</span>
|
||||||
|
<span class="na">Content-Type</span><span class="o">:</span> <span class="l">application/gpx+xml</span>
|
||||||
|
</pre></div>
|
||||||
|
</div>
|
||||||
|
<dl class="field-list simple">
|
||||||
|
<dt class="field-odd">Parameters</dt>
|
||||||
|
<dd class="field-odd"><ul class="simple">
|
||||||
|
<li><p><strong>auth_user_id</strong> (<em>integer</em>) – authenticate user id (from JSON Web Token)</p></li>
|
||||||
|
<li><p><strong>workout_short_id</strong> (<em>string</em>) – workout short id</p></li>
|
||||||
|
</ul>
|
||||||
|
</dd>
|
||||||
|
<dt class="field-even">Status Codes</dt>
|
||||||
|
<dd class="field-even"><ul class="simple">
|
||||||
|
<li><p><span><a class="reference external" href="https://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.2.1">200 OK</a></span> – success</p></li>
|
||||||
|
<li><p><span><a class="reference external" href="https://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.4.2">401 Unauthorized</a></span> – <ul>
|
||||||
|
<li><p>provide a valid auth token</p></li>
|
||||||
|
<li><p>signature expired, please log in again</p></li>
|
||||||
|
<li><p>invalid token, please log in again</p></li>
|
||||||
|
</ul>
|
||||||
|
</p></li>
|
||||||
|
<li><p><span><a class="reference external" href="https://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.4.5">404 Not Found</a></span> – <ul>
|
||||||
|
<li><p>workout not found</p></li>
|
||||||
|
<li><p>no gpx file for workout</p></li>
|
||||||
|
</ul>
|
||||||
|
</p></li>
|
||||||
|
</ul>
|
||||||
|
</dd>
|
||||||
|
</dl>
|
||||||
|
</dd></dl>
|
||||||
|
|
||||||
<dl class="http post">
|
<dl class="http post">
|
||||||
<dt class="sig sig-object http" id="post--api-workouts">
|
<dt class="sig sig-object http" id="post--api-workouts">
|
||||||
<span class="sig-name descname"><span class="pre">POST</span> </span><span class="sig-name descname"><span class="pre">/api/workouts</span></span><a class="headerlink" href="#post--api-workouts" title="Permalink to this definition">¶</a></dt>
|
<span class="sig-name descname"><span class="pre">POST</span> </span><span class="sig-name descname"><span class="pre">/api/workouts</span></span><a class="headerlink" href="#post--api-workouts" title="Permalink to this definition">¶</a></dt>
|
||||||
@ -1132,7 +1171,7 @@
|
|||||||
</p>
|
</p>
|
||||||
<p>
|
<p>
|
||||||
© Copyright 2018 - 2021, SamR1.<br/>
|
© Copyright 2018 - 2021, SamR1.<br/>
|
||||||
Created using <a href="http://sphinx-doc.org/">Sphinx</a> 4.3.0.<br/>
|
Created using <a href="http://sphinx-doc.org/">Sphinx</a> 4.3.1.<br/>
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
</footer>
|
</footer>
|
||||||
|
@ -5,7 +5,7 @@
|
|||||||
<meta charset="utf-8" />
|
<meta charset="utf-8" />
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
|
||||||
|
|
||||||
<title>Change log — FitTrackee 0.5.0
|
<title>Change log — FitTrackee 0.5.1
|
||||||
documentation</title>
|
documentation</title>
|
||||||
<link rel="stylesheet" type="text/css" href="_static/pygments.css" />
|
<link rel="stylesheet" type="text/css" href="_static/pygments.css" />
|
||||||
<link rel="stylesheet" type="text/css" href="_static/bootstrap-sphinx.css" />
|
<link rel="stylesheet" type="text/css" href="_static/bootstrap-sphinx.css" />
|
||||||
@ -39,7 +39,7 @@
|
|||||||
</button>
|
</button>
|
||||||
<a class="navbar-brand" href="index.html">
|
<a class="navbar-brand" href="index.html">
|
||||||
FitTrackee</a>
|
FitTrackee</a>
|
||||||
<span class="navbar-text navbar-version pull-left"><b>0.5.0
|
<span class="navbar-text navbar-version pull-left"><b>0.5.1
|
||||||
</b></span>
|
</b></span>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@ -58,8 +58,8 @@
|
|||||||
<ul class="dropdown-menu globaltoc"
|
<ul class="dropdown-menu globaltoc"
|
||||||
role="menu"
|
role="menu"
|
||||||
aria-labelledby="dLabelGlobalToc"><ul class="current">
|
aria-labelledby="dLabelGlobalToc"><ul class="current">
|
||||||
<li class="toctree-l1"><a class="reference internal" href="installation.html">Installation</a></li>
|
|
||||||
<li class="toctree-l1"><a class="reference internal" href="features.html">Features</a></li>
|
<li class="toctree-l1"><a class="reference internal" href="features.html">Features</a></li>
|
||||||
|
<li class="toctree-l1"><a class="reference internal" href="installation.html">Installation</a></li>
|
||||||
<li class="toctree-l1"><a class="reference internal" href="api/index.html">API documentation</a></li>
|
<li class="toctree-l1"><a class="reference internal" href="api/index.html">API documentation</a></li>
|
||||||
<li class="toctree-l1"><a class="reference internal" href="troubleshooting/index.html">Troubleshooting</a></li>
|
<li class="toctree-l1"><a class="reference internal" href="troubleshooting/index.html">Troubleshooting</a></li>
|
||||||
<li class="toctree-l1 current"><a class="current reference internal" href="#">Change log</a></li>
|
<li class="toctree-l1 current"><a class="current reference internal" href="#">Change log</a></li>
|
||||||
@ -77,9 +77,16 @@
|
|||||||
role="menu"
|
role="menu"
|
||||||
aria-labelledby="dLabelLocalToc"><ul>
|
aria-labelledby="dLabelLocalToc"><ul>
|
||||||
<li><a class="reference internal" href="#">Change log</a><ul>
|
<li><a class="reference internal" href="#">Change log</a><ul>
|
||||||
<li><a class="reference internal" href="#version-0-5-0-2021-11-14">Version 0.5.0 (2021/11/14)</a><ul>
|
<li><a class="reference internal" href="#version-0-5-1-2021-11-30">Version 0.5.1 (2021/11/30)</a><ul>
|
||||||
<li><a class="reference internal" href="#issues-closed">Issues Closed</a><ul>
|
<li><a class="reference internal" href="#issues-closed">Issues Closed</a><ul>
|
||||||
<li><a class="reference internal" href="#new-features">New Features</a></li>
|
<li><a class="reference internal" href="#new-features">New Features</a></li>
|
||||||
|
</ul>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</li>
|
||||||
|
<li><a class="reference internal" href="#version-0-5-0-2021-11-14">Version 0.5.0 (2021/11/14)</a><ul>
|
||||||
|
<li><a class="reference internal" href="#id1">Issues Closed</a><ul>
|
||||||
|
<li><a class="reference internal" href="#id2">New Features</a></li>
|
||||||
<li><a class="reference internal" href="#bugs-fixed">Bugs Fixed</a></li>
|
<li><a class="reference internal" href="#bugs-fixed">Bugs Fixed</a></li>
|
||||||
<li><a class="reference internal" href="#misc">Misc</a></li>
|
<li><a class="reference internal" href="#misc">Misc</a></li>
|
||||||
</ul>
|
</ul>
|
||||||
@ -88,137 +95,137 @@
|
|||||||
</ul>
|
</ul>
|
||||||
</li>
|
</li>
|
||||||
<li><a class="reference internal" href="#version-0-4-9-2021-07-16">Version 0.4.9 (2021/07/16)</a><ul>
|
<li><a class="reference internal" href="#version-0-4-9-2021-07-16">Version 0.4.9 (2021/07/16)</a><ul>
|
||||||
<li><a class="reference internal" href="#id1">Issues Closed</a><ul>
|
<li><a class="reference internal" href="#id3">Issues Closed</a><ul>
|
||||||
<li><a class="reference internal" href="#id2">New Features</a></li>
|
<li><a class="reference internal" href="#id4">New Features</a></li>
|
||||||
<li><a class="reference internal" href="#id3">Bugs Fixed</a></li>
|
|
||||||
</ul>
|
|
||||||
</li>
|
|
||||||
</ul>
|
|
||||||
</li>
|
|
||||||
<li><a class="reference internal" href="#version-0-4-8-2021-07-03">Version 0.4.8 (2021/07/03)</a><ul>
|
|
||||||
<li><a class="reference internal" href="#id4">Issues Closed</a><ul>
|
|
||||||
<li><a class="reference internal" href="#id5">Bugs Fixed</a></li>
|
<li><a class="reference internal" href="#id5">Bugs Fixed</a></li>
|
||||||
</ul>
|
</ul>
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
</li>
|
</li>
|
||||||
<li><a class="reference internal" href="#version-0-4-7-2021-04-07">Version 0.4.7 (2021/04/07)</a><ul>
|
<li><a class="reference internal" href="#version-0-4-8-2021-07-03">Version 0.4.8 (2021/07/03)</a><ul>
|
||||||
<li><a class="reference internal" href="#id6">Issues Closed</a><ul>
|
<li><a class="reference internal" href="#id6">Issues Closed</a><ul>
|
||||||
<li><a class="reference internal" href="#id7">Bugs Fixed</a></li>
|
<li><a class="reference internal" href="#id7">Bugs Fixed</a></li>
|
||||||
</ul>
|
</ul>
|
||||||
</li>
|
</li>
|
||||||
<li><a class="reference internal" href="#id8">Misc</a></li>
|
</ul>
|
||||||
|
</li>
|
||||||
|
<li><a class="reference internal" href="#version-0-4-7-2021-04-07">Version 0.4.7 (2021/04/07)</a><ul>
|
||||||
|
<li><a class="reference internal" href="#id8">Issues Closed</a><ul>
|
||||||
|
<li><a class="reference internal" href="#id9">Bugs Fixed</a></li>
|
||||||
|
</ul>
|
||||||
|
</li>
|
||||||
|
<li><a class="reference internal" href="#id10">Misc</a></li>
|
||||||
</ul>
|
</ul>
|
||||||
</li>
|
</li>
|
||||||
<li><a class="reference internal" href="#version-0-4-6-2021-02-21">Version 0.4.6 (2021/02/21)</a><ul>
|
<li><a class="reference internal" href="#version-0-4-6-2021-02-21">Version 0.4.6 (2021/02/21)</a><ul>
|
||||||
<li><a class="reference internal" href="#id9">Issues Closed</a><ul>
|
|
||||||
<li><a class="reference internal" href="#id10">Bugs Fixed</a></li>
|
|
||||||
</ul>
|
|
||||||
</li>
|
|
||||||
</ul>
|
|
||||||
</li>
|
|
||||||
<li><a class="reference internal" href="#version-0-4-5-2021-02-17">Version 0.4.5 (2021/02/17)</a><ul>
|
|
||||||
<li><a class="reference internal" href="#id11">Issues Closed</a><ul>
|
<li><a class="reference internal" href="#id11">Issues Closed</a><ul>
|
||||||
<li><a class="reference internal" href="#id12">Bugs Fixed</a></li>
|
<li><a class="reference internal" href="#id12">Bugs Fixed</a></li>
|
||||||
</ul>
|
</ul>
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
</li>
|
</li>
|
||||||
<li><a class="reference internal" href="#version-0-4-4-2021-01-31">Version 0.4.4 (2021/01/31)</a><ul>
|
<li><a class="reference internal" href="#version-0-4-5-2021-02-17">Version 0.4.5 (2021/02/17)</a><ul>
|
||||||
<li><a class="reference internal" href="#id13">Issues Closed</a><ul>
|
<li><a class="reference internal" href="#id13">Issues Closed</a><ul>
|
||||||
<li><a class="reference internal" href="#id14">Bugs Fixed</a></li>
|
<li><a class="reference internal" href="#id14">Bugs Fixed</a></li>
|
||||||
</ul>
|
</ul>
|
||||||
</li>
|
</li>
|
||||||
<li><a class="reference internal" href="#id15">Misc</a></li>
|
</ul>
|
||||||
|
</li>
|
||||||
|
<li><a class="reference internal" href="#version-0-4-4-2021-01-31">Version 0.4.4 (2021/01/31)</a><ul>
|
||||||
|
<li><a class="reference internal" href="#id15">Issues Closed</a><ul>
|
||||||
|
<li><a class="reference internal" href="#id16">Bugs Fixed</a></li>
|
||||||
|
</ul>
|
||||||
|
</li>
|
||||||
|
<li><a class="reference internal" href="#id17">Misc</a></li>
|
||||||
</ul>
|
</ul>
|
||||||
</li>
|
</li>
|
||||||
<li><a class="reference internal" href="#version-0-4-3-2021-01-10">Version 0.4.3 (2021/01/10)</a><ul>
|
<li><a class="reference internal" href="#version-0-4-3-2021-01-10">Version 0.4.3 (2021/01/10)</a><ul>
|
||||||
<li><a class="reference internal" href="#id16">Issues Closed</a><ul>
|
<li><a class="reference internal" href="#id18">Issues Closed</a><ul>
|
||||||
<li><a class="reference internal" href="#id17">New Features</a></li>
|
<li><a class="reference internal" href="#id19">New Features</a></li>
|
||||||
<li><a class="reference internal" href="#id18">Bugs Fixed</a></li>
|
<li><a class="reference internal" href="#id20">Bugs Fixed</a></li>
|
||||||
</ul>
|
</ul>
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
</li>
|
</li>
|
||||||
<li><a class="reference internal" href="#version-0-4-2-2021-01-03">Version 0.4.2 (2021/01/03)</a><ul>
|
<li><a class="reference internal" href="#version-0-4-2-2021-01-03">Version 0.4.2 (2021/01/03)</a><ul>
|
||||||
<li><a class="reference internal" href="#id19">Misc</a></li>
|
<li><a class="reference internal" href="#id21">Misc</a></li>
|
||||||
</ul>
|
</ul>
|
||||||
</li>
|
</li>
|
||||||
<li><a class="reference internal" href="#version-0-4-1-2020-12-31">Version 0.4.1 (2020/12/31)</a><ul>
|
<li><a class="reference internal" href="#version-0-4-1-2020-12-31">Version 0.4.1 (2020/12/31)</a><ul>
|
||||||
<li><a class="reference internal" href="#id20">Issues Closed</a><ul>
|
|
||||||
<li><a class="reference internal" href="#id21">New Features</a></li>
|
|
||||||
</ul>
|
|
||||||
</li>
|
|
||||||
</ul>
|
|
||||||
</li>
|
|
||||||
<li><a class="reference internal" href="#version-0-4-0-fittrackee-on-pypi-2020-09-19">Version 0.4.0 - FitTrackee on PyPI (2020/09/19)</a><ul>
|
|
||||||
<li><a class="reference internal" href="#id22">Issues Closed</a><ul>
|
<li><a class="reference internal" href="#id22">Issues Closed</a><ul>
|
||||||
<li><a class="reference internal" href="#id23">New Features</a></li>
|
<li><a class="reference internal" href="#id23">New Features</a></li>
|
||||||
</ul>
|
</ul>
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
</li>
|
</li>
|
||||||
<li><a class="reference internal" href="#version-0-3-0-administration-2020-07-15">Version 0.3.0 - Administration (2020/07/15)</a><ul>
|
<li><a class="reference internal" href="#version-0-4-0-fittrackee-on-pypi-2020-09-19">Version 0.4.0 - FitTrackee on PyPI (2020/09/19)</a><ul>
|
||||||
<li><a class="reference internal" href="#id24">Issues Closed</a><ul>
|
<li><a class="reference internal" href="#id24">Issues Closed</a><ul>
|
||||||
<li><a class="reference internal" href="#id25">New Features</a></li>
|
<li><a class="reference internal" href="#id25">New Features</a></li>
|
||||||
</ul>
|
</ul>
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
</li>
|
</li>
|
||||||
|
<li><a class="reference internal" href="#version-0-3-0-administration-2020-07-15">Version 0.3.0 - Administration (2020/07/15)</a><ul>
|
||||||
|
<li><a class="reference internal" href="#id26">Issues Closed</a><ul>
|
||||||
|
<li><a class="reference internal" href="#id27">New Features</a></li>
|
||||||
|
</ul>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</li>
|
||||||
<li><a class="reference internal" href="#version-0-2-5-fix-and-improvements-2020-01-31">Version 0.2.5 - Fix and improvements (2020/01/31)</a><ul>
|
<li><a class="reference internal" href="#version-0-2-5-fix-and-improvements-2020-01-31">Version 0.2.5 - Fix and improvements (2020/01/31)</a><ul>
|
||||||
<li><a class="reference internal" href="#id26">Misc</a></li>
|
<li><a class="reference internal" href="#id28">Misc</a></li>
|
||||||
</ul>
|
</ul>
|
||||||
</li>
|
</li>
|
||||||
<li><a class="reference internal" href="#version-0-2-4-minor-fix-2020-01-30">Version 0.2.4 - Minor fix (2020/01/30)</a><ul>
|
<li><a class="reference internal" href="#version-0-2-4-minor-fix-2020-01-30">Version 0.2.4 - Minor fix (2020/01/30)</a><ul>
|
||||||
<li><a class="reference internal" href="#id27">Issues Closed</a><ul>
|
<li><a class="reference internal" href="#id29">Issues Closed</a><ul>
|
||||||
<li><a class="reference internal" href="#id28">Bugs Fixed</a></li>
|
<li><a class="reference internal" href="#id30">Bugs Fixed</a></li>
|
||||||
</ul>
|
</ul>
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
</li>
|
</li>
|
||||||
<li><a class="reference internal" href="#version-0-2-3-fittrackee-available-in-french-2019-12-29">Version 0.2.3 - FitTrackee available in French (2019/12/29)</a><ul>
|
<li><a class="reference internal" href="#version-0-2-3-fittrackee-available-in-french-2019-12-29">Version 0.2.3 - FitTrackee available in French (2019/12/29)</a><ul>
|
||||||
<li><a class="reference internal" href="#id29">Issues Closed</a><ul>
|
<li><a class="reference internal" href="#id31">Issues Closed</a><ul>
|
||||||
<li><a class="reference internal" href="#id30">New Features</a></li>
|
<li><a class="reference internal" href="#id32">New Features</a></li>
|
||||||
<li><a class="reference internal" href="#id31">Bugs Fixed</a></li>
|
|
||||||
</ul>
|
|
||||||
</li>
|
|
||||||
</ul>
|
|
||||||
</li>
|
|
||||||
<li><a class="reference internal" href="#version-0-2-2-statistics-fix-2019-09-23">Version 0.2.2 - Statistics fix (2019/09/23)</a><ul>
|
|
||||||
<li><a class="reference internal" href="#id32">Issues Closed</a><ul>
|
|
||||||
<li><a class="reference internal" href="#id33">Bugs Fixed</a></li>
|
<li><a class="reference internal" href="#id33">Bugs Fixed</a></li>
|
||||||
</ul>
|
</ul>
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
</li>
|
</li>
|
||||||
<li><a class="reference internal" href="#version-0-2-1-fix-and-improvements-2019-09-01">Version 0.2.1 - Fix and improvements (2019/09/01)</a><ul>
|
<li><a class="reference internal" href="#version-0-2-2-statistics-fix-2019-09-23">Version 0.2.2 - Statistics fix (2019/09/23)</a><ul>
|
||||||
<li><a class="reference internal" href="#id34">Issues Closed</a><ul>
|
<li><a class="reference internal" href="#id34">Issues Closed</a><ul>
|
||||||
<li><a class="reference internal" href="#id35">New Features</a></li>
|
<li><a class="reference internal" href="#id35">Bugs Fixed</a></li>
|
||||||
<li><a class="reference internal" href="#id36">Bugs Fixed</a></li>
|
|
||||||
</ul>
|
</ul>
|
||||||
</li>
|
</li>
|
||||||
<li><a class="reference internal" href="#id37">Misc</a></li>
|
</ul>
|
||||||
|
</li>
|
||||||
|
<li><a class="reference internal" href="#version-0-2-1-fix-and-improvements-2019-09-01">Version 0.2.1 - Fix and improvements (2019/09/01)</a><ul>
|
||||||
|
<li><a class="reference internal" href="#id36">Issues Closed</a><ul>
|
||||||
|
<li><a class="reference internal" href="#id37">New Features</a></li>
|
||||||
|
<li><a class="reference internal" href="#id38">Bugs Fixed</a></li>
|
||||||
|
</ul>
|
||||||
|
</li>
|
||||||
|
<li><a class="reference internal" href="#id39">Misc</a></li>
|
||||||
</ul>
|
</ul>
|
||||||
</li>
|
</li>
|
||||||
<li><a class="reference internal" href="#version-0-2-0-statistics-2019-07-07">Version 0.2.0 - Statistics (2019/07/07)</a><ul>
|
<li><a class="reference internal" href="#version-0-2-0-statistics-2019-07-07">Version 0.2.0 - Statistics (2019/07/07)</a><ul>
|
||||||
<li><a class="reference internal" href="#id38">Issues Closed</a><ul>
|
<li><a class="reference internal" href="#id40">Issues Closed</a><ul>
|
||||||
<li><a class="reference internal" href="#id39">New Features</a></li>
|
<li><a class="reference internal" href="#id41">New Features</a></li>
|
||||||
</ul>
|
</ul>
|
||||||
</li>
|
</li>
|
||||||
<li><a class="reference internal" href="#id40">Misc</a></li>
|
<li><a class="reference internal" href="#id42">Misc</a></li>
|
||||||
</ul>
|
</ul>
|
||||||
</li>
|
</li>
|
||||||
<li><a class="reference internal" href="#version-0-1-1-fix-and-improvements-2019-02-07">Version 0.1.1 - Fix and improvements (2019/02/07)</a><ul>
|
<li><a class="reference internal" href="#version-0-1-1-fix-and-improvements-2019-02-07">Version 0.1.1 - Fix and improvements (2019/02/07)</a><ul>
|
||||||
<li><a class="reference internal" href="#id41">Issues Closed</a><ul>
|
<li><a class="reference internal" href="#id43">Issues Closed</a><ul>
|
||||||
<li><a class="reference internal" href="#id42">New Features</a></li>
|
<li><a class="reference internal" href="#id44">New Features</a></li>
|
||||||
<li><a class="reference internal" href="#id43">Bugs Fixed</a></li>
|
<li><a class="reference internal" href="#id45">Bugs Fixed</a></li>
|
||||||
</ul>
|
</ul>
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
</li>
|
</li>
|
||||||
<li><a class="reference internal" href="#version-0-1-0-first-release-2018-07-04">Version 0.1.0 - First release 🎉 (2018-07-04)</a><ul>
|
<li><a class="reference internal" href="#version-0-1-0-first-release-2018-07-04">Version 0.1.0 - First release 🎉 (2018-07-04)</a><ul>
|
||||||
<li><a class="reference internal" href="#id44">Issues Closed</a><ul>
|
<li><a class="reference internal" href="#id46">Issues Closed</a><ul>
|
||||||
<li><a class="reference internal" href="#id45">New Features</a></li>
|
<li><a class="reference internal" href="#id47">New Features</a></li>
|
||||||
</ul>
|
</ul>
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
@ -270,13 +277,28 @@
|
|||||||
|
|
||||||
<section id="change-log">
|
<section id="change-log">
|
||||||
<h1>Change log<a class="headerlink" href="#change-log" title="Permalink to this headline">¶</a></h1>
|
<h1>Change log<a class="headerlink" href="#change-log" title="Permalink to this headline">¶</a></h1>
|
||||||
<section id="version-0-5-0-2021-11-14">
|
<section id="version-0-5-1-2021-11-30">
|
||||||
<h2>Version 0.5.0 (2021/11/14)<a class="headerlink" href="#version-0-5-0-2021-11-14" title="Permalink to this headline">¶</a></h2>
|
<h2>Version 0.5.1 (2021/11/30)<a class="headerlink" href="#version-0-5-1-2021-11-30" title="Permalink to this headline">¶</a></h2>
|
||||||
<section id="issues-closed">
|
<section id="issues-closed">
|
||||||
<h3>Issues Closed<a class="headerlink" href="#issues-closed" title="Permalink to this headline">¶</a></h3>
|
<h3>Issues Closed<a class="headerlink" href="#issues-closed" title="Permalink to this headline">¶</a></h3>
|
||||||
<section id="new-features">
|
<section id="new-features">
|
||||||
<h4>New Features<a class="headerlink" href="#new-features" title="Permalink to this headline">¶</a></h4>
|
<h4>New Features<a class="headerlink" href="#new-features" title="Permalink to this headline">¶</a></h4>
|
||||||
<ul class="simple">
|
<ul class="simple">
|
||||||
|
<li><p><a class="reference external" href="https://github.com/SamR1/FitTrackee/issues/116">#116</a> - Better UI for Speed and Elevation buttons in the graph of the Workout screen</p></li>
|
||||||
|
<li><p><a class="reference external" href="https://github.com/SamR1/FitTrackee/issues/115">#115</a> - Add option to download the GPX file of a Workout</p></li>
|
||||||
|
<li><p><a class="reference external" href="https://github.com/SamR1/FitTrackee/issues/5">#5</a> - Display a chart with average speed</p></li>
|
||||||
|
</ul>
|
||||||
|
<p>In this release 3 issue were closed.</p>
|
||||||
|
</section>
|
||||||
|
</section>
|
||||||
|
</section>
|
||||||
|
<section id="version-0-5-0-2021-11-14">
|
||||||
|
<h2>Version 0.5.0 (2021/11/14)<a class="headerlink" href="#version-0-5-0-2021-11-14" title="Permalink to this headline">¶</a></h2>
|
||||||
|
<section id="id1">
|
||||||
|
<h3>Issues Closed<a class="headerlink" href="#id1" title="Permalink to this headline">¶</a></h3>
|
||||||
|
<section id="id2">
|
||||||
|
<h4>New Features<a class="headerlink" href="#id2" title="Permalink to this headline">¶</a></h4>
|
||||||
|
<ul class="simple">
|
||||||
<li><p><a class="reference external" href="https://github.com/SamR1/FitTrackee/issues/99">#99</a> - Display workout with imperial units</p></li>
|
<li><p><a class="reference external" href="https://github.com/SamR1/FitTrackee/issues/99">#99</a> - Display workout with imperial units</p></li>
|
||||||
<li><p><a class="reference external" href="https://github.com/SamR1/FitTrackee/issues/91">#91</a> - Display elevation chart with min and max altitude of workout</p></li>
|
<li><p><a class="reference external" href="https://github.com/SamR1/FitTrackee/issues/91">#91</a> - Display elevation chart with min and max altitude of workout</p></li>
|
||||||
<li><p><a class="reference external" href="https://github.com/SamR1/FitTrackee/issues/90">#90</a> - Add user sports preferences</p></li>
|
<li><p><a class="reference external" href="https://github.com/SamR1/FitTrackee/issues/90">#90</a> - Add user sports preferences</p></li>
|
||||||
@ -314,17 +336,17 @@
|
|||||||
</section>
|
</section>
|
||||||
<section id="version-0-4-9-2021-07-16">
|
<section id="version-0-4-9-2021-07-16">
|
||||||
<h2>Version 0.4.9 (2021/07/16)<a class="headerlink" href="#version-0-4-9-2021-07-16" title="Permalink to this headline">¶</a></h2>
|
<h2>Version 0.4.9 (2021/07/16)<a class="headerlink" href="#version-0-4-9-2021-07-16" title="Permalink to this headline">¶</a></h2>
|
||||||
<section id="id1">
|
<section id="id3">
|
||||||
<h3>Issues Closed<a class="headerlink" href="#id1" title="Permalink to this headline">¶</a></h3>
|
<h3>Issues Closed<a class="headerlink" href="#id3" title="Permalink to this headline">¶</a></h3>
|
||||||
<section id="id2">
|
<section id="id4">
|
||||||
<h4>New Features<a class="headerlink" href="#id2" title="Permalink to this headline">¶</a></h4>
|
<h4>New Features<a class="headerlink" href="#id4" title="Permalink to this headline">¶</a></h4>
|
||||||
<ul class="simple">
|
<ul class="simple">
|
||||||
<li><p><a class="reference external" href="https://github.com/SamR1/Fittrackee/issues/83">#83</a> - allow using configured tile server to generate static maps<br /><strong>Note</strong>: to keep using the default tile server, set environment variable <code class="docutils literal notranslate"><span class="pre">DEFAULT_STATICMAP</span></code> to <code class="docutils literal notranslate"><span class="pre">True</span></code></p></li>
|
<li><p><a class="reference external" href="https://github.com/SamR1/Fittrackee/issues/83">#83</a> - allow using configured tile server to generate static maps<br /><strong>Note</strong>: to keep using the default tile server, set environment variable <code class="docutils literal notranslate"><span class="pre">DEFAULT_STATICMAP</span></code> to <code class="docutils literal notranslate"><span class="pre">True</span></code></p></li>
|
||||||
<li><p><a class="reference external" href="https://github.com/SamR1/Fittrackee/issues/81">#81</a> - display remaining characters in textarea</p></li>
|
<li><p><a class="reference external" href="https://github.com/SamR1/Fittrackee/issues/81">#81</a> - display remaining characters in textarea</p></li>
|
||||||
</ul>
|
</ul>
|
||||||
</section>
|
</section>
|
||||||
<section id="id3">
|
<section id="id5">
|
||||||
<h4>Bugs Fixed<a class="headerlink" href="#id3" title="Permalink to this headline">¶</a></h4>
|
<h4>Bugs Fixed<a class="headerlink" href="#id5" title="Permalink to this headline">¶</a></h4>
|
||||||
<ul class="simple">
|
<ul class="simple">
|
||||||
<li><p><a class="reference external" href="https://github.com/SamR1/Fittrackee/issues/82">#82</a> - a user can not modify his birth day</p></li>
|
<li><p><a class="reference external" href="https://github.com/SamR1/Fittrackee/issues/82">#82</a> - a user can not modify his birth day</p></li>
|
||||||
<li><p><a class="reference external" href="https://github.com/SamR1/Fittrackee/issues/80">#80</a> - can not save notes with control characters</p></li>
|
<li><p><a class="reference external" href="https://github.com/SamR1/Fittrackee/issues/80">#80</a> - can not save notes with control characters</p></li>
|
||||||
@ -335,10 +357,10 @@
|
|||||||
</section>
|
</section>
|
||||||
<section id="version-0-4-8-2021-07-03">
|
<section id="version-0-4-8-2021-07-03">
|
||||||
<h2>Version 0.4.8 (2021/07/03)<a class="headerlink" href="#version-0-4-8-2021-07-03" title="Permalink to this headline">¶</a></h2>
|
<h2>Version 0.4.8 (2021/07/03)<a class="headerlink" href="#version-0-4-8-2021-07-03" title="Permalink to this headline">¶</a></h2>
|
||||||
<section id="id4">
|
<section id="id6">
|
||||||
<h3>Issues Closed<a class="headerlink" href="#id4" title="Permalink to this headline">¶</a></h3>
|
<h3>Issues Closed<a class="headerlink" href="#id6" title="Permalink to this headline">¶</a></h3>
|
||||||
<section id="id5">
|
<section id="id7">
|
||||||
<h4>Bugs Fixed<a class="headerlink" href="#id5" title="Permalink to this headline">¶</a></h4>
|
<h4>Bugs Fixed<a class="headerlink" href="#id7" title="Permalink to this headline">¶</a></h4>
|
||||||
<ul class="simple">
|
<ul class="simple">
|
||||||
<li><p><a class="reference external" href="https://github.com/SamR1/Fittrackee/issues/79">#79</a> - Fails to start after make rebuild</p></li>
|
<li><p><a class="reference external" href="https://github.com/SamR1/Fittrackee/issues/79">#79</a> - Fails to start after make rebuild</p></li>
|
||||||
</ul>
|
</ul>
|
||||||
@ -348,17 +370,17 @@
|
|||||||
</section>
|
</section>
|
||||||
<section id="version-0-4-7-2021-04-07">
|
<section id="version-0-4-7-2021-04-07">
|
||||||
<h2>Version 0.4.7 (2021/04/07)<a class="headerlink" href="#version-0-4-7-2021-04-07" title="Permalink to this headline">¶</a></h2>
|
<h2>Version 0.4.7 (2021/04/07)<a class="headerlink" href="#version-0-4-7-2021-04-07" title="Permalink to this headline">¶</a></h2>
|
||||||
<section id="id6">
|
<section id="id8">
|
||||||
<h3>Issues Closed<a class="headerlink" href="#id6" title="Permalink to this headline">¶</a></h3>
|
<h3>Issues Closed<a class="headerlink" href="#id8" title="Permalink to this headline">¶</a></h3>
|
||||||
<section id="id7">
|
<section id="id9">
|
||||||
<h4>Bugs Fixed<a class="headerlink" href="#id7" title="Permalink to this headline">¶</a></h4>
|
<h4>Bugs Fixed<a class="headerlink" href="#id9" title="Permalink to this headline">¶</a></h4>
|
||||||
<ul class="simple">
|
<ul class="simple">
|
||||||
<li><p><a class="reference external" href="https://github.com/SamR1/Fittrackee/issues/75">#75</a> - Workouts on the same day are not displayed in right order</p></li>
|
<li><p><a class="reference external" href="https://github.com/SamR1/Fittrackee/issues/75">#75</a> - Workouts on the same day are not displayed in right order</p></li>
|
||||||
</ul>
|
</ul>
|
||||||
</section>
|
</section>
|
||||||
</section>
|
</section>
|
||||||
<section id="id8">
|
<section id="id10">
|
||||||
<h3>Misc<a class="headerlink" href="#id8" title="Permalink to this headline">¶</a></h3>
|
<h3>Misc<a class="headerlink" href="#id10" title="Permalink to this headline">¶</a></h3>
|
||||||
<ul class="simple">
|
<ul class="simple">
|
||||||
<li><p>Update Python and Javascript dependencies<br /><strong>IMPORTANT</strong>: Due to <a class="reference external" href="https://docs.sqlalchemy.org/en/14/changelog/changelog_14.html#change-3687655465c25a39b968b4f5f6e9170b">SQLAlchemy update (1.4+)</a>, engine URLs starting with <code class="docutils literal notranslate"><span class="pre">postgres://</span></code> are no longer supported. Please update <code class="docutils literal notranslate"><span class="pre">DATABASE_URL</span></code> with <code class="docutils literal notranslate"><span class="pre">postgresql://</span></code>.</p></li>
|
<li><p>Update Python and Javascript dependencies<br /><strong>IMPORTANT</strong>: Due to <a class="reference external" href="https://docs.sqlalchemy.org/en/14/changelog/changelog_14.html#change-3687655465c25a39b968b4f5f6e9170b">SQLAlchemy update (1.4+)</a>, engine URLs starting with <code class="docutils literal notranslate"><span class="pre">postgres://</span></code> are no longer supported. Please update <code class="docutils literal notranslate"><span class="pre">DATABASE_URL</span></code> with <code class="docutils literal notranslate"><span class="pre">postgresql://</span></code>.</p></li>
|
||||||
</ul>
|
</ul>
|
||||||
@ -367,10 +389,10 @@
|
|||||||
</section>
|
</section>
|
||||||
<section id="version-0-4-6-2021-02-21">
|
<section id="version-0-4-6-2021-02-21">
|
||||||
<h2>Version 0.4.6 (2021/02/21)<a class="headerlink" href="#version-0-4-6-2021-02-21" title="Permalink to this headline">¶</a></h2>
|
<h2>Version 0.4.6 (2021/02/21)<a class="headerlink" href="#version-0-4-6-2021-02-21" title="Permalink to this headline">¶</a></h2>
|
||||||
<section id="id9">
|
<section id="id11">
|
||||||
<h3>Issues Closed<a class="headerlink" href="#id9" title="Permalink to this headline">¶</a></h3>
|
<h3>Issues Closed<a class="headerlink" href="#id11" title="Permalink to this headline">¶</a></h3>
|
||||||
<section id="id10">
|
<section id="id12">
|
||||||
<h4>Bugs Fixed<a class="headerlink" href="#id10" title="Permalink to this headline">¶</a></h4>
|
<h4>Bugs Fixed<a class="headerlink" href="#id12" title="Permalink to this headline">¶</a></h4>
|
||||||
<ul class="simple">
|
<ul class="simple">
|
||||||
<li><p><a class="reference external" href="https://github.com/SamR1/Fittrackee/issues/72">#72</a> - Error message when file exceeding size is incorrect</p></li>
|
<li><p><a class="reference external" href="https://github.com/SamR1/Fittrackee/issues/72">#72</a> - Error message when file exceeding size is incorrect</p></li>
|
||||||
<li><p><a class="reference external" href="https://github.com/SamR1/Fittrackee/issues/71">#71</a> - max size or max number of files must be greater than 0</p></li>
|
<li><p><a class="reference external" href="https://github.com/SamR1/Fittrackee/issues/71">#71</a> - max size or max number of files must be greater than 0</p></li>
|
||||||
@ -382,10 +404,10 @@
|
|||||||
</section>
|
</section>
|
||||||
<section id="version-0-4-5-2021-02-17">
|
<section id="version-0-4-5-2021-02-17">
|
||||||
<h2>Version 0.4.5 (2021/02/17)<a class="headerlink" href="#version-0-4-5-2021-02-17" title="Permalink to this headline">¶</a></h2>
|
<h2>Version 0.4.5 (2021/02/17)<a class="headerlink" href="#version-0-4-5-2021-02-17" title="Permalink to this headline">¶</a></h2>
|
||||||
<section id="id11">
|
<section id="id13">
|
||||||
<h3>Issues Closed<a class="headerlink" href="#id11" title="Permalink to this headline">¶</a></h3>
|
<h3>Issues Closed<a class="headerlink" href="#id13" title="Permalink to this headline">¶</a></h3>
|
||||||
<section id="id12">
|
<section id="id14">
|
||||||
<h4>Bugs Fixed<a class="headerlink" href="#id12" title="Permalink to this headline">¶</a></h4>
|
<h4>Bugs Fixed<a class="headerlink" href="#id14" title="Permalink to this headline">¶</a></h4>
|
||||||
<ul class="simple">
|
<ul class="simple">
|
||||||
<li><p><a class="reference external" href="https://github.com/SamR1/Fittrackee/issues/66">#66</a> - invalid gpx limit used when importing zip archive</p></li>
|
<li><p><a class="reference external" href="https://github.com/SamR1/Fittrackee/issues/66">#66</a> - invalid gpx limit used when importing zip archive</p></li>
|
||||||
<li><p><a class="reference external" href="https://github.com/SamR1/Fittrackee/issues/64">#64</a> - Only 50 workouts per month shown in calendar</p></li>
|
<li><p><a class="reference external" href="https://github.com/SamR1/Fittrackee/issues/64">#64</a> - Only 50 workouts per month shown in calendar</p></li>
|
||||||
@ -396,17 +418,17 @@
|
|||||||
</section>
|
</section>
|
||||||
<section id="version-0-4-4-2021-01-31">
|
<section id="version-0-4-4-2021-01-31">
|
||||||
<h2>Version 0.4.4 (2021/01/31)<a class="headerlink" href="#version-0-4-4-2021-01-31" title="Permalink to this headline">¶</a></h2>
|
<h2>Version 0.4.4 (2021/01/31)<a class="headerlink" href="#version-0-4-4-2021-01-31" title="Permalink to this headline">¶</a></h2>
|
||||||
<section id="id13">
|
<section id="id15">
|
||||||
<h3>Issues Closed<a class="headerlink" href="#id13" title="Permalink to this headline">¶</a></h3>
|
<h3>Issues Closed<a class="headerlink" href="#id15" title="Permalink to this headline">¶</a></h3>
|
||||||
<section id="id14">
|
<section id="id16">
|
||||||
<h4>Bugs Fixed<a class="headerlink" href="#id14" title="Permalink to this headline">¶</a></h4>
|
<h4>Bugs Fixed<a class="headerlink" href="#id16" title="Permalink to this headline">¶</a></h4>
|
||||||
<ul class="simple">
|
<ul class="simple">
|
||||||
<li><p><a class="reference external" href="https://github.com/SamR1/Fittrackee/issues/62">#62</a> - Error when sending reset password email</p></li>
|
<li><p><a class="reference external" href="https://github.com/SamR1/Fittrackee/issues/62">#62</a> - Error when sending reset password email</p></li>
|
||||||
</ul>
|
</ul>
|
||||||
</section>
|
</section>
|
||||||
</section>
|
</section>
|
||||||
<section id="id15">
|
<section id="id17">
|
||||||
<h3>Misc<a class="headerlink" href="#id15" title="Permalink to this headline">¶</a></h3>
|
<h3>Misc<a class="headerlink" href="#id17" title="Permalink to this headline">¶</a></h3>
|
||||||
<ul class="simple">
|
<ul class="simple">
|
||||||
<li><p>Refactoring before introducing new features.</p></li>
|
<li><p>Refactoring before introducing new features.</p></li>
|
||||||
<li><p>Add docker files for evaluation purposes.</p></li>
|
<li><p>Add docker files for evaluation purposes.</p></li>
|
||||||
@ -416,16 +438,16 @@
|
|||||||
</section>
|
</section>
|
||||||
<section id="version-0-4-3-2021-01-10">
|
<section id="version-0-4-3-2021-01-10">
|
||||||
<h2>Version 0.4.3 (2021/01/10)<a class="headerlink" href="#version-0-4-3-2021-01-10" title="Permalink to this headline">¶</a></h2>
|
<h2>Version 0.4.3 (2021/01/10)<a class="headerlink" href="#version-0-4-3-2021-01-10" title="Permalink to this headline">¶</a></h2>
|
||||||
<section id="id16">
|
<section id="id18">
|
||||||
<h3>Issues Closed<a class="headerlink" href="#id16" title="Permalink to this headline">¶</a></h3>
|
<h3>Issues Closed<a class="headerlink" href="#id18" title="Permalink to this headline">¶</a></h3>
|
||||||
<section id="id17">
|
<section id="id19">
|
||||||
<h4>New Features<a class="headerlink" href="#id17" title="Permalink to this headline">¶</a></h4>
|
<h4>New Features<a class="headerlink" href="#id19" title="Permalink to this headline">¶</a></h4>
|
||||||
<ul class="simple">
|
<ul class="simple">
|
||||||
<li><p><a class="reference external" href="https://github.com/SamR1/Fittrackee/issues/58">#58</a> - Standardize terms used for workouts<br /><strong>Note:</strong> Database model, upload directory for workouts and API endpoints are also updated.</p></li>
|
<li><p><a class="reference external" href="https://github.com/SamR1/Fittrackee/issues/58">#58</a> - Standardize terms used for workouts<br /><strong>Note:</strong> Database model, upload directory for workouts and API endpoints are also updated.</p></li>
|
||||||
</ul>
|
</ul>
|
||||||
</section>
|
</section>
|
||||||
<section id="id18">
|
<section id="id20">
|
||||||
<h4>Bugs Fixed<a class="headerlink" href="#id18" title="Permalink to this headline">¶</a></h4>
|
<h4>Bugs Fixed<a class="headerlink" href="#id20" title="Permalink to this headline">¶</a></h4>
|
||||||
<ul class="simple">
|
<ul class="simple">
|
||||||
<li><p><a class="reference external" href="https://github.com/SamR1/Fittrackee/issues/59">#59</a> - No message displayed on uploading image error</p></li>
|
<li><p><a class="reference external" href="https://github.com/SamR1/Fittrackee/issues/59">#59</a> - No message displayed on uploading image error</p></li>
|
||||||
</ul>
|
</ul>
|
||||||
@ -435,18 +457,18 @@
|
|||||||
</section>
|
</section>
|
||||||
<section id="version-0-4-2-2021-01-03">
|
<section id="version-0-4-2-2021-01-03">
|
||||||
<h2>Version 0.4.2 (2021/01/03)<a class="headerlink" href="#version-0-4-2-2021-01-03" title="Permalink to this headline">¶</a></h2>
|
<h2>Version 0.4.2 (2021/01/03)<a class="headerlink" href="#version-0-4-2-2021-01-03" title="Permalink to this headline">¶</a></h2>
|
||||||
<section id="id19">
|
<section id="id21">
|
||||||
<h3>Misc<a class="headerlink" href="#id19" title="Permalink to this headline">¶</a></h3>
|
<h3>Misc<a class="headerlink" href="#id21" title="Permalink to this headline">¶</a></h3>
|
||||||
<p>No new features in this release, only some refactorings before introducing
|
<p>No new features in this release, only some refactorings before introducing
|
||||||
new features.</p>
|
new features.</p>
|
||||||
</section>
|
</section>
|
||||||
</section>
|
</section>
|
||||||
<section id="version-0-4-1-2020-12-31">
|
<section id="version-0-4-1-2020-12-31">
|
||||||
<h2>Version 0.4.1 (2020/12/31)<a class="headerlink" href="#version-0-4-1-2020-12-31" title="Permalink to this headline">¶</a></h2>
|
<h2>Version 0.4.1 (2020/12/31)<a class="headerlink" href="#version-0-4-1-2020-12-31" title="Permalink to this headline">¶</a></h2>
|
||||||
<section id="id20">
|
<section id="id22">
|
||||||
<h3>Issues Closed<a class="headerlink" href="#id20" title="Permalink to this headline">¶</a></h3>
|
<h3>Issues Closed<a class="headerlink" href="#id22" title="Permalink to this headline">¶</a></h3>
|
||||||
<section id="id21">
|
<section id="id23">
|
||||||
<h4>New Features<a class="headerlink" href="#id21" title="Permalink to this headline">¶</a></h4>
|
<h4>New Features<a class="headerlink" href="#id23" title="Permalink to this headline">¶</a></h4>
|
||||||
<ul class="simple">
|
<ul class="simple">
|
||||||
<li><p><a class="reference external" href="https://github.com/SamR1/Fittrackee/issues/57">#57</a> - Use uuid for activities</p></li>
|
<li><p><a class="reference external" href="https://github.com/SamR1/Fittrackee/issues/57">#57</a> - Use uuid for activities</p></li>
|
||||||
</ul>
|
</ul>
|
||||||
@ -462,10 +484,10 @@ new features.</p>
|
|||||||
<li><p>It’s now possible to change the tile provider for maps. The default tile server is now <strong>OpenStreetMap</strong>’s standard tile layer (replacing <strong>ThunderForest Outdoors</strong>),
|
<li><p>It’s now possible to change the tile provider for maps. The default tile server is now <strong>OpenStreetMap</strong>’s standard tile layer (replacing <strong>ThunderForest Outdoors</strong>),
|
||||||
see <a class="reference external" href="https://samr1.github.io/FitTrackee/installation.html#map-tile-server">Map tile server in documentation</a>.</p></li>
|
see <a class="reference external" href="https://samr1.github.io/FitTrackee/installation.html#map-tile-server">Map tile server in documentation</a>.</p></li>
|
||||||
</ul>
|
</ul>
|
||||||
<section id="id22">
|
<section id="id24">
|
||||||
<h3>Issues Closed<a class="headerlink" href="#id22" title="Permalink to this headline">¶</a></h3>
|
<h3>Issues Closed<a class="headerlink" href="#id24" title="Permalink to this headline">¶</a></h3>
|
||||||
<section id="id23">
|
<section id="id25">
|
||||||
<h4>New Features<a class="headerlink" href="#id23" title="Permalink to this headline">¶</a></h4>
|
<h4>New Features<a class="headerlink" href="#id25" title="Permalink to this headline">¶</a></h4>
|
||||||
<ul class="simple">
|
<ul class="simple">
|
||||||
<li><p><a class="reference external" href="https://github.com/SamR1/Fittrackee/issues/54">#54</a> - Tile server can be changed</p></li>
|
<li><p><a class="reference external" href="https://github.com/SamR1/Fittrackee/issues/54">#54</a> - Tile server can be changed</p></li>
|
||||||
<li><p><a class="reference external" href="https://github.com/SamR1/Fittrackee/issues/53">#53</a> - Simplify FitTrackee installation</p></li>
|
<li><p><a class="reference external" href="https://github.com/SamR1/Fittrackee/issues/53">#53</a> - Simplify FitTrackee installation</p></li>
|
||||||
@ -481,10 +503,10 @@ see <a class="reference external" href="https://samr1.github.io/FitTrackee/insta
|
|||||||
<li><p>FitTrackee administration is now available (see <a class="reference external" href="https://samr1.github.io/FitTrackee/features.html#administration">documentation</a>)<br />⚠️ Warning: some application parameters move from environment variables to database (see <a class="reference external" href="https://samr1.github.io/FitTrackee/installation.html#environment-variables">installation</a>).</p></li>
|
<li><p>FitTrackee administration is now available (see <a class="reference external" href="https://samr1.github.io/FitTrackee/features.html#administration">documentation</a>)<br />⚠️ Warning: some application parameters move from environment variables to database (see <a class="reference external" href="https://samr1.github.io/FitTrackee/installation.html#environment-variables">installation</a>).</p></li>
|
||||||
<li><p>in order to send emails, Redis is now a mandatory dependency</p></li>
|
<li><p>in order to send emails, Redis is now a mandatory dependency</p></li>
|
||||||
</ul>
|
</ul>
|
||||||
<section id="id24">
|
<section id="id26">
|
||||||
<h3>Issues Closed<a class="headerlink" href="#id24" title="Permalink to this headline">¶</a></h3>
|
<h3>Issues Closed<a class="headerlink" href="#id26" title="Permalink to this headline">¶</a></h3>
|
||||||
<section id="id25">
|
<section id="id27">
|
||||||
<h4>New Features<a class="headerlink" href="#id25" title="Permalink to this headline">¶</a></h4>
|
<h4>New Features<a class="headerlink" href="#id27" title="Permalink to this headline">¶</a></h4>
|
||||||
<ul class="simple">
|
<ul class="simple">
|
||||||
<li><p><a class="reference external" href="https://github.com/SamR1/Fittrackee/issues/50">#50</a> - A user can reset his password</p></li>
|
<li><p><a class="reference external" href="https://github.com/SamR1/Fittrackee/issues/50">#50</a> - A user can reset his password</p></li>
|
||||||
<li><p><a class="reference external" href="https://github.com/SamR1/Fittrackee/issues/17">#17</a> - A user can delete his account</p></li>
|
<li><p><a class="reference external" href="https://github.com/SamR1/Fittrackee/issues/17">#17</a> - A user can delete his account</p></li>
|
||||||
@ -496,8 +518,8 @@ see <a class="reference external" href="https://samr1.github.io/FitTrackee/insta
|
|||||||
</section>
|
</section>
|
||||||
<section id="version-0-2-5-fix-and-improvements-2020-01-31">
|
<section id="version-0-2-5-fix-and-improvements-2020-01-31">
|
||||||
<h2>Version 0.2.5 - Fix and improvements (2020/01/31)<a class="headerlink" href="#version-0-2-5-fix-and-improvements-2020-01-31" title="Permalink to this headline">¶</a></h2>
|
<h2>Version 0.2.5 - Fix and improvements (2020/01/31)<a class="headerlink" href="#version-0-2-5-fix-and-improvements-2020-01-31" title="Permalink to this headline">¶</a></h2>
|
||||||
<section id="id26">
|
<section id="id28">
|
||||||
<h3>Misc<a class="headerlink" href="#id26" title="Permalink to this headline">¶</a></h3>
|
<h3>Misc<a class="headerlink" href="#id28" title="Permalink to this headline">¶</a></h3>
|
||||||
<p>This version contains minor fix and improvements on client side:</p>
|
<p>This version contains minor fix and improvements on client side:</p>
|
||||||
<ul class="simple">
|
<ul class="simple">
|
||||||
<li><p><a class="reference external" href="https://github.com/SamR1/FitTrackee/commit/4c3fc343d51b9c27d3ebab71df648bcf7d7bae59">4c3fc34</a> - empty user data on logout</p></li>
|
<li><p><a class="reference external" href="https://github.com/SamR1/FitTrackee/commit/4c3fc343d51b9c27d3ebab71df648bcf7d7bae59">4c3fc34</a> - empty user data on logout</p></li>
|
||||||
@ -510,10 +532,10 @@ add URL interceptors to simplify routes definition</p></li>
|
|||||||
</section>
|
</section>
|
||||||
<section id="version-0-2-4-minor-fix-2020-01-30">
|
<section id="version-0-2-4-minor-fix-2020-01-30">
|
||||||
<h2>Version 0.2.4 - Minor fix (2020/01/30)<a class="headerlink" href="#version-0-2-4-minor-fix-2020-01-30" title="Permalink to this headline">¶</a></h2>
|
<h2>Version 0.2.4 - Minor fix (2020/01/30)<a class="headerlink" href="#version-0-2-4-minor-fix-2020-01-30" title="Permalink to this headline">¶</a></h2>
|
||||||
<section id="id27">
|
<section id="id29">
|
||||||
<h3>Issues Closed<a class="headerlink" href="#id27" title="Permalink to this headline">¶</a></h3>
|
<h3>Issues Closed<a class="headerlink" href="#id29" title="Permalink to this headline">¶</a></h3>
|
||||||
<section id="id28">
|
<section id="id30">
|
||||||
<h4>Bugs Fixed<a class="headerlink" href="#id28" title="Permalink to this headline">¶</a></h4>
|
<h4>Bugs Fixed<a class="headerlink" href="#id30" title="Permalink to this headline">¶</a></h4>
|
||||||
<ul class="simple">
|
<ul class="simple">
|
||||||
<li><p><a class="reference external" href="https://github.com/SamR1/Fittrackee/issues/47">#47</a> - timezone drop-down is not displayed correctly</p></li>
|
<li><p><a class="reference external" href="https://github.com/SamR1/Fittrackee/issues/47">#47</a> - timezone drop-down is not displayed correctly</p></li>
|
||||||
<li><p><a class="reference external" href="https://github.com/SamR1/Fittrackee/issues/46">#46</a> - calendar cannot display more than 5 or 6 activities on the same day</p></li>
|
<li><p><a class="reference external" href="https://github.com/SamR1/Fittrackee/issues/46">#46</a> - calendar cannot display more than 5 or 6 activities on the same day</p></li>
|
||||||
@ -524,17 +546,17 @@ add URL interceptors to simplify routes definition</p></li>
|
|||||||
</section>
|
</section>
|
||||||
<section id="version-0-2-3-fittrackee-available-in-french-2019-12-29">
|
<section id="version-0-2-3-fittrackee-available-in-french-2019-12-29">
|
||||||
<h2>Version 0.2.3 - FitTrackee available in French (2019/12/29)<a class="headerlink" href="#version-0-2-3-fittrackee-available-in-french-2019-12-29" title="Permalink to this headline">¶</a></h2>
|
<h2>Version 0.2.3 - FitTrackee available in French (2019/12/29)<a class="headerlink" href="#version-0-2-3-fittrackee-available-in-french-2019-12-29" title="Permalink to this headline">¶</a></h2>
|
||||||
<section id="id29">
|
<section id="id31">
|
||||||
<h3>Issues Closed<a class="headerlink" href="#id29" title="Permalink to this headline">¶</a></h3>
|
<h3>Issues Closed<a class="headerlink" href="#id31" title="Permalink to this headline">¶</a></h3>
|
||||||
<section id="id30">
|
<section id="id32">
|
||||||
<h4>New Features<a class="headerlink" href="#id30" title="Permalink to this headline">¶</a></h4>
|
<h4>New Features<a class="headerlink" href="#id32" title="Permalink to this headline">¶</a></h4>
|
||||||
<ul class="simple">
|
<ul class="simple">
|
||||||
<li><p><a class="reference external" href="https://github.com/SamR1/Fittrackee/issues/43">#43</a> - Display weekend days with a different background color on calendar</p></li>
|
<li><p><a class="reference external" href="https://github.com/SamR1/Fittrackee/issues/43">#43</a> - Display weekend days with a different background color on calendar</p></li>
|
||||||
<li><p><a class="reference external" href="https://github.com/SamR1/Fittrackee/issues/40">#40</a> - Localize FitTrackee (i18n)</p></li>
|
<li><p><a class="reference external" href="https://github.com/SamR1/Fittrackee/issues/40">#40</a> - Localize FitTrackee (i18n)</p></li>
|
||||||
</ul>
|
</ul>
|
||||||
</section>
|
</section>
|
||||||
<section id="id31">
|
<section id="id33">
|
||||||
<h4>Bugs Fixed<a class="headerlink" href="#id31" title="Permalink to this headline">¶</a></h4>
|
<h4>Bugs Fixed<a class="headerlink" href="#id33" title="Permalink to this headline">¶</a></h4>
|
||||||
<ul class="simple">
|
<ul class="simple">
|
||||||
<li><p><a class="reference external" href="https://github.com/SamR1/Fittrackee/issues/44">#44</a> - Cannot edit an activity that does not have a gpx file</p></li>
|
<li><p><a class="reference external" href="https://github.com/SamR1/Fittrackee/issues/44">#44</a> - Cannot edit an activity that does not have a gpx file</p></li>
|
||||||
</ul>
|
</ul>
|
||||||
@ -544,10 +566,10 @@ add URL interceptors to simplify routes definition</p></li>
|
|||||||
</section>
|
</section>
|
||||||
<section id="version-0-2-2-statistics-fix-2019-09-23">
|
<section id="version-0-2-2-statistics-fix-2019-09-23">
|
||||||
<h2>Version 0.2.2 - Statistics fix (2019/09/23)<a class="headerlink" href="#version-0-2-2-statistics-fix-2019-09-23" title="Permalink to this headline">¶</a></h2>
|
<h2>Version 0.2.2 - Statistics fix (2019/09/23)<a class="headerlink" href="#version-0-2-2-statistics-fix-2019-09-23" title="Permalink to this headline">¶</a></h2>
|
||||||
<section id="id32">
|
<section id="id34">
|
||||||
<h3>Issues Closed<a class="headerlink" href="#id32" title="Permalink to this headline">¶</a></h3>
|
<h3>Issues Closed<a class="headerlink" href="#id34" title="Permalink to this headline">¶</a></h3>
|
||||||
<section id="id33">
|
<section id="id35">
|
||||||
<h4>Bugs Fixed<a class="headerlink" href="#id33" title="Permalink to this headline">¶</a></h4>
|
<h4>Bugs Fixed<a class="headerlink" href="#id35" title="Permalink to this headline">¶</a></h4>
|
||||||
<ul class="simple">
|
<ul class="simple">
|
||||||
<li><p><a class="reference external" href="https://github.com/SamR1/Fittrackee/issues/41">#41</a> - User statistics are incorrect</p></li>
|
<li><p><a class="reference external" href="https://github.com/SamR1/Fittrackee/issues/41">#41</a> - User statistics are incorrect</p></li>
|
||||||
</ul>
|
</ul>
|
||||||
@ -557,10 +579,10 @@ add URL interceptors to simplify routes definition</p></li>
|
|||||||
</section>
|
</section>
|
||||||
<section id="version-0-2-1-fix-and-improvements-2019-09-01">
|
<section id="version-0-2-1-fix-and-improvements-2019-09-01">
|
||||||
<h2>Version 0.2.1 - Fix and improvements (2019/09/01)<a class="headerlink" href="#version-0-2-1-fix-and-improvements-2019-09-01" title="Permalink to this headline">¶</a></h2>
|
<h2>Version 0.2.1 - Fix and improvements (2019/09/01)<a class="headerlink" href="#version-0-2-1-fix-and-improvements-2019-09-01" title="Permalink to this headline">¶</a></h2>
|
||||||
<section id="id34">
|
<section id="id36">
|
||||||
<h3>Issues Closed<a class="headerlink" href="#id34" title="Permalink to this headline">¶</a></h3>
|
<h3>Issues Closed<a class="headerlink" href="#id36" title="Permalink to this headline">¶</a></h3>
|
||||||
<section id="id35">
|
<section id="id37">
|
||||||
<h4>New Features<a class="headerlink" href="#id35" title="Permalink to this headline">¶</a></h4>
|
<h4>New Features<a class="headerlink" href="#id37" title="Permalink to this headline">¶</a></h4>
|
||||||
<ul class="simple">
|
<ul class="simple">
|
||||||
<li><p><a class="reference external" href="https://github.com/SamR1/Fittrackee/issues/4">#4</a> - Show points on the map when mouse over the chart</p></li>
|
<li><p><a class="reference external" href="https://github.com/SamR1/Fittrackee/issues/4">#4</a> - Show points on the map when mouse over the chart</p></li>
|
||||||
<li><p><a class="reference external" href="https://github.com/SamR1/Fittrackee/issues/14">#14</a> - Display segments informations</p></li>
|
<li><p><a class="reference external" href="https://github.com/SamR1/Fittrackee/issues/14">#14</a> - Display segments informations</p></li>
|
||||||
@ -571,15 +593,15 @@ add URL interceptors to simplify routes definition</p></li>
|
|||||||
<li><p><a class="reference external" href="https://github.com/SamR1/Fittrackee/issues/37">#37</a> - Display map on activities list</p></li>
|
<li><p><a class="reference external" href="https://github.com/SamR1/Fittrackee/issues/37">#37</a> - Display map on activities list</p></li>
|
||||||
</ul>
|
</ul>
|
||||||
</section>
|
</section>
|
||||||
<section id="id36">
|
<section id="id38">
|
||||||
<h4>Bugs Fixed<a class="headerlink" href="#id36" title="Permalink to this headline">¶</a></h4>
|
<h4>Bugs Fixed<a class="headerlink" href="#id38" title="Permalink to this headline">¶</a></h4>
|
||||||
<ul class="simple">
|
<ul class="simple">
|
||||||
<li><p><a class="reference external" href="https://github.com/SamR1/Fittrackee/issues/34">#34</a> - Weather is not displayed anymore</p></li>
|
<li><p><a class="reference external" href="https://github.com/SamR1/Fittrackee/issues/34">#34</a> - Weather is not displayed anymore</p></li>
|
||||||
</ul>
|
</ul>
|
||||||
</section>
|
</section>
|
||||||
</section>
|
</section>
|
||||||
<section id="id37">
|
<section id="id39">
|
||||||
<h3>Misc<a class="headerlink" href="#id37" title="Permalink to this headline">¶</a></h3>
|
<h3>Misc<a class="headerlink" href="#id39" title="Permalink to this headline">¶</a></h3>
|
||||||
<ul class="simple">
|
<ul class="simple">
|
||||||
<li><p><strong><a class="reference external" href="https://poetry.eustace.io/">Poetry</a></strong> replaces <strong><a class="reference external" href="https://docs.pipenv.org">pipenv</a></strong> for Python packages management</p></li>
|
<li><p><strong><a class="reference external" href="https://poetry.eustace.io/">Poetry</a></strong> replaces <strong><a class="reference external" href="https://docs.pipenv.org">pipenv</a></strong> for Python packages management</p></li>
|
||||||
</ul>
|
</ul>
|
||||||
@ -588,17 +610,17 @@ add URL interceptors to simplify routes definition</p></li>
|
|||||||
</section>
|
</section>
|
||||||
<section id="version-0-2-0-statistics-2019-07-07">
|
<section id="version-0-2-0-statistics-2019-07-07">
|
||||||
<h2>Version 0.2.0 - Statistics (2019/07/07)<a class="headerlink" href="#version-0-2-0-statistics-2019-07-07" title="Permalink to this headline">¶</a></h2>
|
<h2>Version 0.2.0 - Statistics (2019/07/07)<a class="headerlink" href="#version-0-2-0-statistics-2019-07-07" title="Permalink to this headline">¶</a></h2>
|
||||||
<section id="id38">
|
<section id="id40">
|
||||||
<h3>Issues Closed<a class="headerlink" href="#id38" title="Permalink to this headline">¶</a></h3>
|
<h3>Issues Closed<a class="headerlink" href="#id40" title="Permalink to this headline">¶</a></h3>
|
||||||
<section id="id39">
|
<section id="id41">
|
||||||
<h4>New Features<a class="headerlink" href="#id39" title="Permalink to this headline">¶</a></h4>
|
<h4>New Features<a class="headerlink" href="#id41" title="Permalink to this headline">¶</a></h4>
|
||||||
<ul class="simple">
|
<ul class="simple">
|
||||||
<li><p><a class="reference external" href="https://github.com/SamR1/Fittrackee/issues/13">#13</a> - Detailed statistics</p></li>
|
<li><p><a class="reference external" href="https://github.com/SamR1/Fittrackee/issues/13">#13</a> - Detailed statistics</p></li>
|
||||||
</ul>
|
</ul>
|
||||||
</section>
|
</section>
|
||||||
</section>
|
</section>
|
||||||
<section id="id40">
|
<section id="id42">
|
||||||
<h3>Misc<a class="headerlink" href="#id40" title="Permalink to this headline">¶</a></h3>
|
<h3>Misc<a class="headerlink" href="#id42" title="Permalink to this headline">¶</a></h3>
|
||||||
<ul class="simple">
|
<ul class="simple">
|
||||||
<li><p>Update dependencies</p></li>
|
<li><p>Update dependencies</p></li>
|
||||||
</ul>
|
</ul>
|
||||||
@ -607,17 +629,17 @@ add URL interceptors to simplify routes definition</p></li>
|
|||||||
</section>
|
</section>
|
||||||
<section id="version-0-1-1-fix-and-improvements-2019-02-07">
|
<section id="version-0-1-1-fix-and-improvements-2019-02-07">
|
||||||
<h2>Version 0.1.1 - Fix and improvements (2019/02/07)<a class="headerlink" href="#version-0-1-1-fix-and-improvements-2019-02-07" title="Permalink to this headline">¶</a></h2>
|
<h2>Version 0.1.1 - Fix and improvements (2019/02/07)<a class="headerlink" href="#version-0-1-1-fix-and-improvements-2019-02-07" title="Permalink to this headline">¶</a></h2>
|
||||||
<section id="id41">
|
<section id="id43">
|
||||||
<h3>Issues Closed<a class="headerlink" href="#id41" title="Permalink to this headline">¶</a></h3>
|
<h3>Issues Closed<a class="headerlink" href="#id43" title="Permalink to this headline">¶</a></h3>
|
||||||
<section id="id42">
|
<section id="id44">
|
||||||
<h4>New Features<a class="headerlink" href="#id42" title="Permalink to this headline">¶</a></h4>
|
<h4>New Features<a class="headerlink" href="#id44" title="Permalink to this headline">¶</a></h4>
|
||||||
<ul class="simple">
|
<ul class="simple">
|
||||||
<li><p><a class="reference external" href="https://github.com/SamR1/FitTrackee/issues/25">#25</a> - Display records on calendar</p></li>
|
<li><p><a class="reference external" href="https://github.com/SamR1/FitTrackee/issues/25">#25</a> - Display records on calendar</p></li>
|
||||||
<li><p><a class="reference external" href="https://github.com/SamR1/FitTrackee/issues/22">#22</a> - Add a total on current month statistics</p></li>
|
<li><p><a class="reference external" href="https://github.com/SamR1/FitTrackee/issues/22">#22</a> - Add a total on current month statistics</p></li>
|
||||||
</ul>
|
</ul>
|
||||||
</section>
|
</section>
|
||||||
<section id="id43">
|
<section id="id45">
|
||||||
<h4>Bugs Fixed<a class="headerlink" href="#id43" title="Permalink to this headline">¶</a></h4>
|
<h4>Bugs Fixed<a class="headerlink" href="#id45" title="Permalink to this headline">¶</a></h4>
|
||||||
<ul class="simple">
|
<ul class="simple">
|
||||||
<li><p><a class="reference external" href="https://github.com/SamR1/FitTrackee/issues/31">#31</a> - Use moving duration for stats</p></li>
|
<li><p><a class="reference external" href="https://github.com/SamR1/FitTrackee/issues/31">#31</a> - Use moving duration for stats</p></li>
|
||||||
<li><p><a class="reference external" href="https://github.com/SamR1/FitTrackee/issues/29">#29</a> - Pause duration calculation with segments</p></li>
|
<li><p><a class="reference external" href="https://github.com/SamR1/FitTrackee/issues/29">#29</a> - Pause duration calculation with segments</p></li>
|
||||||
@ -666,10 +688,10 @@ add URL interceptors to simplify routes definition</p></li>
|
|||||||
<li><p>no administration for now</p></li>
|
<li><p>no administration for now</p></li>
|
||||||
</ul>
|
</ul>
|
||||||
<p>➡️ more informations: see <a class="reference external" href="https://samr1.github.io/FitTrackee/">documentation</a> and <a class="reference external" href="https://github.com/SamR1/FitTrackee/issues">current issues</a></p>
|
<p>➡️ more informations: see <a class="reference external" href="https://samr1.github.io/FitTrackee/">documentation</a> and <a class="reference external" href="https://github.com/SamR1/FitTrackee/issues">current issues</a></p>
|
||||||
<section id="id44">
|
<section id="id46">
|
||||||
<h3>Issues Closed<a class="headerlink" href="#id44" title="Permalink to this headline">¶</a></h3>
|
<h3>Issues Closed<a class="headerlink" href="#id46" title="Permalink to this headline">¶</a></h3>
|
||||||
<section id="id45">
|
<section id="id47">
|
||||||
<h4>New Features<a class="headerlink" href="#id45" title="Permalink to this headline">¶</a></h4>
|
<h4>New Features<a class="headerlink" href="#id47" title="Permalink to this headline">¶</a></h4>
|
||||||
<ul class="simple">
|
<ul class="simple">
|
||||||
<li><p><a class="reference external" href="https://github.com/SamR1/FitTrackee/issues/11">#11</a> - Timezone support</p></li>
|
<li><p><a class="reference external" href="https://github.com/SamR1/FitTrackee/issues/11">#11</a> - Timezone support</p></li>
|
||||||
<li><p><a class="reference external" href="https://github.com/SamR1/FitTrackee/issues/10">#10</a> - Add a note to an activity</p></li>
|
<li><p><a class="reference external" href="https://github.com/SamR1/FitTrackee/issues/10">#10</a> - Add a note to an activity</p></li>
|
||||||
@ -697,7 +719,7 @@ add URL interceptors to simplify routes definition</p></li>
|
|||||||
</p>
|
</p>
|
||||||
<p>
|
<p>
|
||||||
© Copyright 2018 - 2021, SamR1.<br/>
|
© Copyright 2018 - 2021, SamR1.<br/>
|
||||||
Created using <a href="http://sphinx-doc.org/">Sphinx</a> 4.3.0.<br/>
|
Created using <a href="http://sphinx-doc.org/">Sphinx</a> 4.3.1.<br/>
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
</footer>
|
</footer>
|
||||||
|
@ -5,7 +5,7 @@
|
|||||||
<meta charset="utf-8" />
|
<meta charset="utf-8" />
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
|
||||||
|
|
||||||
<title>Features — FitTrackee 0.5.0
|
<title>Features — FitTrackee 0.5.1
|
||||||
documentation</title>
|
documentation</title>
|
||||||
<link rel="stylesheet" type="text/css" href="_static/pygments.css" />
|
<link rel="stylesheet" type="text/css" href="_static/pygments.css" />
|
||||||
<link rel="stylesheet" type="text/css" href="_static/bootstrap-sphinx.css" />
|
<link rel="stylesheet" type="text/css" href="_static/bootstrap-sphinx.css" />
|
||||||
@ -16,8 +16,8 @@
|
|||||||
<script src="_static/doctools.js"></script>
|
<script src="_static/doctools.js"></script>
|
||||||
<link rel="index" title="Index" href="genindex.html" />
|
<link rel="index" title="Index" href="genindex.html" />
|
||||||
<link rel="search" title="Search" href="search.html" />
|
<link rel="search" title="Search" href="search.html" />
|
||||||
<link rel="next" title="API documentation" href="api/index.html" />
|
<link rel="next" title="Installation" href="installation.html" />
|
||||||
<link rel="prev" title="Installation" href="installation.html" />
|
<link rel="prev" title="FitTrackee" href="index.html" />
|
||||||
<meta charset='utf-8'>
|
<meta charset='utf-8'>
|
||||||
<meta http-equiv='X-UA-Compatible' content='IE=edge,chrome=1'>
|
<meta http-equiv='X-UA-Compatible' content='IE=edge,chrome=1'>
|
||||||
<meta name='viewport' content='width=device-width, initial-scale=1.0, maximum-scale=1'>
|
<meta name='viewport' content='width=device-width, initial-scale=1.0, maximum-scale=1'>
|
||||||
@ -40,7 +40,7 @@
|
|||||||
</button>
|
</button>
|
||||||
<a class="navbar-brand" href="index.html">
|
<a class="navbar-brand" href="index.html">
|
||||||
FitTrackee</a>
|
FitTrackee</a>
|
||||||
<span class="navbar-text navbar-version pull-left"><b>0.5.0
|
<span class="navbar-text navbar-version pull-left"><b>0.5.1
|
||||||
</b></span>
|
</b></span>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@ -59,8 +59,8 @@
|
|||||||
<ul class="dropdown-menu globaltoc"
|
<ul class="dropdown-menu globaltoc"
|
||||||
role="menu"
|
role="menu"
|
||||||
aria-labelledby="dLabelGlobalToc"><ul class="current">
|
aria-labelledby="dLabelGlobalToc"><ul class="current">
|
||||||
<li class="toctree-l1"><a class="reference internal" href="installation.html">Installation</a></li>
|
|
||||||
<li class="toctree-l1 current"><a class="current reference internal" href="#">Features</a></li>
|
<li class="toctree-l1 current"><a class="current reference internal" href="#">Features</a></li>
|
||||||
|
<li class="toctree-l1"><a class="reference internal" href="installation.html">Installation</a></li>
|
||||||
<li class="toctree-l1"><a class="reference internal" href="api/index.html">API documentation</a></li>
|
<li class="toctree-l1"><a class="reference internal" href="api/index.html">API documentation</a></li>
|
||||||
<li class="toctree-l1"><a class="reference internal" href="troubleshooting/index.html">Troubleshooting</a></li>
|
<li class="toctree-l1"><a class="reference internal" href="troubleshooting/index.html">Troubleshooting</a></li>
|
||||||
<li class="toctree-l1"><a class="reference internal" href="changelog.html">Change log</a></li>
|
<li class="toctree-l1"><a class="reference internal" href="changelog.html">Change log</a></li>
|
||||||
@ -101,11 +101,11 @@
|
|||||||
|
|
||||||
|
|
||||||
<li>
|
<li>
|
||||||
<a href="installation.html" title="Previous Chapter: Installation"><span class="glyphicon glyphicon-chevron-left visible-sm"></span><span class="hidden-sm hidden-tablet">« Installation</span>
|
<a href="index.html" title="Previous Chapter: FitTrackee"><span class="glyphicon glyphicon-chevron-left visible-sm"></span><span class="hidden-sm hidden-tablet">« FitTrackee</span>
|
||||||
</a>
|
</a>
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<a href="api/index.html" title="Next Chapter: API documentation"><span class="glyphicon glyphicon-chevron-right visible-sm"></span><span class="hidden-sm hidden-tablet">API documentation »</span>
|
<a href="installation.html" title="Next Chapter: Installation"><span class="glyphicon glyphicon-chevron-right visible-sm"></span><span class="hidden-sm hidden-tablet">Installation »</span>
|
||||||
</a>
|
</a>
|
||||||
</li>
|
</li>
|
||||||
|
|
||||||
@ -239,8 +239,20 @@
|
|||||||
<li><p>Dashboard with month calendar displaying workouts and record. The week can start on Sunday or Monday (which can be changed in the user preferences). The calendar displays up to 100 workouts.</p></li>
|
<li><p>Dashboard with month calendar displaying workouts and record. The week can start on Sunday or Monday (which can be changed in the user preferences). The calendar displays up to 100 workouts.</p></li>
|
||||||
<li><p>Workout creation by uploading a gpx file (related data are stored in database with metric system). A workout can even be created without gpx (the user must enter date, time, duration and distance).</p></li>
|
<li><p>Workout creation by uploading a gpx file (related data are stored in database with metric system). A workout can even be created without gpx (the user must enter date, time, duration and distance).</p></li>
|
||||||
<li><p>A workout with a gpx file can be displayed with map, weather (if the DarkSky API key is provided) and charts (speed and elevation). Segments can be displayed.</p></li>
|
<li><p>A workout with a gpx file can be displayed with map, weather (if the DarkSky API key is provided) and charts (speed and elevation). Segments can be displayed.</p></li>
|
||||||
|
<li><p>Workout gpx file can be downloaded (<strong>new in 0.5.1</strong>)</p></li>
|
||||||
<li><p>Workout edition and deletion. User can add a note.</p></li>
|
<li><p>Workout edition and deletion. User can add a note.</p></li>
|
||||||
<li><p>User statistics</p></li>
|
<li><dl class="simple">
|
||||||
|
<dt>User statistics, by time period (week, month, year) and sport:</dt><dd><ul>
|
||||||
|
<li><p>total distance</p></li>
|
||||||
|
<li><p>total duration</p></li>
|
||||||
|
<li><p>total workouts</p></li>
|
||||||
|
<li><p>total ascent (<strong>new in 0.5.0</strong>)</p></li>
|
||||||
|
<li><p>total descent (<strong>new in 0.5.0</strong>)</p></li>
|
||||||
|
<li><p>average speed (<strong>new in 0.5.1</strong>)</p></li>
|
||||||
|
</ul>
|
||||||
|
</dd>
|
||||||
|
</dl>
|
||||||
|
</li>
|
||||||
<li><dl class="simple">
|
<li><dl class="simple">
|
||||||
<dt>User records by sports:</dt><dd><ul>
|
<dt>User records by sports:</dt><dd><ul>
|
||||||
<li><p>average speed</p></li>
|
<li><p>average speed</p></li>
|
||||||
@ -311,7 +323,7 @@
|
|||||||
</p>
|
</p>
|
||||||
<p>
|
<p>
|
||||||
© Copyright 2018 - 2021, SamR1.<br/>
|
© Copyright 2018 - 2021, SamR1.<br/>
|
||||||
Created using <a href="http://sphinx-doc.org/">Sphinx</a> 4.3.0.<br/>
|
Created using <a href="http://sphinx-doc.org/">Sphinx</a> 4.3.1.<br/>
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
</footer>
|
</footer>
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
<head>
|
<head>
|
||||||
<meta charset="utf-8" />
|
<meta charset="utf-8" />
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||||
<title>Index — FitTrackee 0.5.0
|
<title>Index — FitTrackee 0.5.1
|
||||||
documentation</title>
|
documentation</title>
|
||||||
<link rel="stylesheet" type="text/css" href="_static/pygments.css" />
|
<link rel="stylesheet" type="text/css" href="_static/pygments.css" />
|
||||||
<link rel="stylesheet" type="text/css" href="_static/bootstrap-sphinx.css" />
|
<link rel="stylesheet" type="text/css" href="_static/bootstrap-sphinx.css" />
|
||||||
@ -37,7 +37,7 @@
|
|||||||
</button>
|
</button>
|
||||||
<a class="navbar-brand" href="index.html">
|
<a class="navbar-brand" href="index.html">
|
||||||
FitTrackee</a>
|
FitTrackee</a>
|
||||||
<span class="navbar-text navbar-version pull-left"><b>0.5.0
|
<span class="navbar-text navbar-version pull-left"><b>0.5.1
|
||||||
</b></span>
|
</b></span>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@ -56,8 +56,8 @@
|
|||||||
<ul class="dropdown-menu globaltoc"
|
<ul class="dropdown-menu globaltoc"
|
||||||
role="menu"
|
role="menu"
|
||||||
aria-labelledby="dLabelGlobalToc"><ul>
|
aria-labelledby="dLabelGlobalToc"><ul>
|
||||||
<li class="toctree-l1"><a class="reference internal" href="installation.html">Installation</a></li>
|
|
||||||
<li class="toctree-l1"><a class="reference internal" href="features.html">Features</a></li>
|
<li class="toctree-l1"><a class="reference internal" href="features.html">Features</a></li>
|
||||||
|
<li class="toctree-l1"><a class="reference internal" href="installation.html">Installation</a></li>
|
||||||
<li class="toctree-l1"><a class="reference internal" href="api/index.html">API documentation</a></li>
|
<li class="toctree-l1"><a class="reference internal" href="api/index.html">API documentation</a></li>
|
||||||
<li class="toctree-l1"><a class="reference internal" href="troubleshooting/index.html">Troubleshooting</a></li>
|
<li class="toctree-l1"><a class="reference internal" href="troubleshooting/index.html">Troubleshooting</a></li>
|
||||||
<li class="toctree-l1"><a class="reference internal" href="changelog.html">Change log</a></li>
|
<li class="toctree-l1"><a class="reference internal" href="changelog.html">Change log</a></li>
|
||||||
@ -179,7 +179,7 @@
|
|||||||
</p>
|
</p>
|
||||||
<p>
|
<p>
|
||||||
© Copyright 2018 - 2021, SamR1.<br/>
|
© Copyright 2018 - 2021, SamR1.<br/>
|
||||||
Created using <a href="http://sphinx-doc.org/">Sphinx</a> 4.3.0.<br/>
|
Created using <a href="http://sphinx-doc.org/">Sphinx</a> 4.3.1.<br/>
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
</footer>
|
</footer>
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
<head>
|
<head>
|
||||||
<meta charset="utf-8" />
|
<meta charset="utf-8" />
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||||
<title>HTTP Routing Table — FitTrackee 0.5.0
|
<title>HTTP Routing Table — FitTrackee 0.5.1
|
||||||
documentation</title>
|
documentation</title>
|
||||||
<link rel="stylesheet" type="text/css" href="_static/pygments.css" />
|
<link rel="stylesheet" type="text/css" href="_static/pygments.css" />
|
||||||
<link rel="stylesheet" type="text/css" href="_static/bootstrap-sphinx.css" />
|
<link rel="stylesheet" type="text/css" href="_static/bootstrap-sphinx.css" />
|
||||||
@ -44,7 +44,7 @@
|
|||||||
</button>
|
</button>
|
||||||
<a class="navbar-brand" href="index.html">
|
<a class="navbar-brand" href="index.html">
|
||||||
FitTrackee</a>
|
FitTrackee</a>
|
||||||
<span class="navbar-text navbar-version pull-left"><b>0.5.0
|
<span class="navbar-text navbar-version pull-left"><b>0.5.1
|
||||||
</b></span>
|
</b></span>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@ -63,8 +63,8 @@
|
|||||||
<ul class="dropdown-menu globaltoc"
|
<ul class="dropdown-menu globaltoc"
|
||||||
role="menu"
|
role="menu"
|
||||||
aria-labelledby="dLabelGlobalToc"><ul>
|
aria-labelledby="dLabelGlobalToc"><ul>
|
||||||
<li class="toctree-l1"><a class="reference internal" href="installation.html">Installation</a></li>
|
|
||||||
<li class="toctree-l1"><a class="reference internal" href="features.html">Features</a></li>
|
<li class="toctree-l1"><a class="reference internal" href="features.html">Features</a></li>
|
||||||
|
<li class="toctree-l1"><a class="reference internal" href="installation.html">Installation</a></li>
|
||||||
<li class="toctree-l1"><a class="reference internal" href="api/index.html">API documentation</a></li>
|
<li class="toctree-l1"><a class="reference internal" href="api/index.html">API documentation</a></li>
|
||||||
<li class="toctree-l1"><a class="reference internal" href="troubleshooting/index.html">Troubleshooting</a></li>
|
<li class="toctree-l1"><a class="reference internal" href="troubleshooting/index.html">Troubleshooting</a></li>
|
||||||
<li class="toctree-l1"><a class="reference internal" href="changelog.html">Change log</a></li>
|
<li class="toctree-l1"><a class="reference internal" href="changelog.html">Change log</a></li>
|
||||||
@ -215,6 +215,11 @@
|
|||||||
<td>
|
<td>
|
||||||
<a href="api/workouts.html#get--api-workouts-(string-workout_short_id)-gpx"><code class="xref">GET /api/workouts/(string:workout_short_id)/gpx</code></a></td><td>
|
<a href="api/workouts.html#get--api-workouts-(string-workout_short_id)-gpx"><code class="xref">GET /api/workouts/(string:workout_short_id)/gpx</code></a></td><td>
|
||||||
<em></em></td></tr>
|
<em></em></td></tr>
|
||||||
|
<tr>
|
||||||
|
<td></td>
|
||||||
|
<td>
|
||||||
|
<a href="api/workouts.html#get--api-workouts-(string-workout_short_id)-gpx-download"><code class="xref">GET /api/workouts/(string:workout_short_id)/gpx/download</code></a></td><td>
|
||||||
|
<em></em></td></tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td></td>
|
<td></td>
|
||||||
<td>
|
<td>
|
||||||
@ -330,7 +335,7 @@
|
|||||||
</p>
|
</p>
|
||||||
<p>
|
<p>
|
||||||
© Copyright 2018 - 2021, SamR1.<br/>
|
© Copyright 2018 - 2021, SamR1.<br/>
|
||||||
Created using <a href="http://sphinx-doc.org/">Sphinx</a> 4.3.0.<br/>
|
Created using <a href="http://sphinx-doc.org/">Sphinx</a> 4.3.1.<br/>
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
</footer>
|
</footer>
|
||||||
|
@ -5,7 +5,7 @@
|
|||||||
<meta charset="utf-8" />
|
<meta charset="utf-8" />
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
|
||||||
|
|
||||||
<title>FitTrackee — FitTrackee 0.5.0
|
<title>FitTrackee — FitTrackee 0.5.1
|
||||||
documentation</title>
|
documentation</title>
|
||||||
<link rel="stylesheet" type="text/css" href="_static/pygments.css" />
|
<link rel="stylesheet" type="text/css" href="_static/pygments.css" />
|
||||||
<link rel="stylesheet" type="text/css" href="_static/bootstrap-sphinx.css" />
|
<link rel="stylesheet" type="text/css" href="_static/bootstrap-sphinx.css" />
|
||||||
@ -16,7 +16,7 @@
|
|||||||
<script src="_static/doctools.js"></script>
|
<script src="_static/doctools.js"></script>
|
||||||
<link rel="index" title="Index" href="genindex.html" />
|
<link rel="index" title="Index" href="genindex.html" />
|
||||||
<link rel="search" title="Search" href="search.html" />
|
<link rel="search" title="Search" href="search.html" />
|
||||||
<link rel="next" title="Installation" href="installation.html" />
|
<link rel="next" title="Features" href="features.html" />
|
||||||
<meta charset='utf-8'>
|
<meta charset='utf-8'>
|
||||||
<meta http-equiv='X-UA-Compatible' content='IE=edge,chrome=1'>
|
<meta http-equiv='X-UA-Compatible' content='IE=edge,chrome=1'>
|
||||||
<meta name='viewport' content='width=device-width, initial-scale=1.0, maximum-scale=1'>
|
<meta name='viewport' content='width=device-width, initial-scale=1.0, maximum-scale=1'>
|
||||||
@ -39,7 +39,7 @@
|
|||||||
</button>
|
</button>
|
||||||
<a class="navbar-brand" href="#">
|
<a class="navbar-brand" href="#">
|
||||||
FitTrackee</a>
|
FitTrackee</a>
|
||||||
<span class="navbar-text navbar-version pull-left"><b>0.5.0
|
<span class="navbar-text navbar-version pull-left"><b>0.5.1
|
||||||
</b></span>
|
</b></span>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@ -58,8 +58,8 @@
|
|||||||
<ul class="dropdown-menu globaltoc"
|
<ul class="dropdown-menu globaltoc"
|
||||||
role="menu"
|
role="menu"
|
||||||
aria-labelledby="dLabelGlobalToc"><ul>
|
aria-labelledby="dLabelGlobalToc"><ul>
|
||||||
<li class="toctree-l1"><a class="reference internal" href="installation.html">Installation</a></li>
|
|
||||||
<li class="toctree-l1"><a class="reference internal" href="features.html">Features</a></li>
|
<li class="toctree-l1"><a class="reference internal" href="features.html">Features</a></li>
|
||||||
|
<li class="toctree-l1"><a class="reference internal" href="installation.html">Installation</a></li>
|
||||||
<li class="toctree-l1"><a class="reference internal" href="api/index.html">API documentation</a></li>
|
<li class="toctree-l1"><a class="reference internal" href="api/index.html">API documentation</a></li>
|
||||||
<li class="toctree-l1"><a class="reference internal" href="troubleshooting/index.html">Troubleshooting</a></li>
|
<li class="toctree-l1"><a class="reference internal" href="troubleshooting/index.html">Troubleshooting</a></li>
|
||||||
<li class="toctree-l1"><a class="reference internal" href="changelog.html">Change log</a></li>
|
<li class="toctree-l1"><a class="reference internal" href="changelog.html">Change log</a></li>
|
||||||
@ -87,7 +87,7 @@
|
|||||||
|
|
||||||
|
|
||||||
<li>
|
<li>
|
||||||
<a href="installation.html" title="Next Chapter: Installation"><span class="glyphicon glyphicon-chevron-right visible-sm"></span><span class="hidden-sm hidden-tablet">Installation »</span>
|
<a href="features.html" title="Next Chapter: Features"><span class="glyphicon glyphicon-chevron-right visible-sm"></span><span class="hidden-sm hidden-tablet">Features »</span>
|
||||||
</a>
|
</a>
|
||||||
</li>
|
</li>
|
||||||
|
|
||||||
@ -151,15 +151,6 @@ Map</a>.</div>
|
|||||||
<h1>Table of contents<a class="headerlink" href="#table-of-contents" title="Permalink to this headline">¶</a></h1>
|
<h1>Table of contents<a class="headerlink" href="#table-of-contents" title="Permalink to this headline">¶</a></h1>
|
||||||
<div class="toctree-wrapper compound">
|
<div class="toctree-wrapper compound">
|
||||||
<ul>
|
<ul>
|
||||||
<li class="toctree-l1"><a class="reference internal" href="installation.html">Installation</a><ul>
|
|
||||||
<li class="toctree-l2"><a class="reference internal" href="installation.html#prerequisites">Prerequisites</a></li>
|
|
||||||
<li class="toctree-l2"><a class="reference internal" href="installation.html#environment-variables">Environment variables</a></li>
|
|
||||||
<li class="toctree-l2"><a class="reference internal" href="installation.html#from-pypi">From PyPI</a></li>
|
|
||||||
<li class="toctree-l2"><a class="reference internal" href="installation.html#from-sources">From sources</a></li>
|
|
||||||
<li class="toctree-l2"><a class="reference internal" href="installation.html#deployment">Deployment</a></li>
|
|
||||||
<li class="toctree-l2"><a class="reference internal" href="installation.html#docker">Docker</a></li>
|
|
||||||
</ul>
|
|
||||||
</li>
|
|
||||||
<li class="toctree-l1"><a class="reference internal" href="features.html">Features</a><ul>
|
<li class="toctree-l1"><a class="reference internal" href="features.html">Features</a><ul>
|
||||||
<li class="toctree-l2"><a class="reference internal" href="features.html#list">List</a></li>
|
<li class="toctree-l2"><a class="reference internal" href="features.html#list">List</a></li>
|
||||||
<li class="toctree-l2"><a class="reference internal" href="features.html#dashboard">Dashboard</a></li>
|
<li class="toctree-l2"><a class="reference internal" href="features.html#dashboard">Dashboard</a></li>
|
||||||
@ -169,6 +160,15 @@ Map</a>.</div>
|
|||||||
<li class="toctree-l2"><a class="reference internal" href="features.html#id1">Administration</a></li>
|
<li class="toctree-l2"><a class="reference internal" href="features.html#id1">Administration</a></li>
|
||||||
</ul>
|
</ul>
|
||||||
</li>
|
</li>
|
||||||
|
<li class="toctree-l1"><a class="reference internal" href="installation.html">Installation</a><ul>
|
||||||
|
<li class="toctree-l2"><a class="reference internal" href="installation.html#prerequisites">Prerequisites</a></li>
|
||||||
|
<li class="toctree-l2"><a class="reference internal" href="installation.html#environment-variables">Environment variables</a></li>
|
||||||
|
<li class="toctree-l2"><a class="reference internal" href="installation.html#from-pypi">From PyPI</a></li>
|
||||||
|
<li class="toctree-l2"><a class="reference internal" href="installation.html#from-sources">From sources</a></li>
|
||||||
|
<li class="toctree-l2"><a class="reference internal" href="installation.html#deployment">Deployment</a></li>
|
||||||
|
<li class="toctree-l2"><a class="reference internal" href="installation.html#docker">Docker</a></li>
|
||||||
|
</ul>
|
||||||
|
</li>
|
||||||
<li class="toctree-l1"><a class="reference internal" href="api/index.html">API documentation</a><ul>
|
<li class="toctree-l1"><a class="reference internal" href="api/index.html">API documentation</a><ul>
|
||||||
<li class="toctree-l2"><a class="reference internal" href="api/auth.html">Authentication</a></li>
|
<li class="toctree-l2"><a class="reference internal" href="api/auth.html">Authentication</a></li>
|
||||||
<li class="toctree-l2"><a class="reference internal" href="api/configuration.html">Configuration</a></li>
|
<li class="toctree-l2"><a class="reference internal" href="api/configuration.html">Configuration</a></li>
|
||||||
@ -185,6 +185,7 @@ Map</a>.</div>
|
|||||||
</ul>
|
</ul>
|
||||||
</li>
|
</li>
|
||||||
<li class="toctree-l1"><a class="reference internal" href="changelog.html">Change log</a><ul>
|
<li class="toctree-l1"><a class="reference internal" href="changelog.html">Change log</a><ul>
|
||||||
|
<li class="toctree-l2"><a class="reference internal" href="changelog.html#version-0-5-1-2021-11-30">Version 0.5.1 (2021/11/30)</a></li>
|
||||||
<li class="toctree-l2"><a class="reference internal" href="changelog.html#version-0-5-0-2021-11-14">Version 0.5.0 (2021/11/14)</a></li>
|
<li class="toctree-l2"><a class="reference internal" href="changelog.html#version-0-5-0-2021-11-14">Version 0.5.0 (2021/11/14)</a></li>
|
||||||
<li class="toctree-l2"><a class="reference internal" href="changelog.html#version-0-4-9-2021-07-16">Version 0.4.9 (2021/07/16)</a></li>
|
<li class="toctree-l2"><a class="reference internal" href="changelog.html#version-0-4-9-2021-07-16">Version 0.4.9 (2021/07/16)</a></li>
|
||||||
<li class="toctree-l2"><a class="reference internal" href="changelog.html#version-0-4-8-2021-07-03">Version 0.4.8 (2021/07/03)</a></li>
|
<li class="toctree-l2"><a class="reference internal" href="changelog.html#version-0-4-8-2021-07-03">Version 0.4.8 (2021/07/03)</a></li>
|
||||||
@ -224,7 +225,7 @@ Map</a>.</div>
|
|||||||
</p>
|
</p>
|
||||||
<p>
|
<p>
|
||||||
© Copyright 2018 - 2021, SamR1.<br/>
|
© Copyright 2018 - 2021, SamR1.<br/>
|
||||||
Created using <a href="http://sphinx-doc.org/">Sphinx</a> 4.3.0.<br/>
|
Created using <a href="http://sphinx-doc.org/">Sphinx</a> 4.3.1.<br/>
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
</footer>
|
</footer>
|
||||||
|
@ -5,7 +5,7 @@
|
|||||||
<meta charset="utf-8" />
|
<meta charset="utf-8" />
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
|
||||||
|
|
||||||
<title>Installation — FitTrackee 0.5.0
|
<title>Installation — FitTrackee 0.5.1
|
||||||
documentation</title>
|
documentation</title>
|
||||||
<link rel="stylesheet" type="text/css" href="_static/pygments.css" />
|
<link rel="stylesheet" type="text/css" href="_static/pygments.css" />
|
||||||
<link rel="stylesheet" type="text/css" href="_static/bootstrap-sphinx.css" />
|
<link rel="stylesheet" type="text/css" href="_static/bootstrap-sphinx.css" />
|
||||||
@ -16,8 +16,8 @@
|
|||||||
<script src="_static/doctools.js"></script>
|
<script src="_static/doctools.js"></script>
|
||||||
<link rel="index" title="Index" href="genindex.html" />
|
<link rel="index" title="Index" href="genindex.html" />
|
||||||
<link rel="search" title="Search" href="search.html" />
|
<link rel="search" title="Search" href="search.html" />
|
||||||
<link rel="next" title="Features" href="features.html" />
|
<link rel="next" title="API documentation" href="api/index.html" />
|
||||||
<link rel="prev" title="FitTrackee" href="index.html" />
|
<link rel="prev" title="Features" href="features.html" />
|
||||||
<meta charset='utf-8'>
|
<meta charset='utf-8'>
|
||||||
<meta http-equiv='X-UA-Compatible' content='IE=edge,chrome=1'>
|
<meta http-equiv='X-UA-Compatible' content='IE=edge,chrome=1'>
|
||||||
<meta name='viewport' content='width=device-width, initial-scale=1.0, maximum-scale=1'>
|
<meta name='viewport' content='width=device-width, initial-scale=1.0, maximum-scale=1'>
|
||||||
@ -40,7 +40,7 @@
|
|||||||
</button>
|
</button>
|
||||||
<a class="navbar-brand" href="index.html">
|
<a class="navbar-brand" href="index.html">
|
||||||
FitTrackee</a>
|
FitTrackee</a>
|
||||||
<span class="navbar-text navbar-version pull-left"><b>0.5.0
|
<span class="navbar-text navbar-version pull-left"><b>0.5.1
|
||||||
</b></span>
|
</b></span>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@ -59,8 +59,8 @@
|
|||||||
<ul class="dropdown-menu globaltoc"
|
<ul class="dropdown-menu globaltoc"
|
||||||
role="menu"
|
role="menu"
|
||||||
aria-labelledby="dLabelGlobalToc"><ul class="current">
|
aria-labelledby="dLabelGlobalToc"><ul class="current">
|
||||||
<li class="toctree-l1 current"><a class="current reference internal" href="#">Installation</a></li>
|
|
||||||
<li class="toctree-l1"><a class="reference internal" href="features.html">Features</a></li>
|
<li class="toctree-l1"><a class="reference internal" href="features.html">Features</a></li>
|
||||||
|
<li class="toctree-l1 current"><a class="current reference internal" href="#">Installation</a></li>
|
||||||
<li class="toctree-l1"><a class="reference internal" href="api/index.html">API documentation</a></li>
|
<li class="toctree-l1"><a class="reference internal" href="api/index.html">API documentation</a></li>
|
||||||
<li class="toctree-l1"><a class="reference internal" href="troubleshooting/index.html">Troubleshooting</a></li>
|
<li class="toctree-l1"><a class="reference internal" href="troubleshooting/index.html">Troubleshooting</a></li>
|
||||||
<li class="toctree-l1"><a class="reference internal" href="changelog.html">Change log</a></li>
|
<li class="toctree-l1"><a class="reference internal" href="changelog.html">Change log</a></li>
|
||||||
@ -119,11 +119,11 @@
|
|||||||
|
|
||||||
|
|
||||||
<li>
|
<li>
|
||||||
<a href="index.html" title="Previous Chapter: FitTrackee"><span class="glyphicon glyphicon-chevron-left visible-sm"></span><span class="hidden-sm hidden-tablet">« FitTrackee</span>
|
<a href="features.html" title="Previous Chapter: Features"><span class="glyphicon glyphicon-chevron-left visible-sm"></span><span class="hidden-sm hidden-tablet">« Features</span>
|
||||||
</a>
|
</a>
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<a href="features.html" title="Next Chapter: Features"><span class="glyphicon glyphicon-chevron-right visible-sm"></span><span class="hidden-sm hidden-tablet">Features »</span>
|
<a href="api/index.html" title="Next Chapter: API documentation"><span class="glyphicon glyphicon-chevron-right visible-sm"></span><span class="hidden-sm hidden-tablet">API documentation »</span>
|
||||||
</a>
|
</a>
|
||||||
</li>
|
</li>
|
||||||
|
|
||||||
@ -944,7 +944,7 @@ and the password <code class="docutils literal notranslate"><span class="pre">mp
|
|||||||
</p>
|
</p>
|
||||||
<p>
|
<p>
|
||||||
© Copyright 2018 - 2021, SamR1.<br/>
|
© Copyright 2018 - 2021, SamR1.<br/>
|
||||||
Created using <a href="http://sphinx-doc.org/">Sphinx</a> 4.3.0.<br/>
|
Created using <a href="http://sphinx-doc.org/">Sphinx</a> 4.3.1.<br/>
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
</footer>
|
</footer>
|
||||||
|
BIN
docs/objects.inv
@ -4,7 +4,7 @@
|
|||||||
<head>
|
<head>
|
||||||
<meta charset="utf-8" />
|
<meta charset="utf-8" />
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||||
<title>Search — FitTrackee 0.5.0
|
<title>Search — FitTrackee 0.5.1
|
||||||
documentation</title>
|
documentation</title>
|
||||||
<link rel="stylesheet" type="text/css" href="_static/pygments.css" />
|
<link rel="stylesheet" type="text/css" href="_static/pygments.css" />
|
||||||
<link rel="stylesheet" type="text/css" href="_static/bootstrap-sphinx.css" />
|
<link rel="stylesheet" type="text/css" href="_static/bootstrap-sphinx.css" />
|
||||||
@ -43,7 +43,7 @@
|
|||||||
</button>
|
</button>
|
||||||
<a class="navbar-brand" href="index.html">
|
<a class="navbar-brand" href="index.html">
|
||||||
FitTrackee</a>
|
FitTrackee</a>
|
||||||
<span class="navbar-text navbar-version pull-left"><b>0.5.0
|
<span class="navbar-text navbar-version pull-left"><b>0.5.1
|
||||||
</b></span>
|
</b></span>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@ -62,8 +62,8 @@
|
|||||||
<ul class="dropdown-menu globaltoc"
|
<ul class="dropdown-menu globaltoc"
|
||||||
role="menu"
|
role="menu"
|
||||||
aria-labelledby="dLabelGlobalToc"><ul>
|
aria-labelledby="dLabelGlobalToc"><ul>
|
||||||
<li class="toctree-l1"><a class="reference internal" href="installation.html">Installation</a></li>
|
|
||||||
<li class="toctree-l1"><a class="reference internal" href="features.html">Features</a></li>
|
<li class="toctree-l1"><a class="reference internal" href="features.html">Features</a></li>
|
||||||
|
<li class="toctree-l1"><a class="reference internal" href="installation.html">Installation</a></li>
|
||||||
<li class="toctree-l1"><a class="reference internal" href="api/index.html">API documentation</a></li>
|
<li class="toctree-l1"><a class="reference internal" href="api/index.html">API documentation</a></li>
|
||||||
<li class="toctree-l1"><a class="reference internal" href="troubleshooting/index.html">Troubleshooting</a></li>
|
<li class="toctree-l1"><a class="reference internal" href="troubleshooting/index.html">Troubleshooting</a></li>
|
||||||
<li class="toctree-l1"><a class="reference internal" href="changelog.html">Change log</a></li>
|
<li class="toctree-l1"><a class="reference internal" href="changelog.html">Change log</a></li>
|
||||||
@ -148,7 +148,7 @@
|
|||||||
</p>
|
</p>
|
||||||
<p>
|
<p>
|
||||||
© Copyright 2018 - 2021, SamR1.<br/>
|
© Copyright 2018 - 2021, SamR1.<br/>
|
||||||
Created using <a href="http://sphinx-doc.org/">Sphinx</a> 4.3.0.<br/>
|
Created using <a href="http://sphinx-doc.org/">Sphinx</a> 4.3.1.<br/>
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
</footer>
|
</footer>
|
||||||
|
@ -5,7 +5,7 @@
|
|||||||
<meta charset="utf-8" />
|
<meta charset="utf-8" />
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
|
||||||
|
|
||||||
<title>Administrator — FitTrackee 0.5.0
|
<title>Administrator — FitTrackee 0.5.1
|
||||||
documentation</title>
|
documentation</title>
|
||||||
<link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
|
<link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
|
||||||
<link rel="stylesheet" type="text/css" href="../_static/bootstrap-sphinx.css" />
|
<link rel="stylesheet" type="text/css" href="../_static/bootstrap-sphinx.css" />
|
||||||
@ -40,7 +40,7 @@
|
|||||||
</button>
|
</button>
|
||||||
<a class="navbar-brand" href="../index.html">
|
<a class="navbar-brand" href="../index.html">
|
||||||
FitTrackee</a>
|
FitTrackee</a>
|
||||||
<span class="navbar-text navbar-version pull-left"><b>0.5.0
|
<span class="navbar-text navbar-version pull-left"><b>0.5.1
|
||||||
</b></span>
|
</b></span>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@ -59,8 +59,8 @@
|
|||||||
<ul class="dropdown-menu globaltoc"
|
<ul class="dropdown-menu globaltoc"
|
||||||
role="menu"
|
role="menu"
|
||||||
aria-labelledby="dLabelGlobalToc"><ul class="current">
|
aria-labelledby="dLabelGlobalToc"><ul class="current">
|
||||||
<li class="toctree-l1"><a class="reference internal" href="../installation.html">Installation</a></li>
|
|
||||||
<li class="toctree-l1"><a class="reference internal" href="../features.html">Features</a></li>
|
<li class="toctree-l1"><a class="reference internal" href="../features.html">Features</a></li>
|
||||||
|
<li class="toctree-l1"><a class="reference internal" href="../installation.html">Installation</a></li>
|
||||||
<li class="toctree-l1"><a class="reference internal" href="../api/index.html">API documentation</a></li>
|
<li class="toctree-l1"><a class="reference internal" href="../api/index.html">API documentation</a></li>
|
||||||
<li class="toctree-l1 current"><a class="reference internal" href="index.html">Troubleshooting</a></li>
|
<li class="toctree-l1 current"><a class="reference internal" href="index.html">Troubleshooting</a></li>
|
||||||
<li class="toctree-l1"><a class="reference internal" href="../changelog.html">Change log</a></li>
|
<li class="toctree-l1"><a class="reference internal" href="../changelog.html">Change log</a></li>
|
||||||
@ -155,7 +155,7 @@
|
|||||||
</p>
|
</p>
|
||||||
<p>
|
<p>
|
||||||
© Copyright 2018 - 2021, SamR1.<br/>
|
© Copyright 2018 - 2021, SamR1.<br/>
|
||||||
Created using <a href="http://sphinx-doc.org/">Sphinx</a> 4.3.0.<br/>
|
Created using <a href="http://sphinx-doc.org/">Sphinx</a> 4.3.1.<br/>
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
</footer>
|
</footer>
|
||||||
|
@ -5,7 +5,7 @@
|
|||||||
<meta charset="utf-8" />
|
<meta charset="utf-8" />
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
|
||||||
|
|
||||||
<title>Troubleshooting — FitTrackee 0.5.0
|
<title>Troubleshooting — FitTrackee 0.5.1
|
||||||
documentation</title>
|
documentation</title>
|
||||||
<link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
|
<link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
|
||||||
<link rel="stylesheet" type="text/css" href="../_static/bootstrap-sphinx.css" />
|
<link rel="stylesheet" type="text/css" href="../_static/bootstrap-sphinx.css" />
|
||||||
@ -40,7 +40,7 @@
|
|||||||
</button>
|
</button>
|
||||||
<a class="navbar-brand" href="../index.html">
|
<a class="navbar-brand" href="../index.html">
|
||||||
FitTrackee</a>
|
FitTrackee</a>
|
||||||
<span class="navbar-text navbar-version pull-left"><b>0.5.0
|
<span class="navbar-text navbar-version pull-left"><b>0.5.1
|
||||||
</b></span>
|
</b></span>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@ -59,8 +59,8 @@
|
|||||||
<ul class="dropdown-menu globaltoc"
|
<ul class="dropdown-menu globaltoc"
|
||||||
role="menu"
|
role="menu"
|
||||||
aria-labelledby="dLabelGlobalToc"><ul class="current">
|
aria-labelledby="dLabelGlobalToc"><ul class="current">
|
||||||
<li class="toctree-l1"><a class="reference internal" href="../installation.html">Installation</a></li>
|
|
||||||
<li class="toctree-l1"><a class="reference internal" href="../features.html">Features</a></li>
|
<li class="toctree-l1"><a class="reference internal" href="../features.html">Features</a></li>
|
||||||
|
<li class="toctree-l1"><a class="reference internal" href="../installation.html">Installation</a></li>
|
||||||
<li class="toctree-l1"><a class="reference internal" href="../api/index.html">API documentation</a></li>
|
<li class="toctree-l1"><a class="reference internal" href="../api/index.html">API documentation</a></li>
|
||||||
<li class="toctree-l1 current"><a class="current reference internal" href="#">Troubleshooting</a></li>
|
<li class="toctree-l1 current"><a class="current reference internal" href="#">Troubleshooting</a></li>
|
||||||
<li class="toctree-l1"><a class="reference internal" href="../changelog.html">Change log</a></li>
|
<li class="toctree-l1"><a class="reference internal" href="../changelog.html">Change log</a></li>
|
||||||
@ -152,7 +152,7 @@
|
|||||||
</p>
|
</p>
|
||||||
<p>
|
<p>
|
||||||
© Copyright 2018 - 2021, SamR1.<br/>
|
© Copyright 2018 - 2021, SamR1.<br/>
|
||||||
Created using <a href="http://sphinx-doc.org/">Sphinx</a> 4.3.0.<br/>
|
Created using <a href="http://sphinx-doc.org/">Sphinx</a> 4.3.1.<br/>
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
</footer>
|
</footer>
|
||||||
|
@ -5,7 +5,7 @@
|
|||||||
<meta charset="utf-8" />
|
<meta charset="utf-8" />
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
|
||||||
|
|
||||||
<title>User — FitTrackee 0.5.0
|
<title>User — FitTrackee 0.5.1
|
||||||
documentation</title>
|
documentation</title>
|
||||||
<link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
|
<link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
|
||||||
<link rel="stylesheet" type="text/css" href="../_static/bootstrap-sphinx.css" />
|
<link rel="stylesheet" type="text/css" href="../_static/bootstrap-sphinx.css" />
|
||||||
@ -40,7 +40,7 @@
|
|||||||
</button>
|
</button>
|
||||||
<a class="navbar-brand" href="../index.html">
|
<a class="navbar-brand" href="../index.html">
|
||||||
FitTrackee</a>
|
FitTrackee</a>
|
||||||
<span class="navbar-text navbar-version pull-left"><b>0.5.0
|
<span class="navbar-text navbar-version pull-left"><b>0.5.1
|
||||||
</b></span>
|
</b></span>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@ -59,8 +59,8 @@
|
|||||||
<ul class="dropdown-menu globaltoc"
|
<ul class="dropdown-menu globaltoc"
|
||||||
role="menu"
|
role="menu"
|
||||||
aria-labelledby="dLabelGlobalToc"><ul class="current">
|
aria-labelledby="dLabelGlobalToc"><ul class="current">
|
||||||
<li class="toctree-l1"><a class="reference internal" href="../installation.html">Installation</a></li>
|
|
||||||
<li class="toctree-l1"><a class="reference internal" href="../features.html">Features</a></li>
|
<li class="toctree-l1"><a class="reference internal" href="../features.html">Features</a></li>
|
||||||
|
<li class="toctree-l1"><a class="reference internal" href="../installation.html">Installation</a></li>
|
||||||
<li class="toctree-l1"><a class="reference internal" href="../api/index.html">API documentation</a></li>
|
<li class="toctree-l1"><a class="reference internal" href="../api/index.html">API documentation</a></li>
|
||||||
<li class="toctree-l1 current"><a class="reference internal" href="index.html">Troubleshooting</a></li>
|
<li class="toctree-l1 current"><a class="reference internal" href="index.html">Troubleshooting</a></li>
|
||||||
<li class="toctree-l1"><a class="reference internal" href="../changelog.html">Change log</a></li>
|
<li class="toctree-l1"><a class="reference internal" href="../changelog.html">Change log</a></li>
|
||||||
@ -143,7 +143,7 @@
|
|||||||
</p>
|
</p>
|
||||||
<p>
|
<p>
|
||||||
© Copyright 2018 - 2021, SamR1.<br/>
|
© Copyright 2018 - 2021, SamR1.<br/>
|
||||||
Created using <a href="http://sphinx-doc.org/">Sphinx</a> 4.3.0.<br/>
|
Created using <a href="http://sphinx-doc.org/">Sphinx</a> 4.3.1.<br/>
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
</footer>
|
</footer>
|
||||||
|
Before Width: | Height: | Size: 535 KiB After Width: | Height: | Size: 536 KiB |
Before Width: | Height: | Size: 367 KiB After Width: | Height: | Size: 353 KiB |
Before Width: | Height: | Size: 201 KiB After Width: | Height: | Size: 201 KiB |
Before Width: | Height: | Size: 68 KiB After Width: | Height: | Size: 69 KiB |
Before Width: | Height: | Size: 71 KiB After Width: | Height: | Size: 71 KiB |
Before Width: | Height: | Size: 100 KiB After Width: | Height: | Size: 100 KiB |
@ -11,6 +11,7 @@ Workouts
|
|||||||
workouts.get_segment_gpx,
|
workouts.get_segment_gpx,
|
||||||
workouts.get_map,
|
workouts.get_map,
|
||||||
workouts.get_map_tile,
|
workouts.get_map_tile,
|
||||||
|
workouts.download_workout_gpx,
|
||||||
workouts.post_workout,
|
workouts.post_workout,
|
||||||
workouts.post_workout_no_gpx,
|
workouts.post_workout_no_gpx,
|
||||||
workouts.update_workout,
|
workouts.update_workout,
|
||||||
|
@ -75,8 +75,15 @@ Workouts
|
|||||||
- Dashboard with month calendar displaying workouts and record. The week can start on Sunday or Monday (which can be changed in the user preferences). The calendar displays up to 100 workouts.
|
- Dashboard with month calendar displaying workouts and record. The week can start on Sunday or Monday (which can be changed in the user preferences). The calendar displays up to 100 workouts.
|
||||||
- Workout creation by uploading a gpx file (related data are stored in database with metric system). A workout can even be created without gpx (the user must enter date, time, duration and distance).
|
- Workout creation by uploading a gpx file (related data are stored in database with metric system). A workout can even be created without gpx (the user must enter date, time, duration and distance).
|
||||||
- A workout with a gpx file can be displayed with map, weather (if the DarkSky API key is provided) and charts (speed and elevation). Segments can be displayed.
|
- A workout with a gpx file can be displayed with map, weather (if the DarkSky API key is provided) and charts (speed and elevation). Segments can be displayed.
|
||||||
|
- Workout gpx file can be downloaded (**new in 0.5.1**)
|
||||||
- Workout edition and deletion. User can add a note.
|
- Workout edition and deletion. User can add a note.
|
||||||
- User statistics
|
- User statistics, by time period (week, month, year) and sport:
|
||||||
|
- total distance
|
||||||
|
- total duration
|
||||||
|
- total workouts
|
||||||
|
- total ascent (**new in 0.5.0**)
|
||||||
|
- total descent (**new in 0.5.0**)
|
||||||
|
- average speed (**new in 0.5.1**)
|
||||||
- User records by sports:
|
- User records by sports:
|
||||||
- average speed
|
- average speed
|
||||||
- farest distance
|
- farest distance
|
||||||
|
@ -32,8 +32,8 @@ Table of contents
|
|||||||
.. toctree::
|
.. toctree::
|
||||||
:maxdepth: 2
|
:maxdepth: 2
|
||||||
|
|
||||||
installation
|
|
||||||
features
|
features
|
||||||
|
installation
|
||||||
api/index
|
api/index
|
||||||
troubleshooting/index
|
troubleshooting/index
|
||||||
changelog
|
changelog
|
||||||
|
@ -11,7 +11,7 @@ from flask_sqlalchemy import SQLAlchemy
|
|||||||
|
|
||||||
from fittrackee.emails.email import Email
|
from fittrackee.emails.email import Email
|
||||||
|
|
||||||
VERSION = __version__ = '0.5.0'
|
VERSION = __version__ = '0.5.1'
|
||||||
db = SQLAlchemy()
|
db = SQLAlchemy()
|
||||||
bcrypt = Bcrypt()
|
bcrypt = Bcrypt()
|
||||||
migrate = Migrate()
|
migrate = Migrate()
|
||||||
|
@ -44,7 +44,7 @@ def get_application_config() -> Union[Dict, HttpResponse]:
|
|||||||
"max_zip_file_size": 10485760,
|
"max_zip_file_size": 10485760,
|
||||||
"max_users": 0,
|
"max_users": 0,
|
||||||
"map_attribution": "© <a href=http://www.openstreetmap.org/copyright>OpenStreetMap</a> contributors"
|
"map_attribution": "© <a href=http://www.openstreetmap.org/copyright>OpenStreetMap</a> contributors"
|
||||||
"version": "0.5.0"
|
"version": "0.5.1"
|
||||||
},
|
},
|
||||||
"status": "success"
|
"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><link href="/static/css/admin.babfd43e.css" rel="prefetch"><link href="/static/css/main.7f7a365e.css" rel="prefetch"><link href="/static/css/main~workouts.0edb3403.css" rel="prefetch"><link href="/static/css/profile.05400f70.css" rel="prefetch"><link href="/static/css/reset.46776e72.css" rel="prefetch"><link href="/static/css/workouts.84cbed34.css" rel="prefetch"><link href="/static/js/admin.2f1d393d.js" rel="prefetch"><link href="/static/js/chunk-2d0c9189.c81458cc.js" rel="prefetch"><link href="/static/js/chunk-2d0cf391.020c75ea.js" rel="prefetch"><link href="/static/js/chunk-2d0da8f3.c8c3e7e8.js" rel="prefetch"><link href="/static/js/chunk-2d2248b6.d84473c1.js" rel="prefetch"><link href="/static/js/chunk-2d22523a.4b710d99.js" rel="prefetch"><link href="/static/js/main.aa7fcffc.js" rel="prefetch"><link href="/static/js/main~workouts.6afa0411.js" rel="prefetch"><link href="/static/js/profile.62578012.js" rel="prefetch"><link href="/static/js/reset.518e646f.js" rel="prefetch"><link href="/static/js/workouts.ca9449b1.js" rel="prefetch"><link href="/static/css/app.2b8c39ab.css" rel="preload" as="style"><link href="/static/js/app.6471a147.js" rel="preload" as="script"><link href="/static/js/chunk-vendors.caa4fc1c.js" rel="preload" as="script"><link href="/static/css/app.2b8c39ab.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><script src="/static/js/chunk-vendors.caa4fc1c.js"></script><script src="/static/js/app.6471a147.js"></script></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><link href="/static/css/admin.e77f8b26.css" rel="prefetch"><link href="/static/css/profile.8b668068.css" rel="prefetch"><link href="/static/css/reset.fc19709e.css" rel="prefetch"><link href="/static/css/statistics.2afdc8a9.css" rel="prefetch"><link href="/static/css/workouts.5ffd5cc1.css" rel="prefetch"><link href="/static/js/admin.5f46d0fe.js" rel="prefetch"><link href="/static/js/chunk-2d0c9189.c81458cc.js" rel="prefetch"><link href="/static/js/chunk-2d0cf391.020c75ea.js" rel="prefetch"><link href="/static/js/chunk-2d0da8f3.c8c3e7e8.js" rel="prefetch"><link href="/static/js/chunk-2d2248b6.d84473c1.js" rel="prefetch"><link href="/static/js/chunk-2d22523a.4b710d99.js" rel="prefetch"><link href="/static/js/profile.d25975e2.js" rel="prefetch"><link href="/static/js/reset.ca898ebe.js" rel="prefetch"><link href="/static/js/statistics.d03ca304.js" rel="prefetch"><link href="/static/js/workouts.ad3402f3.js" rel="prefetch"><link href="/static/css/app.c2c4db70.css" rel="preload" as="style"><link href="/static/js/app.be515752.js" rel="preload" as="script"><link href="/static/js/chunk-vendors.d6c4f7de.js" rel="preload" as="script"><link href="/static/css/app.c2c4db70.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><script src="/static/js/chunk-vendors.d6c4f7de.js"></script><script src="/static/js/app.be515752.js"></script></body></html>
|
@ -64,7 +64,7 @@ self.__precacheManifest = (self.__precacheManifest || []).concat([
|
|||||||
"url": "/img/workouts/mountains.svg"
|
"url": "/img/workouts/mountains.svg"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"revision": "f34e801fbe4c2fd5b262da59fa3396f2",
|
"revision": "33a95b48f126239891c717230e24d541",
|
||||||
"url": "/index.html"
|
"url": "/index.html"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@ -76,12 +76,12 @@ self.__precacheManifest = (self.__precacheManifest || []).concat([
|
|||||||
"url": "/robots.txt"
|
"url": "/robots.txt"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"revision": "33002d1c4452ecd02e50",
|
"revision": "8f4c00514b231a913495",
|
||||||
"url": "/static/css/admin.babfd43e.css"
|
"url": "/static/css/admin.e77f8b26.css"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"revision": "34b8f17a1f53ad3f88b0",
|
"revision": "ee0ec8715f39d6fc0c2f",
|
||||||
"url": "/static/css/app.2b8c39ab.css"
|
"url": "/static/css/app.c2c4db70.css"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"revision": "82c1118c918377daaa71a320ab8eea42",
|
"revision": "82c1118c918377daaa71a320ab8eea42",
|
||||||
@ -92,24 +92,20 @@ self.__precacheManifest = (self.__precacheManifest || []).concat([
|
|||||||
"url": "/static/css/leaflet.css"
|
"url": "/static/css/leaflet.css"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"revision": "1832b6aed4a370727f35",
|
"revision": "00382d944a1bc6fca08b",
|
||||||
"url": "/static/css/main.7f7a365e.css"
|
"url": "/static/css/profile.8b668068.css"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"revision": "ac1280c03a31a5894834",
|
"revision": "ed921b9e1d1e590ca0ec",
|
||||||
"url": "/static/css/main~workouts.0edb3403.css"
|
"url": "/static/css/reset.fc19709e.css"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"revision": "058a877bc4b9cbf8929f",
|
"revision": "d772b2a24985f6471afd",
|
||||||
"url": "/static/css/profile.05400f70.css"
|
"url": "/static/css/statistics.2afdc8a9.css"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"revision": "8635e7636aa413afd289",
|
"revision": "164e46d16f7d58980b74",
|
||||||
"url": "/static/css/reset.46776e72.css"
|
"url": "/static/css/workouts.5ffd5cc1.css"
|
||||||
},
|
|
||||||
{
|
|
||||||
"revision": "03d9a79c5f845c47ef9c",
|
|
||||||
"url": "/static/css/workouts.84cbed34.css"
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"revision": "e719f9244c69e28e7d00e725ca1e280e",
|
"revision": "e719f9244c69e28e7d00e725ca1e280e",
|
||||||
@ -192,12 +188,12 @@ self.__precacheManifest = (self.__precacheManifest || []).concat([
|
|||||||
"url": "/static/img/pt-sans-v9-latin-regular.f1f73e45.svg"
|
"url": "/static/img/pt-sans-v9-latin-regular.f1f73e45.svg"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"revision": "33002d1c4452ecd02e50",
|
"revision": "8f4c00514b231a913495",
|
||||||
"url": "/static/js/admin.2f1d393d.js"
|
"url": "/static/js/admin.5f46d0fe.js"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"revision": "34b8f17a1f53ad3f88b0",
|
"revision": "ee0ec8715f39d6fc0c2f",
|
||||||
"url": "/static/js/app.6471a147.js"
|
"url": "/static/js/app.be515752.js"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"revision": "bd7d183c9f68e5f4027d",
|
"revision": "bd7d183c9f68e5f4027d",
|
||||||
@ -220,27 +216,23 @@ self.__precacheManifest = (self.__precacheManifest || []).concat([
|
|||||||
"url": "/static/js/chunk-2d22523a.4b710d99.js"
|
"url": "/static/js/chunk-2d22523a.4b710d99.js"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"revision": "c04fcf32d84e5ec5cb38",
|
"revision": "bfd9828f544921bd8a32",
|
||||||
"url": "/static/js/chunk-vendors.caa4fc1c.js"
|
"url": "/static/js/chunk-vendors.d6c4f7de.js"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"revision": "1832b6aed4a370727f35",
|
"revision": "00382d944a1bc6fca08b",
|
||||||
"url": "/static/js/main.aa7fcffc.js"
|
"url": "/static/js/profile.d25975e2.js"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"revision": "ac1280c03a31a5894834",
|
"revision": "ed921b9e1d1e590ca0ec",
|
||||||
"url": "/static/js/main~workouts.6afa0411.js"
|
"url": "/static/js/reset.ca898ebe.js"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"revision": "058a877bc4b9cbf8929f",
|
"revision": "d772b2a24985f6471afd",
|
||||||
"url": "/static/js/profile.62578012.js"
|
"url": "/static/js/statistics.d03ca304.js"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"revision": "8635e7636aa413afd289",
|
"revision": "164e46d16f7d58980b74",
|
||||||
"url": "/static/js/reset.518e646f.js"
|
"url": "/static/js/workouts.ad3402f3.js"
|
||||||
},
|
|
||||||
{
|
|
||||||
"revision": "03d9a79c5f845c47ef9c",
|
|
||||||
"url": "/static/js/workouts.ca9449b1.js"
|
|
||||||
}
|
}
|
||||||
]);
|
]);
|
2
fittrackee/dist/service-worker.js
vendored
@ -14,7 +14,7 @@
|
|||||||
importScripts("https://storage.googleapis.com/workbox-cdn/releases/4.3.1/workbox-sw.js");
|
importScripts("https://storage.googleapis.com/workbox-cdn/releases/4.3.1/workbox-sw.js");
|
||||||
|
|
||||||
importScripts(
|
importScripts(
|
||||||
"/precache-manifest.b2fffe2480dec51855b1b6caf598a8e0.js"
|
"/precache-manifest.075bb045c70c2ae156d071ec25ebc386.js"
|
||||||
);
|
);
|
||||||
|
|
||||||
workbox.core.setCacheNameDetails({prefix: "fittrackee_client"});
|
workbox.core.setCacheNameDetails({prefix: "fittrackee_client"});
|
||||||
|
1
fittrackee/dist/static/css/admin.e77f8b26.css
vendored
Normal file
@ -0,0 +1 @@
|
|||||||
|
#admin .admin-card[data-v-64629971]{width:100%}#admin .admin-card[data-v-64629971] .card .admin-form{display:flex;flex-direction:column}#admin .admin-card[data-v-64629971] .card .admin-form label{display:flex;align-items:center;justify-content:space-between;margin:10px 0;flex-wrap:wrap}#admin .admin-card[data-v-64629971] .card .admin-form label input{width:50%;font-size:.9em;margin-right:50px}@media screen and (max-width:1000px){#admin .admin-card[data-v-64629971] .card .admin-form label input{margin-right:0}}@media screen and (max-width:700px){#admin .admin-card[data-v-64629971] .card .admin-form label input{width:100%}}#admin .admin-card[data-v-64629971] .card .admin-form label input:disabled{-webkit-appearance:none;-moz-appearance:textfield;background-color:#fff;border-color:#fff;color:var(--app-color)}#admin .admin-card[data-v-64629971] .card .admin-form .form-buttons{display:flex;gap:10px;margin-bottom:10px}
|
1
fittrackee/dist/static/css/app.2b8c39ab.css
vendored
1
fittrackee/dist/static/css/app.c2c4db70.css
vendored
Normal file
1
fittrackee/dist/static/css/main.7f7a365e.css
vendored
1
fittrackee/dist/static/css/profile.8b668068.css
vendored
Normal file
@ -0,0 +1 @@
|
|||||||
|
#profile[data-v-163d82f7],#profile[data-v-163d82f7] .profile-form{display:flex;flex-direction:column}#profile[data-v-163d82f7] .profile-form hr{border-color:var(--card-border-color);border-width:1px 0 0 0}#profile[data-v-163d82f7] .profile-form .form-items{display:flex;flex-direction:column}#profile[data-v-163d82f7] .profile-form .form-items input{margin:5px 0}#profile[data-v-163d82f7] .profile-form .form-items select{height:35px;padding:5px 0}#profile[data-v-163d82f7] .profile-form .form-items ::v-deep(.custom-textarea) textarea{padding:5px}#profile[data-v-163d82f7] .profile-form .form-items .form-item{display:flex;flex-direction:column;padding:10px}#profile[data-v-163d82f7] .profile-form .form-items .birth-date{height:20px}#profile[data-v-163d82f7] .profile-form .form-buttons{display:flex;margin-top:10px;padding:10px 0;gap:10px}#user[data-v-10e7b479]{margin:auto;width:700px}@media screen and (max-width:1000px){#user[data-v-10e7b479]{width:100%;margin:0 auto 50px auto}}
|
1
fittrackee/dist/static/css/reset.fc19709e.css
vendored
Normal file
@ -0,0 +1 @@
|
|||||||
|
#password-action-done[data-v-18334f6d]{display:flex;flex-direction:column;align-items:center}#password-action-done svg[data-v-18334f6d]{stroke:none;fill-rule:nonzero;fill:var(--app-color);filter:var(--svg-filter);width:100px}#password-action-done .password-message[data-v-18334f6d]{font-size:1.1em;text-align:center}@media screen and (max-width:1000px){#password-action-done .password-message[data-v-18334f6d]{font-size:1em}}#password-reset-request[data-v-68377e44] .card .card-content #user-form{width:100%}#password-reset[data-v-f5e39b60]{display:flex}#password-reset .container[data-v-f5e39b60]{display:flex;justify-content:center;width:50%}@media screen and (max-width:700px){#password-reset .container[data-v-f5e39b60]{width:100%;margin:0 auto 50px auto}}
|
1
fittrackee/dist/static/css/statistics.2afdc8a9.css
vendored
Normal file
@ -0,0 +1 @@
|
|||||||
|
.chart-menu[data-v-af15954c]{display:flex}.chart-menu .chart-arrow[data-v-af15954c],.chart-menu .time-frames[data-v-af15954c]{flex-grow:1;text-align:center}.chart-menu .chart-arrow[data-v-af15954c]{cursor:pointer}.sports-menu{display:flex;flex-wrap:wrap;padding:10px}.sports-menu label{display:flex;align-items:center;font-size:.9em;font-weight:400;min-width:120px;padding:10px}@media screen and (max-width:1000px){.sports-menu label{min-width:100px}}@media screen and (max-width:500px){.sports-menu label{min-width:20px}.sports-menu label .sport-label{display:none}}.sports-menu .sport-img{padding:3px;width:20px;height:20px}#user-statistics.stats-disabled[data-v-7d54529b]{opacity:.3;pointer-events:none}#user-statistics[data-v-7d54529b] .chart-radio{justify-content:space-around;padding:30px 10px 10px 10px}#statistics[data-v-0d93da6e]{display:flex;width:100%}#statistics .container[data-v-0d93da6e]{display:flex;flex-direction:column;width:100%}
|
1
fittrackee/dist/static/css/workouts.5ffd5cc1.css
vendored
Normal file
2
fittrackee/dist/static/js/admin.2f1d393d.js
vendored
@ -1,2 +0,0 @@
|
|||||||
(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["admin"],{3409:function(e,t,n){"use strict";n("ca8b")},"4d13":function(e,t,n){"use strict";n("4fbb")},"4fbb":function(e,t,n){},"89b3":function(e,t,n){"use strict";n.r(t);var c=n("7a23"),o=n("f7f9"),r=n("dad5"),u=n("2906"),a=function(e){return Object(c["pushScopeId"])("data-v-21f8956c"),e=e(),Object(c["popScopeId"])(),e},b={id:"admin",class:"view"},i={key:0,class:"container"},s=a((function(){return Object(c["createElementVNode"])("div",{id:"bottom"},null,-1)})),O=Object(c["defineComponent"])({setup:function(e){var t=Object(u["a"])(),n=Object(c["computed"])((function(){return t.getters[r["b"].GETTERS.APP_CONFIG]})),a=Object(c["computed"])((function(){return t.getters[r["b"].GETTERS.APP_STATS]})),O=Object(c["computed"])((function(){return t.getters[r["a"].GETTERS.IS_ADMIN]})),l=Object(c["computed"])((function(){return t.getters[r["a"].GETTERS.USER_LOADING]}));return Object(c["onBeforeMount"])((function(){return t.dispatch(r["b"].ACTIONS.GET_APPLICATION_STATS)})),function(e,t){var r=Object(c["resolveComponent"])("router-view");return Object(c["openBlock"])(),Object(c["createElementBlock"])("div",b,[Object(c["unref"])(l)?Object(c["createCommentVNode"])("",!0):(Object(c["openBlock"])(),Object(c["createElementBlock"])("div",i,[Object(c["unref"])(O)?(Object(c["openBlock"])(),Object(c["createBlock"])(r,{key:0,appConfig:Object(c["unref"])(n),appStatistics:Object(c["unref"])(a)},null,8,["appConfig","appStatistics"])):(Object(c["openBlock"])(),Object(c["createBlock"])(o["a"],{key:1})),s]))])}}}),l=(n("4d13"),n("6b0d")),p=n.n(l);const f=p()(O,[["__scopeId","data-v-21f8956c"]]);t["default"]=f},ca8b:function(e,t,n){},f7f9:function(e,t,n){"use strict";var c=n("7a23"),o={id:"error"},r={class:"error-content"},u=Object(c["defineComponent"])({props:{title:null,message:null,buttonText:null,path:{default:"/"}},setup:function(e){var t=e,n=Object(c["toRefs"])(t),u=n.buttonText,a=n.title,b=n.message,i=n.path;return function(e,t){return Object(c["openBlock"])(),Object(c["createElementBlock"])("div",o,[Object(c["createElementVNode"])("div",r,[Object(c["createElementVNode"])("h1",null,Object(c["toDisplayString"])(Object(c["unref"])(a)),1),Object(c["createElementVNode"])("p",null,Object(c["toDisplayString"])(Object(c["unref"])(b)),1),Object(c["unref"])(u)?(Object(c["openBlock"])(),Object(c["createElementBlock"])("button",{key:0,onClick:t[0]||(t[0]=function(t){return e.$router.push(Object(c["unref"])(i))}),class:"upper"},Object(c["toDisplayString"])(Object(c["unref"])(u)),1)):Object(c["createCommentVNode"])("",!0)])])}}}),a=(n("3409"),n("6b0d")),b=n.n(a);const i=b()(u,[["__scopeId","data-v-79ec50fd"]]);var s=i,O=Object(c["defineComponent"])({props:{target:{default:"PAGE"}},setup:function(e){var t=e,n=Object(c["toRefs"])(t),o=n.target;return function(e,t){return Object(c["openBlock"])(),Object(c["createBlock"])(s,{title:"404",message:e.$t("error.NOT_FOUND.".concat(Object(c["unref"])(o))),"button-text":e.$t("common.HOME")},null,8,["message","button-text"])}}});const l=O;t["a"]=l}}]);
|
|
||||||
//# sourceMappingURL=admin.2f1d393d.js.map
|
|
2
fittrackee/dist/static/js/admin.5f46d0fe.js
vendored
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["admin"],{"102a":function(e,t,c){},"89b3":function(e,t,c){"use strict";c.r(t);var n=c("7a23"),o=c("f7f9"),r=c("dad5"),u=c("2906"),a=function(e){return Object(n["pushScopeId"])("data-v-64629971"),e=e(),Object(n["popScopeId"])(),e},i={id:"admin",class:"view"},b={key:0,class:"container"},p=a((function(){return Object(n["createElementVNode"])("div",{id:"bottom"},null,-1)})),O=Object(n["defineComponent"])({setup:function(e){var t=Object(u["a"])(),c=Object(n["computed"])((function(){return t.getters[r["b"].GETTERS.APP_CONFIG]})),a=Object(n["computed"])((function(){return t.getters[r["b"].GETTERS.APP_STATS]})),O=Object(n["computed"])((function(){return t.getters[r["a"].GETTERS.IS_ADMIN]})),d=Object(n["computed"])((function(){return t.getters[r["a"].GETTERS.USER_LOADING]}));return Object(n["onBeforeMount"])((function(){return t.dispatch(r["b"].ACTIONS.GET_APPLICATION_STATS)})),function(e,t){var r=Object(n["resolveComponent"])("router-view");return Object(n["openBlock"])(),Object(n["createElementBlock"])("div",i,[Object(n["unref"])(d)?Object(n["createCommentVNode"])("",!0):(Object(n["openBlock"])(),Object(n["createElementBlock"])("div",b,[Object(n["unref"])(O)?(Object(n["openBlock"])(),Object(n["createBlock"])(r,{key:0,appConfig:Object(n["unref"])(c),appStatistics:Object(n["unref"])(a)},null,8,["appConfig","appStatistics"])):(Object(n["openBlock"])(),Object(n["createBlock"])(o["a"],{key:1})),p]))])}}}),d=(c("f371"),c("6b0d")),f=c.n(d);const s=f()(O,[["__scopeId","data-v-64629971"]]);t["default"]=s},f371:function(e,t,c){"use strict";c("102a")}}]);
|
||||||
|
//# sourceMappingURL=admin.5f46d0fe.js.map
|
1
fittrackee/dist/static/js/admin.5f46d0fe.js.map
vendored
Normal file
@ -0,0 +1 @@
|
|||||||
|
{"version":3,"sources":["webpack:///./src/views/AdminView.vue","webpack:///./src/views/AdminView.vue?405d","webpack:///./src/views/AdminView.vue?5848"],"names":["n","_hoisted_1","id","class","_hoisted_2","key","_hoisted_3","setup","__props","store","useStore","appConfig","getters","GETTERS","APP_CONFIG","appStatistics","APP_STATS","isAuthUserAmin","IS_ADMIN","userLoading","USER_LOADING","dispatch","ACTIONS","GET_APPLICATION_STATS","_ctx","_cache","_component_router_view","NotFound","__exports__"],"mappings":"6LAGM,EAAe,SAAAA,GAAC,OAAK,yBAAa,mBAAmBA,EAAEA,IAAI,0BAAcA,GACzEC,EAAa,CACjBC,GAAI,QACJC,MAAO,QAEHC,EAAa,CACjBC,IAAK,EACLF,MAAO,aAEHG,EAA2B,GAAa,kBAAmB,gCAAoB,MAAO,CAAEJ,GAAI,UAAY,MAAO,MAUzF,+BAAiB,CAC3CK,MAD2C,SACrCC,GAEN,IAAMC,EAAQ,OAAAC,EAAA,QAERC,EAAqC,uBACzC,kBAAMF,EAAMG,QAAQ,OAAWC,QAAQC,eAEnCC,EAA6C,uBACjD,kBAAMN,EAAMG,QAAQ,OAAWC,QAAQG,cAEnCC,EAAuC,uBAC3C,kBAAMR,EAAMG,QAAQ,OAAgBC,QAAQK,aAExCC,EAAoC,uBACxC,kBAAMV,EAAMG,QAAQ,OAAgBC,QAAQO,iBAKhD,OAFE,4BAAc,kBAAMX,EAAMY,SAAS,OAAWC,QAAQC,0BAEjD,SAACC,EAAUC,GAChB,IAAMC,EAAyB,8BAAkB,eAEjD,OAAQ,yBAAc,gCAAoB,MAAOzB,EAAY,CACzD,mBAAOkB,GAWL,gCAAoB,IAAI,IAVvB,yBAAc,gCAAoB,MAAOf,EAAY,CACnD,mBAAOa,IACH,yBAAc,yBAAaS,EAAwB,CAClDrB,IAAK,EACLM,UAAW,mBAAOA,GAClBI,cAAe,mBAAOA,IACrB,KAAM,EAAG,CAAC,YAAa,oBACzB,yBAAc,yBAAaY,EAAA,KAAU,CAAEtB,IAAK,KACjDC,W,iCCjDV,MAAMsB,EAA2B,IAAgB,EAAQ,CAAC,CAAC,YAAY,qBAExD,gB,kCCRf","file":"static/js/admin.5f46d0fe.js","sourcesContent":["import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, resolveComponent as _resolveComponent, openBlock as _openBlock, createBlock as _createBlock, createCommentVNode as _createCommentVNode, createElementVNode as _createElementVNode, createElementBlock as _createElementBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-64629971\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = {\n id: \"admin\",\n class: \"view\"\n}\nconst _hoisted_2 = {\n key: 0,\n class: \"container\"\n}\nconst _hoisted_3 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", { id: \"bottom\" }, null, -1))\n\nimport { computed, ComputedRef, onBeforeMount } from 'vue'\n\n import NotFound from '@/components/Common/NotFound.vue'\n import { AUTH_USER_STORE, ROOT_STORE } from '@/store/constants'\n import { TAppConfig, IAppStatistics } from '@/types/application'\n import { useStore } from '@/use/useStore'\n\n \nexport default /*#__PURE__*/_defineComponent({\n setup(__props) {\n\n const store = useStore()\n\n const appConfig: ComputedRef<TAppConfig> = computed(\n () => store.getters[ROOT_STORE.GETTERS.APP_CONFIG]\n )\n const appStatistics: ComputedRef<IAppStatistics> = computed(\n () => store.getters[ROOT_STORE.GETTERS.APP_STATS]\n )\n const isAuthUserAmin: ComputedRef<boolean> = computed(\n () => store.getters[AUTH_USER_STORE.GETTERS.IS_ADMIN]\n )\n const userLoading: ComputedRef<boolean> = computed(\n () => store.getters[AUTH_USER_STORE.GETTERS.USER_LOADING]\n )\n\n onBeforeMount(() => store.dispatch(ROOT_STORE.ACTIONS.GET_APPLICATION_STATS))\n\nreturn (_ctx: any,_cache: any) => {\n const _component_router_view = _resolveComponent(\"router-view\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n (!_unref(userLoading))\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_2, [\n (_unref(isAuthUserAmin))\n ? (_openBlock(), _createBlock(_component_router_view, {\n key: 0,\n appConfig: _unref(appConfig),\n appStatistics: _unref(appStatistics)\n }, null, 8, [\"appConfig\", \"appStatistics\"]))\n : (_openBlock(), _createBlock(NotFound, { key: 1 })),\n _hoisted_3\n ]))\n : _createCommentVNode(\"\", true)\n ]))\n}\n}\n\n})","import script from \"./AdminView.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./AdminView.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./AdminView.vue?vue&type=style&index=0&id=64629971&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-64629971\"]])\n\nexport default __exports__","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader-v16/dist/index.js??ref--1-1!./AdminView.vue?vue&type=style&index=0&id=64629971&lang=scss&scoped=true\""],"sourceRoot":""}
|
2
fittrackee/dist/static/js/app.6471a147.js
vendored
2
fittrackee/dist/static/js/app.be515752.js
vendored
Normal file
1
fittrackee/dist/static/js/app.be515752.js.map
vendored
Normal file
52
fittrackee/dist/static/js/chunk-vendors.d6c4f7de.js
vendored
Normal file
1
fittrackee/dist/static/js/chunk-vendors.d6c4f7de.js.map
vendored
Normal file
2
fittrackee/dist/static/js/main.aa7fcffc.js
vendored
@ -1,2 +0,0 @@
|
|||||||
(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["profile"],{"0bb3":function(e,t,n){},"36e8":function(e,t,n){"use strict";n.r(t);var c=n("7a23"),r=n("dad5"),o=n("2906"),u=function(e){return Object(c["pushScopeId"])("data-v-d342b648"),e=e(),Object(c["popScopeId"])(),e},a={key:0,id:"profile",class:"container view"},s=u((function(){return Object(c["createElementVNode"])("div",{id:"bottom"},null,-1)})),d=Object(c["defineComponent"])({setup:function(e){var t=Object(o["a"])(),n=Object(c["computed"])((function(){return t.getters[r["a"].GETTERS.AUTH_USER_PROFILE]}));return function(e,t){var r=Object(c["resolveComponent"])("router-view");return Object(c["unref"])(n).username?(Object(c["openBlock"])(),Object(c["createElementBlock"])("div",a,[Object(c["createVNode"])(r,{user:Object(c["unref"])(n)},null,8,["user"]),s])):Object(c["createCommentVNode"])("",!0)}}}),b=(n("6171"),n("6b0d")),i=n.n(b);const f=i()(d,[["__scopeId","data-v-d342b648"]]);t["default"]=f},6171:function(e,t,n){"use strict";n("0bb3")},"9b98":function(e,t,n){"use strict";n("d332")},ad3d:function(e,t,n){"use strict";n.r(t);var c=n("7a23"),r=n("6c02"),o=n("3c44"),u=n("71a7"),a=n("dad5"),s=n("2906"),d={key:0,id:"user",class:"view"},b={class:"box"},i=Object(c["defineComponent"])({setup:function(e){var t=Object(r["c"])(),n=Object(s["a"])(),i=Object(c["computed"])((function(){return n.getters[a["e"].GETTERS.USER]}));return Object(c["onBeforeMount"])((function(){t.params.username&&"string"===typeof t.params.username&&n.dispatch(a["e"].ACTIONS.GET_USER,t.params.username)})),Object(c["onBeforeUnmount"])((function(){n.dispatch(a["e"].ACTIONS.EMPTY_USER)})),function(e,t){return Object(c["unref"])(i).username?(Object(c["openBlock"])(),Object(c["createElementBlock"])("div",d,[Object(c["createVNode"])(o["a"],{user:Object(c["unref"])(i)},null,8,["user"]),Object(c["createElementVNode"])("div",b,[Object(c["createVNode"])(u["a"],{user:Object(c["unref"])(i),"from-admin":!0},null,8,["user"])])])):Object(c["createCommentVNode"])("",!0)}}}),f=(n("9b98"),n("6b0d")),O=n.n(f);const p=O()(i,[["__scopeId","data-v-218f8f1e"]]);t["default"]=p},d332:function(e,t,n){}}]);
|
|
||||||
//# sourceMappingURL=profile.62578012.js.map
|
|
2
fittrackee/dist/static/js/profile.d25975e2.js
vendored
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["profile"],{"36e8":function(e,t,n){"use strict";n.r(t);var c=n("7a23"),r=n("dad5"),o=n("2906"),u=function(e){return Object(c["pushScopeId"])("data-v-163d82f7"),e=e(),Object(c["popScopeId"])(),e},a={key:0,id:"profile",class:"container view"},s=u((function(){return Object(c["createElementVNode"])("div",{id:"bottom"},null,-1)})),d=Object(c["defineComponent"])({setup:function(e){var t=Object(o["a"])(),n=Object(c["computed"])((function(){return t.getters[r["a"].GETTERS.AUTH_USER_PROFILE]}));return function(e,t){var r=Object(c["resolveComponent"])("router-view");return Object(c["unref"])(n).username?(Object(c["openBlock"])(),Object(c["createElementBlock"])("div",a,[Object(c["createVNode"])(r,{user:Object(c["unref"])(n)},null,8,["user"]),s])):Object(c["createCommentVNode"])("",!0)}}}),i=(n("9674"),n("6b0d")),b=n.n(i);const f=b()(d,[["__scopeId","data-v-163d82f7"]]);t["default"]=f},"3ba8":function(e,t,n){"use strict";n("a020")},9674:function(e,t,n){"use strict";n("b64c")},a020:function(e,t,n){},ad3d:function(e,t,n){"use strict";n.r(t);var c=n("7a23"),r=n("6c02"),o=n("3c44"),u=n("71a7"),a=n("dad5"),s=n("2906"),d={key:0,id:"user",class:"view"},i={class:"box"},b=Object(c["defineComponent"])({setup:function(e){var t=Object(r["c"])(),n=Object(s["a"])(),b=Object(c["computed"])((function(){return n.getters[a["e"].GETTERS.USER]}));return Object(c["onBeforeMount"])((function(){t.params.username&&"string"===typeof t.params.username&&n.dispatch(a["e"].ACTIONS.GET_USER,t.params.username)})),Object(c["onBeforeUnmount"])((function(){n.dispatch(a["e"].ACTIONS.EMPTY_USER)})),function(e,t){return Object(c["unref"])(b).username?(Object(c["openBlock"])(),Object(c["createElementBlock"])("div",d,[Object(c["createVNode"])(o["a"],{user:Object(c["unref"])(b)},null,8,["user"]),Object(c["createElementVNode"])("div",i,[Object(c["createVNode"])(u["a"],{user:Object(c["unref"])(b),"from-admin":!0},null,8,["user"])])])):Object(c["createCommentVNode"])("",!0)}}}),f=(n("3ba8"),n("6b0d")),O=n.n(f);const p=O()(b,[["__scopeId","data-v-10e7b479"]]);t["default"]=p},b64c:function(e,t,n){}}]);
|
||||||
|
//# sourceMappingURL=profile.d25975e2.js.map
|
2
fittrackee/dist/static/js/reset.518e646f.js
vendored
2
fittrackee/dist/static/js/reset.ca898ebe.js
vendored
Normal file
1
fittrackee/dist/static/js/reset.ca898ebe.js.map
vendored
Normal file
2
fittrackee/dist/static/js/statistics.d03ca304.js
vendored
Normal file
1
fittrackee/dist/static/js/statistics.d03ca304.js.map
vendored
Normal file
2
fittrackee/dist/static/js/workouts.ad3402f3.js
vendored
Normal file
1
fittrackee/dist/static/js/workouts.ad3402f3.js.map
vendored
Normal file
37
fittrackee/tests/fixtures/fixtures_workouts.py
vendored
@ -51,6 +51,14 @@ def sport_2_running() -> Sport:
|
|||||||
return sport
|
return sport
|
||||||
|
|
||||||
|
|
||||||
|
def update_workout(workout: Workout) -> None:
|
||||||
|
workout.ave_speed = float(workout.distance) / (
|
||||||
|
workout.duration.seconds / 3600
|
||||||
|
)
|
||||||
|
workout.max_speed = workout.ave_speed
|
||||||
|
workout.moving = workout.duration
|
||||||
|
|
||||||
|
|
||||||
@pytest.fixture()
|
@pytest.fixture()
|
||||||
def workout_cycling_user_1() -> Workout:
|
def workout_cycling_user_1() -> Workout:
|
||||||
workout = Workout(
|
workout = Workout(
|
||||||
@ -60,9 +68,7 @@ def workout_cycling_user_1() -> Workout:
|
|||||||
distance=10,
|
distance=10,
|
||||||
duration=datetime.timedelta(seconds=3600),
|
duration=datetime.timedelta(seconds=3600),
|
||||||
)
|
)
|
||||||
workout.max_speed = 10
|
update_workout(workout)
|
||||||
workout.ave_speed = 10
|
|
||||||
workout.moving = workout.duration
|
|
||||||
db.session.add(workout)
|
db.session.add(workout)
|
||||||
db.session.commit()
|
db.session.commit()
|
||||||
return workout
|
return workout
|
||||||
@ -94,7 +100,7 @@ def workout_running_user_1() -> Workout:
|
|||||||
distance=12,
|
distance=12,
|
||||||
duration=datetime.timedelta(seconds=6000),
|
duration=datetime.timedelta(seconds=6000),
|
||||||
)
|
)
|
||||||
workout.moving = workout.duration
|
update_workout(workout)
|
||||||
db.session.add(workout)
|
db.session.add(workout)
|
||||||
db.session.commit()
|
db.session.commit()
|
||||||
return workout
|
return workout
|
||||||
@ -109,8 +115,7 @@ def seven_workouts_user_1() -> Workout:
|
|||||||
distance=5,
|
distance=5,
|
||||||
duration=datetime.timedelta(seconds=1024),
|
duration=datetime.timedelta(seconds=1024),
|
||||||
)
|
)
|
||||||
workout.ave_speed = float(workout.distance) / (1024 / 3600)
|
update_workout(workout)
|
||||||
workout.moving = workout.duration
|
|
||||||
workout.ascent = 120
|
workout.ascent = 120
|
||||||
workout.descent = 200
|
workout.descent = 200
|
||||||
db.session.add(workout)
|
db.session.add(workout)
|
||||||
@ -123,8 +128,7 @@ def seven_workouts_user_1() -> Workout:
|
|||||||
distance=10,
|
distance=10,
|
||||||
duration=datetime.timedelta(seconds=3456),
|
duration=datetime.timedelta(seconds=3456),
|
||||||
)
|
)
|
||||||
workout.ave_speed = float(workout.distance) / (3456 / 3600)
|
update_workout(workout)
|
||||||
workout.moving = workout.duration
|
|
||||||
workout.ascent = 100
|
workout.ascent = 100
|
||||||
workout.descent = 80
|
workout.descent = 80
|
||||||
db.session.add(workout)
|
db.session.add(workout)
|
||||||
@ -137,8 +141,7 @@ def seven_workouts_user_1() -> Workout:
|
|||||||
distance=10,
|
distance=10,
|
||||||
duration=datetime.timedelta(seconds=1024),
|
duration=datetime.timedelta(seconds=1024),
|
||||||
)
|
)
|
||||||
workout.ave_speed = float(workout.distance) / (1024 / 3600)
|
update_workout(workout)
|
||||||
workout.moving = workout.duration
|
|
||||||
workout.ascent = 80
|
workout.ascent = 80
|
||||||
workout.descent = 100
|
workout.descent = 100
|
||||||
db.session.add(workout)
|
db.session.add(workout)
|
||||||
@ -151,8 +154,7 @@ def seven_workouts_user_1() -> Workout:
|
|||||||
distance=1,
|
distance=1,
|
||||||
duration=datetime.timedelta(seconds=600),
|
duration=datetime.timedelta(seconds=600),
|
||||||
)
|
)
|
||||||
workout.ave_speed = float(workout.distance) / (600 / 3600)
|
update_workout(workout)
|
||||||
workout.moving = workout.duration
|
|
||||||
workout.ascent = 120
|
workout.ascent = 120
|
||||||
workout.descent = 180
|
workout.descent = 180
|
||||||
db.session.add(workout)
|
db.session.add(workout)
|
||||||
@ -165,8 +167,7 @@ def seven_workouts_user_1() -> Workout:
|
|||||||
distance=10,
|
distance=10,
|
||||||
duration=datetime.timedelta(seconds=1000),
|
duration=datetime.timedelta(seconds=1000),
|
||||||
)
|
)
|
||||||
workout.ave_speed = float(workout.distance) / (1000 / 3600)
|
update_workout(workout)
|
||||||
workout.moving = workout.duration
|
|
||||||
workout.ascent = 100
|
workout.ascent = 100
|
||||||
workout.descent = 200
|
workout.descent = 200
|
||||||
db.session.add(workout)
|
db.session.add(workout)
|
||||||
@ -179,8 +180,7 @@ def seven_workouts_user_1() -> Workout:
|
|||||||
distance=8,
|
distance=8,
|
||||||
duration=datetime.timedelta(seconds=6000),
|
duration=datetime.timedelta(seconds=6000),
|
||||||
)
|
)
|
||||||
workout.ave_speed = float(workout.distance) / (6000 / 3600)
|
update_workout(workout)
|
||||||
workout.moving = workout.duration
|
|
||||||
workout.ascent = 40
|
workout.ascent = 40
|
||||||
workout.descent = 20
|
workout.descent = 20
|
||||||
db.session.add(workout)
|
db.session.add(workout)
|
||||||
@ -193,8 +193,7 @@ def seven_workouts_user_1() -> Workout:
|
|||||||
distance=10,
|
distance=10,
|
||||||
duration=datetime.timedelta(seconds=3000),
|
duration=datetime.timedelta(seconds=3000),
|
||||||
)
|
)
|
||||||
workout.ave_speed = float(workout.distance) / (3000 / 3600)
|
update_workout(workout)
|
||||||
workout.moving = workout.duration
|
|
||||||
db.session.add(workout)
|
db.session.add(workout)
|
||||||
db.session.commit()
|
db.session.commit()
|
||||||
return workout
|
return workout
|
||||||
@ -209,7 +208,7 @@ def workout_cycling_user_2() -> Workout:
|
|||||||
distance=15,
|
distance=15,
|
||||||
duration=datetime.timedelta(seconds=3600),
|
duration=datetime.timedelta(seconds=3600),
|
||||||
)
|
)
|
||||||
workout.moving = workout.duration
|
update_workout(workout)
|
||||||
db.session.add(workout)
|
db.session.add(workout)
|
||||||
db.session.commit()
|
db.session.commit()
|
||||||
return workout
|
return workout
|
||||||
|
@ -558,7 +558,7 @@ class TestUserProfile(ApiTestCaseMixin):
|
|||||||
assert data['data']['imperial_units'] is False
|
assert data['data']['imperial_units'] is False
|
||||||
assert data['data']['nb_sports'] == 2
|
assert data['data']['nb_sports'] == 2
|
||||||
assert data['data']['nb_workouts'] == 2
|
assert data['data']['nb_workouts'] == 2
|
||||||
assert len(data['data']['records']) == 6
|
assert len(data['data']['records']) == 8
|
||||||
assert data['data']['sports_list'] == [1, 2]
|
assert data['data']['sports_list'] == [1, 2]
|
||||||
assert data['data']['total_distance'] == 22
|
assert data['data']['total_distance'] == 22
|
||||||
assert data['data']['total_duration'] == '2:40:00'
|
assert data['data']['total_duration'] == '2:40:00'
|
||||||
@ -1112,7 +1112,6 @@ class TestUserPicture(ApiTestCaseMixin):
|
|||||||
)
|
)
|
||||||
|
|
||||||
data = json.loads(response.data.decode())
|
data = json.loads(response.data.decode())
|
||||||
print('data', data)
|
|
||||||
assert response.status_code == 413
|
assert response.status_code == 413
|
||||||
assert 'fail' in data['status']
|
assert 'fail' in data['status']
|
||||||
assert (
|
assert (
|
||||||
@ -1144,7 +1143,6 @@ class TestUserPicture(ApiTestCaseMixin):
|
|||||||
)
|
)
|
||||||
|
|
||||||
data = json.loads(response.data.decode())
|
data = json.loads(response.data.decode())
|
||||||
print('data', data)
|
|
||||||
assert response.status_code == 413
|
assert response.status_code == 413
|
||||||
assert 'fail' in data['status']
|
assert 'fail' in data['status']
|
||||||
assert (
|
assert (
|
||||||
|
@ -83,7 +83,7 @@ class TestGetUser(ApiTestCaseMixin):
|
|||||||
assert user['timezone'] is None
|
assert user['timezone'] is None
|
||||||
assert user['weekm'] is False
|
assert user['weekm'] is False
|
||||||
assert user['language'] is None
|
assert user['language'] is None
|
||||||
assert len(user['records']) == 6
|
assert len(user['records']) == 8
|
||||||
assert user['nb_sports'] == 2
|
assert user['nb_sports'] == 2
|
||||||
assert user['nb_workouts'] == 2
|
assert user['nb_workouts'] == 2
|
||||||
assert user['sports_list'] == [1, 2]
|
assert user['sports_list'] == [1, 2]
|
||||||
@ -206,7 +206,7 @@ class TestGetUsers(ApiTestCaseMixin):
|
|||||||
assert data['data']['users'][0]['weekm'] is False
|
assert data['data']['users'][0]['weekm'] is False
|
||||||
assert data['data']['users'][0]['nb_sports'] == 2
|
assert data['data']['users'][0]['nb_sports'] == 2
|
||||||
assert data['data']['users'][0]['nb_workouts'] == 2
|
assert data['data']['users'][0]['nb_workouts'] == 2
|
||||||
assert len(data['data']['users'][0]['records']) == 6
|
assert len(data['data']['users'][0]['records']) == 8
|
||||||
assert data['data']['users'][0]['sports_list'] == [1, 2]
|
assert data['data']['users'][0]['sports_list'] == [1, 2]
|
||||||
assert data['data']['users'][0]['total_distance'] == 22.0
|
assert data['data']['users'][0]['total_distance'] == 22.0
|
||||||
assert data['data']['users'][0]['total_duration'] == '2:40:00'
|
assert data['data']['users'][0]['total_duration'] == '2:40:00'
|
||||||
@ -215,7 +215,7 @@ class TestGetUsers(ApiTestCaseMixin):
|
|||||||
assert data['data']['users'][1]['weekm'] is False
|
assert data['data']['users'][1]['weekm'] is False
|
||||||
assert data['data']['users'][1]['nb_sports'] == 1
|
assert data['data']['users'][1]['nb_sports'] == 1
|
||||||
assert data['data']['users'][1]['nb_workouts'] == 1
|
assert data['data']['users'][1]['nb_workouts'] == 1
|
||||||
assert len(data['data']['users'][1]['records']) == 2
|
assert len(data['data']['users'][1]['records']) == 4
|
||||||
assert data['data']['users'][1]['sports_list'] == [1]
|
assert data['data']['users'][1]['sports_list'] == [1]
|
||||||
assert data['data']['users'][1]['total_distance'] == 15
|
assert data['data']['users'][1]['total_distance'] == 15
|
||||||
assert data['data']['users'][1]['total_duration'] == '1:00:00'
|
assert data['data']['users'][1]['total_duration'] == '1:00:00'
|
||||||
|
@ -109,6 +109,7 @@ class TestGetStatsByTime(ApiTestCaseMixin):
|
|||||||
assert data['data']['statistics'] == {
|
assert data['data']['statistics'] == {
|
||||||
'2017': {
|
'2017': {
|
||||||
'1': {
|
'1': {
|
||||||
|
'average_speed': 14.0,
|
||||||
'nb_workouts': 2,
|
'nb_workouts': 2,
|
||||||
'total_ascent': 220.0,
|
'total_ascent': 220.0,
|
||||||
'total_descent': 280.0,
|
'total_descent': 280.0,
|
||||||
@ -118,6 +119,7 @@ class TestGetStatsByTime(ApiTestCaseMixin):
|
|||||||
},
|
},
|
||||||
'2018': {
|
'2018': {
|
||||||
'1': {
|
'1': {
|
||||||
|
'average_speed': 18.79,
|
||||||
'nb_workouts': 5,
|
'nb_workouts': 5,
|
||||||
'total_ascent': 340.0,
|
'total_ascent': 340.0,
|
||||||
'total_descent': 500.0,
|
'total_descent': 500.0,
|
||||||
@ -125,6 +127,7 @@ class TestGetStatsByTime(ApiTestCaseMixin):
|
|||||||
'total_duration': 11624,
|
'total_duration': 11624,
|
||||||
},
|
},
|
||||||
'2': {
|
'2': {
|
||||||
|
'average_speed': 7.2,
|
||||||
'nb_workouts': 1,
|
'nb_workouts': 1,
|
||||||
'total_ascent': 0.0,
|
'total_ascent': 0.0,
|
||||||
'total_descent': 0.0,
|
'total_descent': 0.0,
|
||||||
@ -156,6 +159,7 @@ class TestGetStatsByTime(ApiTestCaseMixin):
|
|||||||
assert data['data']['statistics'] == {
|
assert data['data']['statistics'] == {
|
||||||
'2018': {
|
'2018': {
|
||||||
'1': {
|
'1': {
|
||||||
|
'average_speed': 4.8,
|
||||||
'nb_workouts': 1,
|
'nb_workouts': 1,
|
||||||
'total_ascent': 40.0,
|
'total_ascent': 40.0,
|
||||||
'total_descent': 20.0,
|
'total_descent': 20.0,
|
||||||
@ -163,6 +167,7 @@ class TestGetStatsByTime(ApiTestCaseMixin):
|
|||||||
'total_duration': 6000,
|
'total_duration': 6000,
|
||||||
},
|
},
|
||||||
'2': {
|
'2': {
|
||||||
|
'average_speed': 7.2,
|
||||||
'nb_workouts': 1,
|
'nb_workouts': 1,
|
||||||
'total_ascent': 0.0,
|
'total_ascent': 0.0,
|
||||||
'total_descent': 0.0,
|
'total_descent': 0.0,
|
||||||
@ -195,6 +200,7 @@ class TestGetStatsByTime(ApiTestCaseMixin):
|
|||||||
assert data['data']['statistics'] == {
|
assert data['data']['statistics'] == {
|
||||||
'2018': {
|
'2018': {
|
||||||
'1': {
|
'1': {
|
||||||
|
'average_speed': 4.8,
|
||||||
'nb_workouts': 1,
|
'nb_workouts': 1,
|
||||||
'total_ascent': 40.0,
|
'total_ascent': 40.0,
|
||||||
'total_descent': 20.0,
|
'total_descent': 20.0,
|
||||||
@ -202,6 +208,7 @@ class TestGetStatsByTime(ApiTestCaseMixin):
|
|||||||
'total_duration': 6000,
|
'total_duration': 6000,
|
||||||
},
|
},
|
||||||
'2': {
|
'2': {
|
||||||
|
'average_speed': 7.2,
|
||||||
'nb_workouts': 1,
|
'nb_workouts': 1,
|
||||||
'total_ascent': 0.0,
|
'total_ascent': 0.0,
|
||||||
'total_descent': 0.0,
|
'total_descent': 0.0,
|
||||||
@ -233,6 +240,7 @@ class TestGetStatsByTime(ApiTestCaseMixin):
|
|||||||
assert data['data']['statistics'] == {
|
assert data['data']['statistics'] == {
|
||||||
'2017': {
|
'2017': {
|
||||||
'1': {
|
'1': {
|
||||||
|
'average_speed': 14.0,
|
||||||
'nb_workouts': 2,
|
'nb_workouts': 2,
|
||||||
'total_ascent': 220.0,
|
'total_ascent': 220.0,
|
||||||
'total_descent': 280.0,
|
'total_descent': 280.0,
|
||||||
@ -242,6 +250,7 @@ class TestGetStatsByTime(ApiTestCaseMixin):
|
|||||||
},
|
},
|
||||||
'2018': {
|
'2018': {
|
||||||
'1': {
|
'1': {
|
||||||
|
'average_speed': 18.79,
|
||||||
'nb_workouts': 5,
|
'nb_workouts': 5,
|
||||||
'total_ascent': 340.0,
|
'total_ascent': 340.0,
|
||||||
'total_descent': 500.0,
|
'total_descent': 500.0,
|
||||||
@ -249,6 +258,7 @@ class TestGetStatsByTime(ApiTestCaseMixin):
|
|||||||
'total_duration': 11624,
|
'total_duration': 11624,
|
||||||
},
|
},
|
||||||
'2': {
|
'2': {
|
||||||
|
'average_speed': 7.2,
|
||||||
'nb_workouts': 1,
|
'nb_workouts': 1,
|
||||||
'total_ascent': 0.0,
|
'total_ascent': 0.0,
|
||||||
'total_descent': 0.0,
|
'total_descent': 0.0,
|
||||||
@ -280,6 +290,7 @@ class TestGetStatsByTime(ApiTestCaseMixin):
|
|||||||
assert data['data']['statistics'] == {
|
assert data['data']['statistics'] == {
|
||||||
'2018': {
|
'2018': {
|
||||||
'1': {
|
'1': {
|
||||||
|
'average_speed': 4.8,
|
||||||
'nb_workouts': 1,
|
'nb_workouts': 1,
|
||||||
'total_ascent': 40.0,
|
'total_ascent': 40.0,
|
||||||
'total_descent': 20.0,
|
'total_descent': 20.0,
|
||||||
@ -287,6 +298,7 @@ class TestGetStatsByTime(ApiTestCaseMixin):
|
|||||||
'total_duration': 6000,
|
'total_duration': 6000,
|
||||||
},
|
},
|
||||||
'2': {
|
'2': {
|
||||||
|
'average_speed': 7.2,
|
||||||
'nb_workouts': 1,
|
'nb_workouts': 1,
|
||||||
'total_ascent': 0.0,
|
'total_ascent': 0.0,
|
||||||
'total_descent': 0.0,
|
'total_descent': 0.0,
|
||||||
@ -319,6 +331,7 @@ class TestGetStatsByTime(ApiTestCaseMixin):
|
|||||||
assert data['data']['statistics'] == {
|
assert data['data']['statistics'] == {
|
||||||
'2018': {
|
'2018': {
|
||||||
'1': {
|
'1': {
|
||||||
|
'average_speed': 4.8,
|
||||||
'nb_workouts': 1,
|
'nb_workouts': 1,
|
||||||
'total_ascent': 40.0,
|
'total_ascent': 40.0,
|
||||||
'total_descent': 20.0,
|
'total_descent': 20.0,
|
||||||
@ -326,6 +339,7 @@ class TestGetStatsByTime(ApiTestCaseMixin):
|
|||||||
'total_duration': 6000,
|
'total_duration': 6000,
|
||||||
},
|
},
|
||||||
'2': {
|
'2': {
|
||||||
|
'average_speed': 7.2,
|
||||||
'nb_workouts': 1,
|
'nb_workouts': 1,
|
||||||
'total_ascent': 0.0,
|
'total_ascent': 0.0,
|
||||||
'total_descent': 0.0,
|
'total_descent': 0.0,
|
||||||
@ -357,6 +371,7 @@ class TestGetStatsByTime(ApiTestCaseMixin):
|
|||||||
assert data['data']['statistics'] == {
|
assert data['data']['statistics'] == {
|
||||||
'2017-03': {
|
'2017-03': {
|
||||||
'1': {
|
'1': {
|
||||||
|
'average_speed': 17.58,
|
||||||
'nb_workouts': 1,
|
'nb_workouts': 1,
|
||||||
'total_ascent': 120.0,
|
'total_ascent': 120.0,
|
||||||
'total_descent': 200.0,
|
'total_descent': 200.0,
|
||||||
@ -366,6 +381,7 @@ class TestGetStatsByTime(ApiTestCaseMixin):
|
|||||||
},
|
},
|
||||||
'2017-06': {
|
'2017-06': {
|
||||||
'1': {
|
'1': {
|
||||||
|
'average_speed': 10.42,
|
||||||
'nb_workouts': 1,
|
'nb_workouts': 1,
|
||||||
'total_ascent': 100.0,
|
'total_ascent': 100.0,
|
||||||
'total_descent': 80.0,
|
'total_descent': 80.0,
|
||||||
@ -375,6 +391,7 @@ class TestGetStatsByTime(ApiTestCaseMixin):
|
|||||||
},
|
},
|
||||||
'2018-01': {
|
'2018-01': {
|
||||||
'1': {
|
'1': {
|
||||||
|
'average_speed': 35.16,
|
||||||
'nb_workouts': 1,
|
'nb_workouts': 1,
|
||||||
'total_ascent': 80.0,
|
'total_ascent': 80.0,
|
||||||
'total_descent': 100.0,
|
'total_descent': 100.0,
|
||||||
@ -384,6 +401,7 @@ class TestGetStatsByTime(ApiTestCaseMixin):
|
|||||||
},
|
},
|
||||||
'2018-02': {
|
'2018-02': {
|
||||||
'1': {
|
'1': {
|
||||||
|
'average_speed': 21.0,
|
||||||
'nb_workouts': 2,
|
'nb_workouts': 2,
|
||||||
'total_ascent': 220.0,
|
'total_ascent': 220.0,
|
||||||
'total_descent': 380.0,
|
'total_descent': 380.0,
|
||||||
@ -393,6 +411,7 @@ class TestGetStatsByTime(ApiTestCaseMixin):
|
|||||||
},
|
},
|
||||||
'2018-04': {
|
'2018-04': {
|
||||||
'1': {
|
'1': {
|
||||||
|
'average_speed': 4.8,
|
||||||
'nb_workouts': 1,
|
'nb_workouts': 1,
|
||||||
'total_ascent': 40.0,
|
'total_ascent': 40.0,
|
||||||
'total_descent': 20.0,
|
'total_descent': 20.0,
|
||||||
@ -400,6 +419,7 @@ class TestGetStatsByTime(ApiTestCaseMixin):
|
|||||||
'total_duration': 6000,
|
'total_duration': 6000,
|
||||||
},
|
},
|
||||||
'2': {
|
'2': {
|
||||||
|
'average_speed': 7.2,
|
||||||
'nb_workouts': 1,
|
'nb_workouts': 1,
|
||||||
'total_ascent': 0.0,
|
'total_ascent': 0.0,
|
||||||
'total_descent': 0.0,
|
'total_descent': 0.0,
|
||||||
@ -409,6 +429,7 @@ class TestGetStatsByTime(ApiTestCaseMixin):
|
|||||||
},
|
},
|
||||||
'2018-05': {
|
'2018-05': {
|
||||||
'1': {
|
'1': {
|
||||||
|
'average_speed': 12.0,
|
||||||
'nb_workouts': 1,
|
'nb_workouts': 1,
|
||||||
'total_ascent': 0.0,
|
'total_ascent': 0.0,
|
||||||
'total_descent': 0.0,
|
'total_descent': 0.0,
|
||||||
@ -440,6 +461,7 @@ class TestGetStatsByTime(ApiTestCaseMixin):
|
|||||||
assert data['data']['statistics'] == {
|
assert data['data']['statistics'] == {
|
||||||
'2017-03': {
|
'2017-03': {
|
||||||
'1': {
|
'1': {
|
||||||
|
'average_speed': 17.58,
|
||||||
'nb_workouts': 1,
|
'nb_workouts': 1,
|
||||||
'total_ascent': 120.0,
|
'total_ascent': 120.0,
|
||||||
'total_descent': 200.0,
|
'total_descent': 200.0,
|
||||||
@ -449,6 +471,7 @@ class TestGetStatsByTime(ApiTestCaseMixin):
|
|||||||
},
|
},
|
||||||
'2017-06': {
|
'2017-06': {
|
||||||
'1': {
|
'1': {
|
||||||
|
'average_speed': 10.42,
|
||||||
'nb_workouts': 1,
|
'nb_workouts': 1,
|
||||||
'total_ascent': 100.0,
|
'total_ascent': 100.0,
|
||||||
'total_descent': 80.0,
|
'total_descent': 80.0,
|
||||||
@ -458,6 +481,7 @@ class TestGetStatsByTime(ApiTestCaseMixin):
|
|||||||
},
|
},
|
||||||
'2018-01': {
|
'2018-01': {
|
||||||
'1': {
|
'1': {
|
||||||
|
'average_speed': 35.16,
|
||||||
'nb_workouts': 1,
|
'nb_workouts': 1,
|
||||||
'total_ascent': 80.0,
|
'total_ascent': 80.0,
|
||||||
'total_descent': 100.0,
|
'total_descent': 100.0,
|
||||||
@ -467,6 +491,7 @@ class TestGetStatsByTime(ApiTestCaseMixin):
|
|||||||
},
|
},
|
||||||
'2018-02': {
|
'2018-02': {
|
||||||
'1': {
|
'1': {
|
||||||
|
'average_speed': 21.0,
|
||||||
'nb_workouts': 2,
|
'nb_workouts': 2,
|
||||||
'total_ascent': 220.0,
|
'total_ascent': 220.0,
|
||||||
'total_descent': 380.0,
|
'total_descent': 380.0,
|
||||||
@ -476,6 +501,7 @@ class TestGetStatsByTime(ApiTestCaseMixin):
|
|||||||
},
|
},
|
||||||
'2018-04': {
|
'2018-04': {
|
||||||
'1': {
|
'1': {
|
||||||
|
'average_speed': 4.8,
|
||||||
'nb_workouts': 1,
|
'nb_workouts': 1,
|
||||||
'total_ascent': 40.0,
|
'total_ascent': 40.0,
|
||||||
'total_descent': 20.0,
|
'total_descent': 20.0,
|
||||||
@ -483,6 +509,7 @@ class TestGetStatsByTime(ApiTestCaseMixin):
|
|||||||
'total_duration': 6000,
|
'total_duration': 6000,
|
||||||
},
|
},
|
||||||
'2': {
|
'2': {
|
||||||
|
'average_speed': 7.2,
|
||||||
'nb_workouts': 1,
|
'nb_workouts': 1,
|
||||||
'total_ascent': 0.0,
|
'total_ascent': 0.0,
|
||||||
'total_descent': 0.0,
|
'total_descent': 0.0,
|
||||||
@ -492,6 +519,7 @@ class TestGetStatsByTime(ApiTestCaseMixin):
|
|||||||
},
|
},
|
||||||
'2018-05': {
|
'2018-05': {
|
||||||
'1': {
|
'1': {
|
||||||
|
'average_speed': 12.0,
|
||||||
'nb_workouts': 1,
|
'nb_workouts': 1,
|
||||||
'total_ascent': 0.0,
|
'total_ascent': 0.0,
|
||||||
'total_descent': 0.0,
|
'total_descent': 0.0,
|
||||||
@ -523,6 +551,7 @@ class TestGetStatsByTime(ApiTestCaseMixin):
|
|||||||
assert data['data']['statistics'] == {
|
assert data['data']['statistics'] == {
|
||||||
'2018-04': {
|
'2018-04': {
|
||||||
'1': {
|
'1': {
|
||||||
|
'average_speed': 4.8,
|
||||||
'nb_workouts': 1,
|
'nb_workouts': 1,
|
||||||
'total_ascent': 40.0,
|
'total_ascent': 40.0,
|
||||||
'total_descent': 20.0,
|
'total_descent': 20.0,
|
||||||
@ -530,6 +559,7 @@ class TestGetStatsByTime(ApiTestCaseMixin):
|
|||||||
'total_duration': 6000,
|
'total_duration': 6000,
|
||||||
},
|
},
|
||||||
'2': {
|
'2': {
|
||||||
|
'average_speed': 7.2,
|
||||||
'nb_workouts': 1,
|
'nb_workouts': 1,
|
||||||
'total_ascent': 0.0,
|
'total_ascent': 0.0,
|
||||||
'total_descent': 0.0,
|
'total_descent': 0.0,
|
||||||
@ -561,6 +591,7 @@ class TestGetStatsByTime(ApiTestCaseMixin):
|
|||||||
assert data['data']['statistics'] == {
|
assert data['data']['statistics'] == {
|
||||||
'2017-03-19': {
|
'2017-03-19': {
|
||||||
'1': {
|
'1': {
|
||||||
|
'average_speed': 17.58,
|
||||||
'nb_workouts': 1,
|
'nb_workouts': 1,
|
||||||
'total_ascent': 120.0,
|
'total_ascent': 120.0,
|
||||||
'total_descent': 200.0,
|
'total_descent': 200.0,
|
||||||
@ -570,6 +601,7 @@ class TestGetStatsByTime(ApiTestCaseMixin):
|
|||||||
},
|
},
|
||||||
'2017-05-28': {
|
'2017-05-28': {
|
||||||
'1': {
|
'1': {
|
||||||
|
'average_speed': 10.42,
|
||||||
'nb_workouts': 1,
|
'nb_workouts': 1,
|
||||||
'total_ascent': 100.0,
|
'total_ascent': 100.0,
|
||||||
'total_descent': 80.0,
|
'total_descent': 80.0,
|
||||||
@ -579,6 +611,7 @@ class TestGetStatsByTime(ApiTestCaseMixin):
|
|||||||
},
|
},
|
||||||
'2017-12-31': {
|
'2017-12-31': {
|
||||||
'1': {
|
'1': {
|
||||||
|
'average_speed': 35.16,
|
||||||
'nb_workouts': 1,
|
'nb_workouts': 1,
|
||||||
'total_ascent': 80.0,
|
'total_ascent': 80.0,
|
||||||
'total_descent': 100.0,
|
'total_descent': 100.0,
|
||||||
@ -588,6 +621,7 @@ class TestGetStatsByTime(ApiTestCaseMixin):
|
|||||||
},
|
},
|
||||||
'2018-02-18': {
|
'2018-02-18': {
|
||||||
'1': {
|
'1': {
|
||||||
|
'average_speed': 21.0,
|
||||||
'nb_workouts': 2,
|
'nb_workouts': 2,
|
||||||
'total_ascent': 220.0,
|
'total_ascent': 220.0,
|
||||||
'total_descent': 380.0,
|
'total_descent': 380.0,
|
||||||
@ -597,6 +631,7 @@ class TestGetStatsByTime(ApiTestCaseMixin):
|
|||||||
},
|
},
|
||||||
'2018-04-01': {
|
'2018-04-01': {
|
||||||
'1': {
|
'1': {
|
||||||
|
'average_speed': 4.8,
|
||||||
'nb_workouts': 1,
|
'nb_workouts': 1,
|
||||||
'total_ascent': 40.0,
|
'total_ascent': 40.0,
|
||||||
'total_descent': 20.0,
|
'total_descent': 20.0,
|
||||||
@ -604,6 +639,7 @@ class TestGetStatsByTime(ApiTestCaseMixin):
|
|||||||
'total_duration': 6000,
|
'total_duration': 6000,
|
||||||
},
|
},
|
||||||
'2': {
|
'2': {
|
||||||
|
'average_speed': 7.2,
|
||||||
'nb_workouts': 1,
|
'nb_workouts': 1,
|
||||||
'total_ascent': 0.0,
|
'total_ascent': 0.0,
|
||||||
'total_descent': 0.0,
|
'total_descent': 0.0,
|
||||||
@ -613,6 +649,7 @@ class TestGetStatsByTime(ApiTestCaseMixin):
|
|||||||
},
|
},
|
||||||
'2018-05-06': {
|
'2018-05-06': {
|
||||||
'1': {
|
'1': {
|
||||||
|
'average_speed': 12.0,
|
||||||
'nb_workouts': 1,
|
'nb_workouts': 1,
|
||||||
'total_ascent': 0.0,
|
'total_ascent': 0.0,
|
||||||
'total_descent': 0.0,
|
'total_descent': 0.0,
|
||||||
@ -644,6 +681,7 @@ class TestGetStatsByTime(ApiTestCaseMixin):
|
|||||||
assert data['data']['statistics'] == {
|
assert data['data']['statistics'] == {
|
||||||
'2018-04-01': {
|
'2018-04-01': {
|
||||||
'1': {
|
'1': {
|
||||||
|
'average_speed': 4.8,
|
||||||
'nb_workouts': 1,
|
'nb_workouts': 1,
|
||||||
'total_ascent': 40.0,
|
'total_ascent': 40.0,
|
||||||
'total_descent': 20.0,
|
'total_descent': 20.0,
|
||||||
@ -651,6 +689,7 @@ class TestGetStatsByTime(ApiTestCaseMixin):
|
|||||||
'total_duration': 6000,
|
'total_duration': 6000,
|
||||||
},
|
},
|
||||||
'2': {
|
'2': {
|
||||||
|
'average_speed': 7.2,
|
||||||
'nb_workouts': 1,
|
'nb_workouts': 1,
|
||||||
'total_ascent': 0.0,
|
'total_ascent': 0.0,
|
||||||
'total_descent': 0.0,
|
'total_descent': 0.0,
|
||||||
@ -682,6 +721,7 @@ class TestGetStatsByTime(ApiTestCaseMixin):
|
|||||||
assert data['data']['statistics'] == {
|
assert data['data']['statistics'] == {
|
||||||
'2017-03-20': {
|
'2017-03-20': {
|
||||||
'1': {
|
'1': {
|
||||||
|
'average_speed': 17.58,
|
||||||
'nb_workouts': 1,
|
'nb_workouts': 1,
|
||||||
'total_ascent': 120.0,
|
'total_ascent': 120.0,
|
||||||
'total_descent': 200.0,
|
'total_descent': 200.0,
|
||||||
@ -691,6 +731,7 @@ class TestGetStatsByTime(ApiTestCaseMixin):
|
|||||||
},
|
},
|
||||||
'2017-05-29': {
|
'2017-05-29': {
|
||||||
'1': {
|
'1': {
|
||||||
|
'average_speed': 10.42,
|
||||||
'nb_workouts': 1,
|
'nb_workouts': 1,
|
||||||
'total_ascent': 100.0,
|
'total_ascent': 100.0,
|
||||||
'total_descent': 80.0,
|
'total_descent': 80.0,
|
||||||
@ -700,6 +741,7 @@ class TestGetStatsByTime(ApiTestCaseMixin):
|
|||||||
},
|
},
|
||||||
'2018-01-01': {
|
'2018-01-01': {
|
||||||
'1': {
|
'1': {
|
||||||
|
'average_speed': 35.16,
|
||||||
'nb_workouts': 1,
|
'nb_workouts': 1,
|
||||||
'total_ascent': 80.0,
|
'total_ascent': 80.0,
|
||||||
'total_descent': 100.0,
|
'total_descent': 100.0,
|
||||||
@ -709,6 +751,7 @@ class TestGetStatsByTime(ApiTestCaseMixin):
|
|||||||
},
|
},
|
||||||
'2018-02-19': {
|
'2018-02-19': {
|
||||||
'1': {
|
'1': {
|
||||||
|
'average_speed': 21.0,
|
||||||
'nb_workouts': 2,
|
'nb_workouts': 2,
|
||||||
'total_ascent': 220.0,
|
'total_ascent': 220.0,
|
||||||
'total_descent': 380.0,
|
'total_descent': 380.0,
|
||||||
@ -718,6 +761,7 @@ class TestGetStatsByTime(ApiTestCaseMixin):
|
|||||||
},
|
},
|
||||||
'2018-03-26': {
|
'2018-03-26': {
|
||||||
'1': {
|
'1': {
|
||||||
|
'average_speed': 4.8,
|
||||||
'nb_workouts': 1,
|
'nb_workouts': 1,
|
||||||
'total_ascent': 40.0,
|
'total_ascent': 40.0,
|
||||||
'total_descent': 20.0,
|
'total_descent': 20.0,
|
||||||
@ -725,6 +769,7 @@ class TestGetStatsByTime(ApiTestCaseMixin):
|
|||||||
'total_duration': 6000,
|
'total_duration': 6000,
|
||||||
},
|
},
|
||||||
'2': {
|
'2': {
|
||||||
|
'average_speed': 7.2,
|
||||||
'nb_workouts': 1,
|
'nb_workouts': 1,
|
||||||
'total_ascent': 0.0,
|
'total_ascent': 0.0,
|
||||||
'total_descent': 0.0,
|
'total_descent': 0.0,
|
||||||
@ -734,6 +779,7 @@ class TestGetStatsByTime(ApiTestCaseMixin):
|
|||||||
},
|
},
|
||||||
'2018-05-07': {
|
'2018-05-07': {
|
||||||
'1': {
|
'1': {
|
||||||
|
'average_speed': 12.0,
|
||||||
'nb_workouts': 1,
|
'nb_workouts': 1,
|
||||||
'total_ascent': 0.0,
|
'total_ascent': 0.0,
|
||||||
'total_descent': 0.0,
|
'total_descent': 0.0,
|
||||||
@ -765,6 +811,7 @@ class TestGetStatsByTime(ApiTestCaseMixin):
|
|||||||
assert data['data']['statistics'] == {
|
assert data['data']['statistics'] == {
|
||||||
'2018-03-26': {
|
'2018-03-26': {
|
||||||
'1': {
|
'1': {
|
||||||
|
'average_speed': 4.8,
|
||||||
'nb_workouts': 1,
|
'nb_workouts': 1,
|
||||||
'total_ascent': 40.0,
|
'total_ascent': 40.0,
|
||||||
'total_descent': 20.0,
|
'total_descent': 20.0,
|
||||||
@ -772,6 +819,7 @@ class TestGetStatsByTime(ApiTestCaseMixin):
|
|||||||
'total_duration': 6000,
|
'total_duration': 6000,
|
||||||
},
|
},
|
||||||
'2': {
|
'2': {
|
||||||
|
'average_speed': 7.2,
|
||||||
'nb_workouts': 1,
|
'nb_workouts': 1,
|
||||||
'total_ascent': 0.0,
|
'total_ascent': 0.0,
|
||||||
'total_descent': 0.0,
|
'total_descent': 0.0,
|
||||||
@ -804,6 +852,7 @@ class TestGetStatsBySport(ApiTestCaseMixin):
|
|||||||
assert 'success' in data['status']
|
assert 'success' in data['status']
|
||||||
assert data['data']['statistics'] == {
|
assert data['data']['statistics'] == {
|
||||||
'1': {
|
'1': {
|
||||||
|
'average_speed': 17.42,
|
||||||
'nb_workouts': 7,
|
'nb_workouts': 7,
|
||||||
'total_ascent': 560.0,
|
'total_ascent': 560.0,
|
||||||
'total_descent': 780.0,
|
'total_descent': 780.0,
|
||||||
@ -811,6 +860,7 @@ class TestGetStatsBySport(ApiTestCaseMixin):
|
|||||||
'total_duration': 16104,
|
'total_duration': 16104,
|
||||||
},
|
},
|
||||||
'2': {
|
'2': {
|
||||||
|
'average_speed': 7.2,
|
||||||
'nb_workouts': 1,
|
'nb_workouts': 1,
|
||||||
'total_ascent': 0.0,
|
'total_ascent': 0.0,
|
||||||
'total_descent': 0.0,
|
'total_descent': 0.0,
|
||||||
@ -840,6 +890,7 @@ class TestGetStatsBySport(ApiTestCaseMixin):
|
|||||||
assert 'success' in data['status']
|
assert 'success' in data['status']
|
||||||
assert data['data']['statistics'] == {
|
assert data['data']['statistics'] == {
|
||||||
'1': {
|
'1': {
|
||||||
|
'average_speed': 17.42,
|
||||||
'nb_workouts': 7,
|
'nb_workouts': 7,
|
||||||
'total_ascent': 560.0,
|
'total_ascent': 560.0,
|
||||||
'total_descent': 780.0,
|
'total_descent': 780.0,
|
||||||
|
@ -1139,3 +1139,89 @@ class TestGetWorkout(ApiTestCaseMixin):
|
|||||||
assert response.status_code == 404
|
assert response.status_code == 404
|
||||||
assert 'not found' in data['status']
|
assert 'not found' in data['status']
|
||||||
assert 'Map does not exist' in data['message']
|
assert 'Map does not exist' in data['message']
|
||||||
|
|
||||||
|
|
||||||
|
class TestDownloadWorkoutGpx(ApiTestCaseMixin):
|
||||||
|
def test_it_returns_404_if_workout_does_not_exist(
|
||||||
|
self,
|
||||||
|
app: Flask,
|
||||||
|
user_1: User,
|
||||||
|
) -> None:
|
||||||
|
client, auth_token = self.get_test_client_and_auth_token(app)
|
||||||
|
|
||||||
|
response = client.get(
|
||||||
|
f'/api/workouts/{get_random_short_id()}/gpx/download',
|
||||||
|
headers=dict(Authorization=f'Bearer {auth_token}'),
|
||||||
|
)
|
||||||
|
|
||||||
|
data = json.loads(response.data.decode())
|
||||||
|
assert response.status_code == 404
|
||||||
|
assert 'not found' in data['status']
|
||||||
|
assert 'workout not found' in data['message']
|
||||||
|
|
||||||
|
def test_it_returns_404_if_workout_does_not_have_gpx(
|
||||||
|
self,
|
||||||
|
app: Flask,
|
||||||
|
user_1: User,
|
||||||
|
sport_1_cycling: Sport,
|
||||||
|
workout_cycling_user_1: Workout,
|
||||||
|
) -> None:
|
||||||
|
client, auth_token = self.get_test_client_and_auth_token(app)
|
||||||
|
|
||||||
|
response = client.get(
|
||||||
|
f'/api/workouts/{workout_cycling_user_1.short_id}/gpx/download',
|
||||||
|
headers=dict(Authorization=f'Bearer {auth_token}'),
|
||||||
|
)
|
||||||
|
|
||||||
|
data = json.loads(response.data.decode())
|
||||||
|
assert response.status_code == 404
|
||||||
|
assert 'not found' in data['status']
|
||||||
|
assert 'no gpx file for workout' in data['message']
|
||||||
|
|
||||||
|
def test_it_returns_404_if_workout_belongs_to_a_different_user(
|
||||||
|
self,
|
||||||
|
app: Flask,
|
||||||
|
user_1: User,
|
||||||
|
user_2: User,
|
||||||
|
sport_1_cycling: Sport,
|
||||||
|
workout_cycling_user_2: Workout,
|
||||||
|
) -> None:
|
||||||
|
client, auth_token = self.get_test_client_and_auth_token(app)
|
||||||
|
|
||||||
|
response = client.get(
|
||||||
|
f'/api/workouts/{workout_cycling_user_2.short_id}/gpx/download',
|
||||||
|
headers=dict(Authorization=f'Bearer {auth_token}'),
|
||||||
|
)
|
||||||
|
|
||||||
|
data = json.loads(response.data.decode())
|
||||||
|
assert response.status_code == 404
|
||||||
|
assert 'not found' in data['status']
|
||||||
|
assert 'workout not found' in data['message']
|
||||||
|
|
||||||
|
def test_it_calls_send_from_directory_if_workout_has_gpx(
|
||||||
|
self,
|
||||||
|
app: Flask,
|
||||||
|
user_1: User,
|
||||||
|
sport_1_cycling: Sport,
|
||||||
|
workout_cycling_user_1: Workout,
|
||||||
|
) -> None:
|
||||||
|
gpx_file_path = 'file.gpx'
|
||||||
|
workout_cycling_user_1.gpx = gpx_file_path
|
||||||
|
with patch('fittrackee.workouts.workouts.send_from_directory') as mock:
|
||||||
|
mock.return_value = 'file'
|
||||||
|
client, auth_token = self.get_test_client_and_auth_token(app)
|
||||||
|
|
||||||
|
client.get(
|
||||||
|
(
|
||||||
|
f'/api/workouts/{workout_cycling_user_1.short_id}/'
|
||||||
|
'gpx/download'
|
||||||
|
),
|
||||||
|
headers=dict(Authorization=f'Bearer {auth_token}'),
|
||||||
|
)
|
||||||
|
|
||||||
|
mock.assert_called_once_with(
|
||||||
|
app.config['UPLOAD_FOLDER'],
|
||||||
|
gpx_file_path,
|
||||||
|
mimetype='application/gpx+xml',
|
||||||
|
as_attachment=True,
|
||||||
|
)
|
||||||
|
32
fittrackee/tests/workouts/test_workouts_utils.py
Normal file
@ -0,0 +1,32 @@
|
|||||||
|
from statistics import mean
|
||||||
|
from typing import List
|
||||||
|
|
||||||
|
import pytest
|
||||||
|
|
||||||
|
from fittrackee.workouts.utils import get_average_speed
|
||||||
|
|
||||||
|
|
||||||
|
class TestWorkoutAverageSpeed:
|
||||||
|
@pytest.mark.parametrize(
|
||||||
|
'ave_speeds_list',
|
||||||
|
[
|
||||||
|
([0]),
|
||||||
|
([10]),
|
||||||
|
([0, 0]),
|
||||||
|
([10, 20]),
|
||||||
|
([10, 0, 20, 10]),
|
||||||
|
([1.5, 2, 3.7, 4.2]),
|
||||||
|
],
|
||||||
|
)
|
||||||
|
def test_it_calculates_average_speed(self, ave_speeds_list: List) -> None:
|
||||||
|
nb_workouts = len(ave_speeds_list)
|
||||||
|
total_average_speed = (
|
||||||
|
sum(ave_speeds_list[:-1]) / (len(ave_speeds_list) - 1)
|
||||||
|
if len(ave_speeds_list) > 1
|
||||||
|
else ave_speeds_list[0]
|
||||||
|
)
|
||||||
|
workout_average_speed = ave_speeds_list[-1]
|
||||||
|
|
||||||
|
assert get_average_speed(
|
||||||
|
nb_workouts, total_average_speed, workout_average_speed
|
||||||
|
) == mean(ave_speeds_list)
|
@ -16,7 +16,11 @@ from fittrackee.users.decorators import authenticate, authenticate_as_admin
|
|||||||
from fittrackee.users.models import User
|
from fittrackee.users.models import User
|
||||||
|
|
||||||
from .models import Sport, Workout
|
from .models import Sport, Workout
|
||||||
from .utils import get_datetime_from_request_args, get_upload_dir_size
|
from .utils import (
|
||||||
|
get_average_speed,
|
||||||
|
get_datetime_from_request_args,
|
||||||
|
get_upload_dir_size,
|
||||||
|
)
|
||||||
from .utils_format import convert_timedelta_to_integer
|
from .utils_format import convert_timedelta_to_integer
|
||||||
|
|
||||||
stats_blueprint = Blueprint('stats', __name__)
|
stats_blueprint = Blueprint('stats', __name__)
|
||||||
@ -64,6 +68,7 @@ def get_workouts(
|
|||||||
sport_id = workout.sport_id
|
sport_id = workout.sport_id
|
||||||
if sport_id not in workouts_list_by_sport:
|
if sport_id not in workouts_list_by_sport:
|
||||||
workouts_list_by_sport[sport_id] = {
|
workouts_list_by_sport[sport_id] = {
|
||||||
|
'average_speed': 0.0,
|
||||||
'nb_workouts': 0,
|
'nb_workouts': 0,
|
||||||
'total_distance': 0.0,
|
'total_distance': 0.0,
|
||||||
'total_duration': 0,
|
'total_duration': 0,
|
||||||
@ -71,6 +76,13 @@ def get_workouts(
|
|||||||
'total_descent': 0.0,
|
'total_descent': 0.0,
|
||||||
}
|
}
|
||||||
workouts_list_by_sport[sport_id]['nb_workouts'] += 1
|
workouts_list_by_sport[sport_id]['nb_workouts'] += 1
|
||||||
|
workouts_list_by_sport[sport_id][
|
||||||
|
'average_speed'
|
||||||
|
] = get_average_speed(
|
||||||
|
workouts_list_by_sport[sport_id]['nb_workouts'], # type: ignore # noqa
|
||||||
|
workouts_list_by_sport[sport_id]['average_speed'],
|
||||||
|
workout.ave_speed,
|
||||||
|
)
|
||||||
workouts_list_by_sport[sport_id]['total_distance'] += float(
|
workouts_list_by_sport[sport_id]['total_distance'] += float(
|
||||||
workout.distance
|
workout.distance
|
||||||
)
|
)
|
||||||
@ -117,6 +129,7 @@ def get_workouts(
|
|||||||
workouts_list_by_time[time_period] = {}
|
workouts_list_by_time[time_period] = {}
|
||||||
if sport_id not in workouts_list_by_time[time_period]:
|
if sport_id not in workouts_list_by_time[time_period]:
|
||||||
workouts_list_by_time[time_period][sport_id] = {
|
workouts_list_by_time[time_period][sport_id] = {
|
||||||
|
'average_speed': 0.0,
|
||||||
'nb_workouts': 0,
|
'nb_workouts': 0,
|
||||||
'total_distance': 0.0,
|
'total_distance': 0.0,
|
||||||
'total_duration': 0,
|
'total_duration': 0,
|
||||||
@ -126,6 +139,17 @@ def get_workouts(
|
|||||||
workouts_list_by_time[time_period][sport_id][
|
workouts_list_by_time[time_period][sport_id][
|
||||||
'nb_workouts'
|
'nb_workouts'
|
||||||
] += 1
|
] += 1
|
||||||
|
workouts_list_by_time[time_period][sport_id][
|
||||||
|
'average_speed'
|
||||||
|
] = get_average_speed(
|
||||||
|
workouts_list_by_time[time_period][sport_id][
|
||||||
|
'nb_workouts'
|
||||||
|
],
|
||||||
|
workouts_list_by_time[time_period][sport_id][
|
||||||
|
'average_speed'
|
||||||
|
],
|
||||||
|
workout.ave_speed,
|
||||||
|
)
|
||||||
workouts_list_by_time[time_period][sport_id][
|
workouts_list_by_time[time_period][sport_id][
|
||||||
'total_distance'
|
'total_distance'
|
||||||
] += float(workout.distance)
|
] += float(workout.distance)
|
||||||
@ -189,6 +213,7 @@ def get_workouts_by_time(
|
|||||||
"statistics": {
|
"statistics": {
|
||||||
"2017": {
|
"2017": {
|
||||||
"3": {
|
"3": {
|
||||||
|
"average_speed": 4.48,
|
||||||
"nb_workouts": 2,
|
"nb_workouts": 2,
|
||||||
"total_ascent": 203.0,
|
"total_ascent": 203.0,
|
||||||
"total_ascent": 156.0,
|
"total_ascent": 156.0,
|
||||||
@ -198,6 +223,7 @@ def get_workouts_by_time(
|
|||||||
},
|
},
|
||||||
"2019": {
|
"2019": {
|
||||||
"1": {
|
"1": {
|
||||||
|
"average_speed": 16.99,
|
||||||
"nb_workouts": 3,
|
"nb_workouts": 3,
|
||||||
"total_ascent": 150.0,
|
"total_ascent": 150.0,
|
||||||
"total_ascent": 178.0,
|
"total_ascent": 178.0,
|
||||||
@ -205,6 +231,7 @@ def get_workouts_by_time(
|
|||||||
"total_duration": 9960
|
"total_duration": 9960
|
||||||
},
|
},
|
||||||
"2": {
|
"2": {
|
||||||
|
"average_speed": 15.95,
|
||||||
"nb_workouts": 1,
|
"nb_workouts": 1,
|
||||||
"total_ascent": 46.0,
|
"total_ascent": 46.0,
|
||||||
"total_ascent": 78.0,
|
"total_ascent": 78.0,
|
||||||
@ -292,6 +319,7 @@ def get_workouts_by_sport(
|
|||||||
"data": {
|
"data": {
|
||||||
"statistics": {
|
"statistics": {
|
||||||
"1": {
|
"1": {
|
||||||
|
"average_speed": 16.99,
|
||||||
"nb_workouts": 3,
|
"nb_workouts": 3,
|
||||||
"total_ascent": 150.0,
|
"total_ascent": 150.0,
|
||||||
"total_ascent": 178.0,
|
"total_ascent": 178.0,
|
||||||
@ -299,6 +327,7 @@ def get_workouts_by_sport(
|
|||||||
"total_duration": 9960
|
"total_duration": 9960
|
||||||
},
|
},
|
||||||
"2": {
|
"2": {
|
||||||
|
"average_speed": 15.95,
|
||||||
"nb_workouts": 1,
|
"nb_workouts": 1,
|
||||||
"total_ascent": 46.0,
|
"total_ascent": 46.0,
|
||||||
"total_ascent": 78.0,
|
"total_ascent": 78.0,
|
||||||
@ -306,6 +335,7 @@ def get_workouts_by_sport(
|
|||||||
"total_duration": 1267
|
"total_duration": 1267
|
||||||
},
|
},
|
||||||
"3": {
|
"3": {
|
||||||
|
"average_speed": 4.46,
|
||||||
"nb_workouts": 2,
|
"nb_workouts": 2,
|
||||||
"total_ascent": 203.0,
|
"total_ascent": 203.0,
|
||||||
"total_ascent": 156.0,
|
"total_ascent": 156.0,
|
||||||
|
@ -448,3 +448,16 @@ def get_upload_dir_size() -> int:
|
|||||||
fp = os.path.join(dir_path, f)
|
fp = os.path.join(dir_path, f)
|
||||||
total_size += os.path.getsize(fp)
|
total_size += os.path.getsize(fp)
|
||||||
return total_size
|
return total_size
|
||||||
|
|
||||||
|
|
||||||
|
def get_average_speed(
|
||||||
|
nb_workouts: int, total_average_speed: float, workout_average_speed: float
|
||||||
|
) -> float:
|
||||||
|
return round(
|
||||||
|
(
|
||||||
|
(total_average_speed * (nb_workouts - 1))
|
||||||
|
+ float(workout_average_speed)
|
||||||
|
)
|
||||||
|
/ nb_workouts,
|
||||||
|
2,
|
||||||
|
)
|
||||||
|
@ -2,10 +2,16 @@ import json
|
|||||||
import os
|
import os
|
||||||
import shutil
|
import shutil
|
||||||
from datetime import timedelta
|
from datetime import timedelta
|
||||||
from typing import Any, Dict, List, Optional, Tuple, Union
|
from typing import Dict, List, Optional, Tuple, Union
|
||||||
|
|
||||||
import requests
|
import requests
|
||||||
from flask import Blueprint, Response, current_app, request, send_file
|
from flask import (
|
||||||
|
Blueprint,
|
||||||
|
Response,
|
||||||
|
current_app,
|
||||||
|
request,
|
||||||
|
send_from_directory,
|
||||||
|
)
|
||||||
from sqlalchemy import exc
|
from sqlalchemy import exc
|
||||||
from werkzeug.exceptions import RequestEntityTooLarge
|
from werkzeug.exceptions import RequestEntityTooLarge
|
||||||
|
|
||||||
@ -703,8 +709,67 @@ def get_segment_chart_data(
|
|||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
@workouts_blueprint.route(
|
||||||
|
'/workouts/<string:workout_short_id>/gpx/download', methods=['GET']
|
||||||
|
)
|
||||||
|
@authenticate
|
||||||
|
def download_workout_gpx(
|
||||||
|
auth_user_id: int, workout_short_id: str
|
||||||
|
) -> Union[HttpResponse, Response]:
|
||||||
|
"""
|
||||||
|
Download gpx file
|
||||||
|
|
||||||
|
**Example request**:
|
||||||
|
|
||||||
|
.. sourcecode:: http
|
||||||
|
|
||||||
|
GET /api/workouts/kjxavSTUrJvoAh2wvCeGEF/gpx/download HTTP/1.1
|
||||||
|
|
||||||
|
**Example response**:
|
||||||
|
|
||||||
|
.. sourcecode:: http
|
||||||
|
|
||||||
|
HTTP/1.1 200 OK
|
||||||
|
Content-Type: application/gpx+xml
|
||||||
|
|
||||||
|
:param integer auth_user_id: authenticate user id (from JSON Web Token)
|
||||||
|
:param string workout_short_id: workout short id
|
||||||
|
|
||||||
|
:statuscode 200: success
|
||||||
|
:statuscode 401:
|
||||||
|
- provide a valid auth token
|
||||||
|
- signature expired, please log in again
|
||||||
|
- invalid token, please log in again
|
||||||
|
:statuscode 404:
|
||||||
|
- workout not found
|
||||||
|
- no gpx file for workout
|
||||||
|
"""
|
||||||
|
workout_uuid = decode_short_id(workout_short_id)
|
||||||
|
workout = Workout.query.filter_by(
|
||||||
|
uuid=workout_uuid, user_id=auth_user_id
|
||||||
|
).first()
|
||||||
|
if not workout:
|
||||||
|
return DataNotFoundErrorResponse(
|
||||||
|
data_type='workout',
|
||||||
|
message=f'workout not found (id: {workout_short_id})',
|
||||||
|
)
|
||||||
|
|
||||||
|
if workout.gpx is None:
|
||||||
|
return DataNotFoundErrorResponse(
|
||||||
|
data_type='gpx',
|
||||||
|
message=f'no gpx file for workout (id: {workout_short_id})',
|
||||||
|
)
|
||||||
|
|
||||||
|
return send_from_directory(
|
||||||
|
current_app.config['UPLOAD_FOLDER'],
|
||||||
|
workout.gpx,
|
||||||
|
mimetype='application/gpx+xml',
|
||||||
|
as_attachment=True,
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
@workouts_blueprint.route('/workouts/map/<map_id>', methods=['GET'])
|
@workouts_blueprint.route('/workouts/map/<map_id>', methods=['GET'])
|
||||||
def get_map(map_id: int) -> Any:
|
def get_map(map_id: int) -> Union[HttpResponse, Response]:
|
||||||
"""
|
"""
|
||||||
Get map image for workouts with gpx
|
Get map image for workouts with gpx
|
||||||
|
|
||||||
@ -737,8 +802,10 @@ def get_map(map_id: int) -> Any:
|
|||||||
workout = Workout.query.filter_by(map_id=map_id).first()
|
workout = Workout.query.filter_by(map_id=map_id).first()
|
||||||
if not workout:
|
if not workout:
|
||||||
return NotFoundErrorResponse('Map does not exist.')
|
return NotFoundErrorResponse('Map does not exist.')
|
||||||
absolute_map_filepath = get_absolute_file_path(workout.map)
|
return send_from_directory(
|
||||||
return send_file(absolute_map_filepath)
|
current_app.config['UPLOAD_FOLDER'],
|
||||||
|
workout.map,
|
||||||
|
)
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
return handle_error_and_return_response(e)
|
return handle_error_and_return_response(e)
|
||||||
|
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "fittrackee_client",
|
"name": "fittrackee_client",
|
||||||
"version": "0.5.0",
|
"version": "0.5.1",
|
||||||
"private": true,
|
"private": true,
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"serve": "vue-cli-service serve",
|
"serve": "vue-cli-service serve",
|
||||||
@ -22,13 +22,13 @@
|
|||||||
"leaflet": "^1.7.1",
|
"leaflet": "^1.7.1",
|
||||||
"register-service-worker": "^1.7.1",
|
"register-service-worker": "^1.7.1",
|
||||||
"vue": "^3.0.0",
|
"vue": "^3.0.0",
|
||||||
"vue-chart-3": "^0.5.11",
|
"vue-chart-3": "^3.0.3",
|
||||||
"vue-i18n": "^9.1.9",
|
"vue-i18n": "^9.1.9",
|
||||||
"vue-router": "^4.0.0-0",
|
"vue-router": "^4.0.0-0",
|
||||||
"vuex": "^4.0.0-0"
|
"vuex": "^4.0.0-0"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@intlify/vue-i18n-loader": "^3.3.0",
|
"@intlify/vue-i18n-loader": "^4.0.1",
|
||||||
"@types/chai": "^4.2.11",
|
"@types/chai": "^4.2.11",
|
||||||
"@types/mocha": "^9.0.0",
|
"@types/mocha": "^9.0.0",
|
||||||
"@typescript-eslint/eslint-plugin": "^4.18.0",
|
"@typescript-eslint/eslint-plugin": "^4.18.0",
|
||||||
@ -52,7 +52,7 @@
|
|||||||
"eslint-plugin-vue": "^7.0.0",
|
"eslint-plugin-vue": "^7.0.0",
|
||||||
"prettier": "^2.2.1",
|
"prettier": "^2.2.1",
|
||||||
"sass": "^1.26.5",
|
"sass": "^1.26.5",
|
||||||
"sass-loader": "^8.0.2",
|
"sass-loader": "^10.2.0",
|
||||||
"typescript": "~4.4.4",
|
"typescript": "~4.4.4",
|
||||||
"vue-cli-plugin-i18n": "~2.3.1"
|
"vue-cli-plugin-i18n": "~2.3.1"
|
||||||
},
|
},
|
||||||
|