FitTrackee/docs/features.html
2023-04-12 17:32:13 +02:00

483 lines
21 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.19: https://docutils.sourceforge.io/" />
<title>Features &#8212; FitTrackee 0.7.15
documentation</title>
<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/css/fork-awesome.min.css" />
<link rel="stylesheet" type="text/css" href="_static/css/custom.css" />
<script data-url_root="./" id="documentation_options" src="_static/documentation_options.js"></script>
<script src="_static/jquery.js"></script>
<script src="_static/underscore.js"></script>
<script src="_static/_sphinx_javascript_frameworks_compat.js"></script>
<script src="_static/doctools.js"></script>
<script src="_static/sphinx_highlight.js"></script>
<link rel="index" title="Index" href="genindex.html" />
<link rel="search" title="Search" href="search.html" />
<link rel="next" title="OAuth 2.0" href="oauth.html" />
<link rel="prev" title="FitTrackee" href="index.html" />
<meta charset='utf-8'>
<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="apple-mobile-web-app-capable" content="yes">
<script type="text/javascript" src="_static/js/jquery-1.12.4.min.js"></script>
<script type="text/javascript" src="_static/js/jquery-fix.js"></script>
<script type="text/javascript" src="_static/bootstrap-3.4.1/js/bootstrap.min.js"></script>
<script type="text/javascript" src="_static/bootstrap-sphinx.js"></script>
</head><body>
<div id="navbar" class="navbar navbar-default navbar-fixed-top">
<div class="container">
<div class="navbar-header">
<!-- .btn-navbar is used as the toggle for collapsed navbar content -->
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".nav-collapse">
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<a class="navbar-brand" href="index.html">
FitTrackee</a>
<span class="navbar-text navbar-version pull-left"><b>0.7.15
</b></span>
</div>
<div class="collapse navbar-collapse nav-collapse">
<ul class="nav navbar-nav">
<li><a href="https://github.com/SamR1/FitTrackee">GitHub</a></li>
<li class="dropdown globaltoc-container">
<a role="button"
id="dLabelGlobalToc"
data-toggle="dropdown"
data-target="#"
href="index.html">Docs <b class="caret"></b></a>
<ul class="dropdown-menu globaltoc"
role="menu"
aria-labelledby="dLabelGlobalToc"><ul class="current">
<li class="toctree-l1 current"><a class="current reference internal" href="#">Features</a></li>
<li class="toctree-l1"><a class="reference internal" href="oauth.html">OAuth 2.0</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="cli.html">Command line interface</a></li>
<li class="toctree-l1"><a class="reference internal" href="third_party_tools.html">Third-party tools</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="changelog.html">Change log</a></li>
</ul>
</ul>
</li>
<li class="dropdown">
<a role="button"
id="dLabelLocalToc"
data-toggle="dropdown"
data-target="#"
href="#">Page <b class="caret"></b></a>
<ul class="dropdown-menu localtoc"
role="menu"
aria-labelledby="dLabelLocalToc"><ul>
<li><a class="reference internal" href="#">Features</a><ul>
<li><a class="reference internal" href="#workouts">Workouts</a></li>
<li><a class="reference internal" href="#account-preferences">Account &amp; preferences</a></li>
<li><a class="reference internal" href="#administration">Administration</a><ul>
<li><a class="reference internal" href="#application">Application</a></li>
<li><a class="reference internal" href="#users">Users</a></li>
<li><a class="reference internal" href="#sports">Sports</a></li>
</ul>
</li>
<li><a class="reference internal" href="#translations">Translations</a></li>
<li><a class="reference internal" href="#screenshots">Screenshots</a><ul>
<li><a class="reference internal" href="#dashboard">Dashboard</a></li>
<li><a class="reference internal" href="#workout-detail">Workout detail</a></li>
<li><a class="reference internal" href="#workouts-list">Workouts list</a></li>
<li><a class="reference internal" href="#statistics">Statistics</a></li>
<li><a class="reference internal" href="#id1">Administration</a></li>
</ul>
</li>
</ul>
</li>
</ul>
</ul>
</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">&laquo; FitTrackee</span>
</a>
</li>
<li>
<a href="oauth.html" title="Next Chapter: OAuth 2.0"><span class="glyphicon glyphicon-chevron-right visible-sm"></span><span class="hidden-sm hidden-tablet">OAuth 2.0 &raquo;</span>
</a>
</li>
<li class="hidden-sm">
<div id="sourcelink">
<a href="_sources/features.rst.txt"
rel="nofollow">Source</a>
</div></li>
</ul>
<form class="navbar-form navbar-right" action="search.html" method="get">
<div class="form-group">
<input type="text" name="q" class="form-control" placeholder="Search" />
</div>
<input type="hidden" name="check_keywords" value="yes" />
<input type="hidden" name="area" value="default" />
</form>
</div>
</div>
</div>
<div class="container">
<div class="row">
<div class="body col-md-12 content" role="main">
<section id="features">
<h1>Features<a class="headerlink" href="#features" title="Permalink to this heading"></a></h1>
<div class="line-block">
<div class="line"><strong>FitTrackee</strong> allows you to store and display gpx files and some statistics from your outdoor activities.</div>
<div class="line">For now, this app is kind of a single-user application. Even if several users can register, a user can only view his own workouts.</div>
</div>
<p>Gpx files are stored in an upload directory (without encryption).</p>
<p>With the default configuration, <a class="reference external" href="https://www.openstreetmap.org">Open Street Map</a> is used as tile server in Workout detail and for static map generation.</p>
<section id="workouts">
<h2>Workouts<a class="headerlink" href="#workouts" title="Permalink to this heading"></a></h2>
<ul class="simple">
<li><dl class="simple">
<dt>14 sports are supported:</dt><dd><ul>
<li><p>Cycling (Sport)</p></li>
<li><p>Cycling (Transport)</p></li>
<li><p>Cycling (Virtual) (<em>new in 0.7.3</em>)</p></li>
<li><p>Hiking</p></li>
<li><p>Mountain Biking</p></li>
<li><p>Mountain Biking (Electric) (<em>new in 0.5.0</em>)</p></li>
<li><p>Mountaineering (<em>new in 0.7.9</em>)</p></li>
<li><p>Rowing (<em>new in 0.5.0</em>)</p></li>
<li><p>Running</p></li>
<li><p>Skiing (Alpine) (<em>new in 0.5.0</em>)</p></li>
<li><p>Skiing (Cross Country) (<em>new in 0.5.0</em>)</p></li>
<li><p>Snowshoes (<em>new in 0.5.2</em>)</p></li>
<li><p>Trail (<em>new in 0.5.0</em>)</p></li>
<li><p>Walking</p></li>
</ul>
</dd>
</dl>
</li>
<li><dl class="simple">
<dt>(<em>new in 0.5.0</em>) Stopped speed threshold used by <a class="reference external" href="https://github.com/tkrajina/gpxpy">gpxpy</a> is not the default one for the following sports (0.1 km/h instead of 1 km/h):</dt><dd><ul>
<li><p>Hiking</p></li>
<li><p>Mountaineering</p></li>
<li><p>Skiing (Cross Country)</p></li>
<li><p>Snowshoes</p></li>
<li><p>Trail</p></li>
<li><p>Walking</p></li>
</ul>
</dd>
</dl>
</li>
</ul>
<div class="admonition note">
<p class="admonition-title">Note</p>
<p>It can be overridden in user preferences.</p>
</div>
<ul class="simple">
<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 in metric system).</p></li>
</ul>
<div class="admonition note">
<p class="admonition-title">Note</p>
<div class="line-block">
<div class="line">Only gpx files with time are supported.</div>
<div class="line">Calculated values may differ from values calculated by the application that originally generated the gpx files, in particular the maximum speed.</div>
</div>
</div>
<ul>
<li><div class="line-block">
<div class="line">A workout can even be created without gpx (the user must enter date, time, duration and distance).</div>
<div class="line">Ascent and descent can also be provided (<em>new in 0.7.10</em>).</div>
</div>
</li>
<li><div class="line-block">
<div class="line">A workout with a gpx file can be displayed with map and charts (speed and elevation).</div>
<div class="line">Controls allow full screen view and position reset (<em>new in 0.5.5</em>).</div>
</div>
</li>
<li><div class="line-block">
<div class="line">If <strong>Visual Crossing</strong> (<em>new in 0.7.11</em>) API key is provided, weather is displayed in workout detail. Data source is displayed in <strong>About</strong> page.</div>
<div class="line">Wind is displayed, with an arrow indicating the direction (a tooltip can be displayed with the direction that the wind is coming <strong>from</strong>) (<em>new in 0.5.5</em>).</div>
</div>
</li>
<li><p>Segments can be displayed.</p></li>
<li><p>Workout gpx file can be downloaded (<em>new in 0.5.1</em>)</p></li>
<li><p>Workout edition and deletion. User can add a note.</p></li>
<li><dl class="simple">
<dt>User statistics, by time period (week, month, year) and sport:</dt><dd><ul class="simple">
<li><p>total distance</p></li>
<li><p>total duration</p></li>
<li><p>total workouts</p></li>
<li><p>total ascent (<em>new in 0.5.0</em>)</p></li>
<li><p>total descent (<em>new in 0.5.0</em>)</p></li>
<li><p>average speed (<em>new in 0.5.1</em>)</p></li>
</ul>
</dd>
</dl>
</li>
<li><dl class="simple">
<dt>User records by sports:</dt><dd><ul class="simple">
<li><p>average speed</p></li>
<li><p>farthest distance</p></li>
<li><p>highest ascent (<em>new in 0.6.11</em>, can be hidden, see user preferences)</p></li>
<li><p>longest duration</p></li>
<li><p>maximum speed</p></li>
</ul>
</dd>
</dl>
</li>
</ul>
<div class="admonition note">
<p class="admonition-title">Note</p>
<p>Records may differ from records displayed by the application that originally generated the gpx files.</p>
</div>
<ul class="simple">
<li><dl class="simple">
<dt>Workouts list.</dt><dd><ul>
<li><dl class="simple">
<dt>The user can filter workouts on:</dt><dd><ul>
<li><p>date</p></li>
<li><p>sports (only sports with workouts are displayed in sport dropdown)</p></li>
<li><p>title (<em>new in 0.7.15</em>)</p></li>
<li><p>distance</p></li>
<li><p>duration</p></li>
<li><p>average speed</p></li>
<li><p>maximum speed</p></li>
</ul>
</dd>
</dl>
</li>
<li><dl class="simple">
<dt>Workouts can be sorted by:</dt><dd><ul>
<li><p>date</p></li>
<li><p>distance</p></li>
<li><p>duration</p></li>
<li><p>average speed</p></li>
</ul>
</dd>
</dl>
</li>
</ul>
</dd>
</dl>
</li>
</ul>
<div class="admonition note">
<p class="admonition-title">Note</p>
<p>For now, only the owner of the workout can see it.</p>
</div>
</section>
<section id="account-preferences">
<h2>Account &amp; preferences<a class="headerlink" href="#account-preferences" title="Permalink to this heading"></a></h2>
<ul class="simple">
<li><p>A user can create, update and deleted his account.</p></li>
<li><p>The user must agree to the privacy policy to register. If a more recent policy is available, a message is displayed on the dashboard to review the new version (<em>new in 0.7.13</em>).</p></li>
<li><p>On registration, the user account is created with selected language in dropdown as user preference (<em>new in 0.6.9</em>).</p></li>
<li><p>After registration, the user account is inactive and an email with confirmation instructions is sent to activate it.
A user with an inactive account cannot log in. (<em>new in 0.6.0</em>).</p></li>
</ul>
<div class="admonition note">
<p class="admonition-title">Note</p>
<p>In case email sending is not configured, a <a class="reference external" href="cli.html#ftcli-users-update">command line</a> allows to activate users account.</p>
</div>
<ul class="simple">
<li><p>A user can set language, timezone and first day of week.</p></li>
<li><p>A user can reset his password (<em>new in 0.3.0</em>)</p></li>
<li><p>A user can change his email address (<em>new in 0.6.0</em>)</p></li>
<li><p>A user can choose between metric system and imperial system for distance, elevation and speed display (<em>new in 0.5.0</em>)</p></li>
<li><p>A user can choose to display or hide ascent records and total on Dashboard (<em>new in 0.6.11</em>)</p></li>
<li><p>A user can choose format used to display dates (<em>new in 0.7.3</em>)</p></li>
<li><p>A user can choose elevation chart axis start: zero or minimum altitude (<em>new in 0.7.15</em>)</p></li>
<li><dl class="simple">
<dt>A user can set sport preferences (<em>new in 0.5.0</em>):</dt><dd><ul>
<li><p>change sport color (used for sport image and charts)</p></li>
<li><p>can override stopped speed threshold (for next uploaded gpx files)</p></li>
<li><p>disable/enable a sport.</p></li>
</ul>
</dd>
</dl>
</li>
</ul>
<div class="admonition note">
<p class="admonition-title">Note</p>
<div class="line-block">
<div class="line">If a sport is disabled by an administrator, it can not be enabled by a user. In this case, it will only appear in preferences if the user has workouts and only sport color can be changed.</div>
<div class="line">A disabled sport (by admin or user) will not appear in dropdown when <strong>adding a workout</strong>.</div>
<div class="line">A workout with a disabled sport will still be displayed in the application.</div>
</div>
</div>
<ul>
<li><p>A user can create <a class="reference external" href="apps.html">clients</a> for third-party applications (<em>new in 0.7.0</em>).</p></li>
<li><div class="line-block">
<div class="line">A user can request a data export (<em>new in 0.7.13</em>).</div>
<div class="line">It generates a zip archive containing 2 <code class="docutils literal notranslate"><span class="pre">json</span></code> files (user info and workouts data) and all uploaded gpx files.</div>
</div>
</li>
</ul>
<div class="admonition note">
<p class="admonition-title">Note</p>
<p>For now, its not possible to import these files into another <strong>FitTrackee</strong> instance.</p>
</div>
</section>
<section id="administration">
<h2>Administration<a class="headerlink" href="#administration" title="Permalink to this heading"></a></h2>
<p>(<em>new in 0.3.0</em>)</p>
<section id="application">
<h3>Application<a class="headerlink" href="#application" title="Permalink to this heading"></a></h3>
<p><strong>Configuration</strong></p>
<p>The following parameters can be set:</p>
<ul class="simple">
<li><p>active users limit. If 0, registration is enabled (no limit defined).</p></li>
<li><p>maximum size of gpx file (individually uploaded or in a zip archive) (<em>changed in 0.7.4</em>)</p></li>
<li><p>maximum size of zip archive</p></li>
<li><p>maximum number of files in the zip archive (<em>changed in 0.7.4</em>)</p></li>
<li><p>administrator email for contact (<em>new in 0.6.0</em>)</p></li>
</ul>
<div class="admonition warning">
<p class="admonition-title">Warning</p>
<p>Updating server configuration may be necessary to handle large files (like <a class="reference external" href="https://nginx.org/en/docs/http/ngx_http_core_module.html#client_max_body_size">nginx</a> for instance).</p>
</div>
<div class="admonition note">
<p class="admonition-title">Note</p>
<p>If email sending is disabled, a warning is displayed.</p>
</div>
<p><strong>About</strong></p>
<p>(<em>new in 0.7.13</em>)</p>
<div class="line-block">
<div class="line">It is possible displayed additional information that may be useful to users in <strong>About</strong> page.</div>
<div class="line">Markdown syntax can be used.</div>
</div>
<p><strong>Privacy policy</strong></p>
<p>(<em>new in 0.7.13</em>)</p>
<div class="line-block">
<div class="line">A default privacy policy is available (originally adapted from the <a class="reference external" href="https://github.com/discourse/discourse">Discourse</a> privacy policy).</div>
<div class="line">A custom privacy policy can set if needed (Markdown syntax can be used). A policy update will display a message on users dashboard to review it.</div>
</div>
<div class="admonition note">
<p class="admonition-title">Note</p>
<p>Only the default privacy policy is translated (if the translation is available).</p>
</div>
</section>
<section id="users">
<h3>Users<a class="headerlink" href="#users" title="Permalink to this heading"></a></h3>
<ul class="simple">
<li><p>display and filter users list</p></li>
<li><p>edit a user to:</p>
<ul>
<li><p>add/remove administration rights</p></li>
<li><p>activate his account (<em>new in 0.6.0</em>)</p></li>
<li><p>update his email (in case his account is locked) (<em>new in 0.6.0</em>)</p></li>
<li><p>reset his password (in case his account is locked) (<em>new in 0.6.0</em>). If email sending is disabled, it is only possible via CLI.</p></li>
</ul>
</li>
<li><p>delete a user</p></li>
</ul>
</section>
<section id="sports">
<h3>Sports<a class="headerlink" href="#sports" title="Permalink to this heading"></a></h3>
<ul class="simple">
<li><p>enable or disable a sport (a sport can be disabled even if workout with this sport exists)</p></li>
</ul>
</section>
</section>
<section id="translations">
<h2>Translations<a class="headerlink" href="#translations" title="Permalink to this heading"></a></h2>
<p>FitTrackee is available in the following languages (which can be saved in the user preferences):</p>
<ul class="simple">
<li><p>English</p></li>
<li><p>French (<em>new in 0.2.3</em>)</p></li>
<li><p>German (<em>new in 0.6.9</em>)</p></li>
<li><p>Dutch (<em>new in 0.7.8</em>)</p></li>
<li><p>Italian (<em>new in 0.7.10</em>)</p></li>
<li><p>Galician (<em>new in 0.7.15</em>)</p></li>
<li><p>Spanish (<em>new in 0.7.15</em>)</p></li>
<li><p>Norwegian Bokmål (<em>new in 0.7.15</em>)</p></li>
</ul>
<p>Translations status on <a class="reference external" href="https://hosted.weblate.org/engage/fittrackee/">Weblate</a> (may differ from the released version):</p>
<figure class="align-default">
<img alt="https://hosted.weblate.org/widgets/fittrackee/-/multi-auto.svg" src="https://hosted.weblate.org/widgets/fittrackee/-/multi-auto.svg" /></figure>
</section>
<section id="screenshots">
<h2>Screenshots<a class="headerlink" href="#screenshots" title="Permalink to this heading"></a></h2>
<section id="dashboard">
<h3>Dashboard<a class="headerlink" href="#dashboard" title="Permalink to this heading"></a></h3>
<figure class="align-default">
<img alt="FitTrackee Dashboard" src="_images/fittrackee_screenshot-01.png" />
</figure>
</section>
<section id="workout-detail">
<h3>Workout detail<a class="headerlink" href="#workout-detail" title="Permalink to this heading"></a></h3>
<figure class="align-default">
<img alt="FitTrackee Workout" src="_images/fittrackee_screenshot-02.png" />
</figure>
</section>
<section id="workouts-list">
<h3>Workouts list<a class="headerlink" href="#workouts-list" title="Permalink to this heading"></a></h3>
<figure class="align-default">
<img alt="FitTrackee Workouts" src="_images/fittrackee_screenshot-03.png" />
</figure>
</section>
<section id="statistics">
<h3>Statistics<a class="headerlink" href="#statistics" title="Permalink to this heading"></a></h3>
<figure class="align-default">
<img alt="FitTrackee Statistics" src="_images/fittrackee_screenshot-04.png" />
</figure>
</section>
<section id="id1">
<h3>Administration<a class="headerlink" href="#id1" title="Permalink to this heading"></a></h3>
<figure class="align-default">
<img alt="FitTrackee Administration" src="_images/fittrackee_screenshot-05.png" />
</figure>
<figure class="align-default">
<img alt="FitTrackee Sports Administration" src="_images/fittrackee_screenshot-06.png" />
</figure>
</section>
</section>
</section>
</div>
</div>
</div>
<footer class="footer">
<div class="container">
<p class="pull-right">
<a href="#">Back to top</a>
</p>
<p>
&copy; Copyright 2018 - 2023, SamR1 <a rel="me" href="https://fosstodon.org/@FitTrackee"><i class="fa fa-mastodon" aria-hidden="true"></i></a>.
Last updated on Apr 12, 2023.<br/>
Created using <a href="http://sphinx-doc.org/">Sphinx</a> 5.3.0.<br/>
</p>
</div>
</footer>
</body>
</html>