Merge branch 'master' into v0.3.0

Conflicts:
	docs/objects.inv
	docs/searchindex.js
	fittrackee_api/poetry.lock
	fittrackee_api/pyproject.toml
	fittrackee_client/src/actions/index.js
	fittrackee_client/src/components/App.jsx
	fittrackee_client/src/utils/index.js
This commit is contained in:
Sam 2020-02-07 11:12:32 +01:00
commit 175c608920
55 changed files with 827 additions and 1091 deletions

View File

@ -1,5 +1,17 @@
# Change log
## Version 0.2.5 - Fix and improvements (2020/01/31)
### Misc
This version contains minor fix and improvements on client side:
* [4c3fc34](https://github.com/SamR1/FitTrackee/commit/4c3fc343d51b9c27d3ebab71df648bcf7d7bae59) - empty user data on logout
* [34614d5](https://github.com/SamR1/FitTrackee/commit/34614d5a6c29f4911d92db33d36fe95721b39f33) - add spinner on loading activities
* [b862a77](https://github.com/SamR1/FitTrackee/commit/b862a77344abbb07d98fe3ce8b157b5cef0e8d1c),
[2e1ee2c](https://github.com/SamR1/FitTrackee/commit/2e1ee2c7a1456eb2fe0c0255959c695cc7908975) -
add URL interceptors to simplify routes definition
## Version 0.2.4 - Minor fix (2020/01/30)
### Issues Closed

View File

@ -25,7 +25,7 @@ It is also possible to add a workout without a gpx file.
**Still under development (not ready for production).**
(see [issues](https://github.com/SamR1/FitTrackee/issues) and [documentation](https://samr1.github.io/FitTrackee) for more information)
![FitTrackee Dashboard](misc/images/fittrackee_screenshot-01.png)
![FitTrackee Dashboard](docsrc/source/_images/fittrackee_screenshot-01.png)
---

View File

@ -1 +1 @@
0.2.4-beta
0.2.5-beta

View File

@ -1,4 +1,4 @@
# Sphinx build info version 1
# This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done.
config: 1fcfb69d27cc89d68586df68df16169a
config: 8aafab39ba1d615e5c19bca92be62585
tags: 645f666f9bcd5a90fca523b33c5a78b7

Binary file not shown.

Before

Width:  |  Height:  |  Size: 599 KiB

After

Width:  |  Height:  |  Size: 599 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 539 KiB

After

Width:  |  Height:  |  Size: 539 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 205 KiB

After

Width:  |  Height:  |  Size: 205 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 63 KiB

After

Width:  |  Height:  |  Size: 63 KiB

View File

@ -1,5 +1,17 @@
# Change log
## Version 0.2.5 - Fix and improvements (2020/01/31)
### Misc
This version contains minor fix and improvements on client side:
* [4c3fc34](https://github.com/SamR1/FitTrackee/commit/4c3fc343d51b9c27d3ebab71df648bcf7d7bae59) - empty user data on logout
* [34614d5](https://github.com/SamR1/FitTrackee/commit/34614d5a6c29f4911d92db33d36fe95721b39f33) - add spinner on loading activities
* [b862a77](https://github.com/SamR1/FitTrackee/commit/b862a77344abbb07d98fe3ce8b157b5cef0e8d1c),
[2e1ee2c](https://github.com/SamR1/FitTrackee/commit/2e1ee2c7a1456eb2fe0c0255959c695cc7908975) -
add URL interceptors to simplify routes definition
## Version 0.2.4 - Minor fix (2020/01/30)
### Issues Closed

View File

@ -43,23 +43,23 @@ FitTrackee is available in English and French (which can be saved in the user se
Dashboard
~~~~~~~~~
.. figure:: ../../misc/images/fittrackee_screenshot-01.png
.. figure:: _images/fittrackee_screenshot-01.png
:alt: FitTrackee Dashboard
Activity/workout detail
~~~~~~~~~~~~~~~~~~~~~~~
.. figure:: ../../misc/images/fittrackee_screenshot-02.png
.. figure:: _images/fittrackee_screenshot-02.png
:alt: FitTrackee Activity
Activities/workouts list
~~~~~~~~~~~~~~~~~~~~~~~~
.. figure:: ../../misc/images/fittrackee_screenshot-03.png
.. figure:: _images/fittrackee_screenshot-03.png
:alt: FitTrackee Activities
Statistics
~~~~~~~~~~
.. figure:: ../../misc/images/fittrackee_screenshot-04.png
.. figure:: _images/fittrackee_screenshot-04.png
:alt: FitTrackee Statistics

View File

@ -23,7 +23,7 @@ FitTrackee
| **Still under development (not ready for production).**
| (see `issues <https://github.com/SamR1/FitTrackee/issues>`__ for more information)
.. figure:: ../../misc/images/fittrackee_screenshot-01.png
.. figure:: _images/fittrackee_screenshot-01.png
:alt: FitTrackee Dashboard

View File

@ -87,12 +87,12 @@ Prod environment
.. warning::
Note that FitTrackee is not production-ready yet
- Download the last release (for now, it is the beta release v0.2.3):
- Download the last release (for now, it is the beta release v0.2.5):
.. code:: bash
$ wget https://github.com/SamR1/FitTrackee/archive/v0.2.3-beta.tar.gz
$ tar -xzf v0.2.3-beta.tar.gz
$ wget https://github.com/SamR1/FitTrackee/archive/v0.2.5-beta.tar.gz
$ tar -xzf v0.2.5-beta.tar.gz
$ mv FitTrackee-0.2.3-beta FitTrackee
$ cd FitTrackee

View File

@ -1,6 +1,6 @@
var DOCUMENTATION_OPTIONS = {
URL_ROOT: document.getElementById("documentation_options").getAttribute('data-url_root'),
VERSION: '0.2.4-beta',
VERSION: '0.2.5-beta',
LANGUAGE: 'None',
COLLAPSE_INDEX: false,
BUILDER: 'html',

View File

@ -3,7 +3,7 @@
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta charset="utf-8" />
<title>Activities &#8212; FitTrackee 0.2.4-beta
<title>Activities &#8212; FitTrackee 0.2.5-beta
documentation</title>
<link rel="stylesheet" href="../_static/bootstrap-sphinx.css" type="text/css" />
<link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
@ -39,7 +39,7 @@
</button>
<a class="navbar-brand" href="../index.html">
FitTrackee</a>
<span class="navbar-text navbar-version pull-left"><b>0.2.4</b></span>
<span class="navbar-text navbar-version pull-left"><b>0.2.5</b></span>
</div>
<div class="collapse navbar-collapse nav-collapse">

View File

@ -3,7 +3,7 @@
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta charset="utf-8" />
<title>Authentication &#8212; FitTrackee 0.2.4-beta
<title>Authentication &#8212; FitTrackee 0.2.5-beta
documentation</title>
<link rel="stylesheet" href="../_static/bootstrap-sphinx.css" type="text/css" />
<link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
@ -39,7 +39,7 @@
</button>
<a class="navbar-brand" href="../index.html">
FitTrackee</a>
<span class="navbar-text navbar-version pull-left"><b>0.2.4</b></span>
<span class="navbar-text navbar-version pull-left"><b>0.2.5</b></span>
</div>
<div class="collapse navbar-collapse nav-collapse">

View File

@ -3,7 +3,7 @@
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta charset="utf-8" />
<title>Configuration &#8212; FitTrackee 0.2.4-beta
<title>Configuration &#8212; FitTrackee 0.2.5-beta
documentation</title>
<link rel="stylesheet" href="../_static/bootstrap-sphinx.css" type="text/css" />
<link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
@ -39,7 +39,7 @@
</button>
<a class="navbar-brand" href="../index.html">
FitTrackee</a>
<span class="navbar-text navbar-version pull-left"><b>0.2.4</b></span>
<span class="navbar-text navbar-version pull-left"><b>0.2.5</b></span>
</div>
<div class="collapse navbar-collapse nav-collapse">

View File

@ -3,7 +3,7 @@
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta charset="utf-8" />
<title>API documentation &#8212; FitTrackee 0.2.4-beta
<title>API documentation &#8212; FitTrackee 0.2.5-beta
documentation</title>
<link rel="stylesheet" href="../_static/bootstrap-sphinx.css" type="text/css" />
<link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
@ -39,7 +39,7 @@
</button>
<a class="navbar-brand" href="../index.html">
FitTrackee</a>
<span class="navbar-text navbar-version pull-left"><b>0.2.4</b></span>
<span class="navbar-text navbar-version pull-left"><b>0.2.5</b></span>
</div>
<div class="collapse navbar-collapse nav-collapse">

View File

@ -3,7 +3,7 @@
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta charset="utf-8" />
<title>Records &#8212; FitTrackee 0.2.4-beta
<title>Records &#8212; FitTrackee 0.2.5-beta
documentation</title>
<link rel="stylesheet" href="../_static/bootstrap-sphinx.css" type="text/css" />
<link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
@ -39,7 +39,7 @@
</button>
<a class="navbar-brand" href="../index.html">
FitTrackee</a>
<span class="navbar-text navbar-version pull-left"><b>0.2.4</b></span>
<span class="navbar-text navbar-version pull-left"><b>0.2.5</b></span>
</div>
<div class="collapse navbar-collapse nav-collapse">

View File

@ -3,7 +3,7 @@
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta charset="utf-8" />
<title>Sports &#8212; FitTrackee 0.2.4-beta
<title>Sports &#8212; FitTrackee 0.2.5-beta
documentation</title>
<link rel="stylesheet" href="../_static/bootstrap-sphinx.css" type="text/css" />
<link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
@ -39,7 +39,7 @@
</button>
<a class="navbar-brand" href="../index.html">
FitTrackee</a>
<span class="navbar-text navbar-version pull-left"><b>0.2.4</b></span>
<span class="navbar-text navbar-version pull-left"><b>0.2.5</b></span>
</div>
<div class="collapse navbar-collapse nav-collapse">

View File

@ -3,7 +3,7 @@
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta charset="utf-8" />
<title>Statistics &#8212; FitTrackee 0.2.4-beta
<title>Statistics &#8212; FitTrackee 0.2.5-beta
documentation</title>
<link rel="stylesheet" href="../_static/bootstrap-sphinx.css" type="text/css" />
<link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
@ -39,7 +39,7 @@
</button>
<a class="navbar-brand" href="../index.html">
FitTrackee</a>
<span class="navbar-text navbar-version pull-left"><b>0.2.4</b></span>
<span class="navbar-text navbar-version pull-left"><b>0.2.5</b></span>
</div>
<div class="collapse navbar-collapse nav-collapse">

View File

@ -3,7 +3,7 @@
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta charset="utf-8" />
<title>Users &#8212; FitTrackee 0.2.4-beta
<title>Users &#8212; FitTrackee 0.2.5-beta
documentation</title>
<link rel="stylesheet" href="../_static/bootstrap-sphinx.css" type="text/css" />
<link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
@ -39,7 +39,7 @@
</button>
<a class="navbar-brand" href="../index.html">
FitTrackee</a>
<span class="navbar-text navbar-version pull-left"><b>0.2.4</b></span>
<span class="navbar-text navbar-version pull-left"><b>0.2.5</b></span>
</div>
<div class="collapse navbar-collapse nav-collapse">

View File

@ -3,7 +3,7 @@
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta charset="utf-8" />
<title>Change log &#8212; FitTrackee 0.2.4-beta
<title>Change log &#8212; FitTrackee 0.2.5-beta
documentation</title>
<link rel="stylesheet" href="_static/bootstrap-sphinx.css" type="text/css" />
<link rel="stylesheet" href="_static/pygments.css" type="text/css" />
@ -38,7 +38,7 @@
</button>
<a class="navbar-brand" href="index.html">
FitTrackee</a>
<span class="navbar-text navbar-version pull-left"><b>0.2.4</b></span>
<span class="navbar-text navbar-version pull-left"><b>0.2.5</b></span>
</div>
<div class="collapse navbar-collapse nav-collapse">
@ -75,6 +75,10 @@
role="menu"
aria-labelledby="dLabelLocalToc"><ul>
<li><a class="reference internal" href="#">Change log</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="#misc">Misc</a></li>
</ul>
</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="#issues-closed">Issues Closed</a><ul>
<li><a class="reference internal" href="#bugs-fixed">Bugs Fixed</a></li>
@ -103,28 +107,28 @@
<li><a class="reference internal" href="#id7">Bugs Fixed</a></li>
</ul>
</li>
<li><a class="reference internal" href="#misc">Misc</a></li>
<li><a class="reference internal" href="#id8">Misc</a></li>
</ul>
</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="#id8">Issues Closed</a><ul>
<li><a class="reference internal" href="#id9">New Features</a></li>
<li><a class="reference internal" href="#id9">Issues Closed</a><ul>
<li><a class="reference internal" href="#id10">New Features</a></li>
</ul>
</li>
<li><a class="reference internal" href="#id10">Misc</a></li>
<li><a class="reference internal" href="#id11">Misc</a></li>
</ul>
</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="#id11">Issues Closed</a><ul>
<li><a class="reference internal" href="#id12">New Features</a></li>
<li><a class="reference internal" href="#id13">Bugs Fixed</a></li>
<li><a class="reference internal" href="#id12">Issues Closed</a><ul>
<li><a class="reference internal" href="#id13">New Features</a></li>
<li><a class="reference internal" href="#id14">Bugs Fixed</a></li>
</ul>
</li>
</ul>
</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="#id14">Issues Closed</a><ul>
<li><a class="reference internal" href="#id15">New Features</a></li>
<li><a class="reference internal" href="#id15">Issues Closed</a><ul>
<li><a class="reference internal" href="#id16">New Features</a></li>
</ul>
</li>
</ul>
@ -176,6 +180,20 @@
<div class="section" id="change-log">
<h1>Change log<a class="headerlink" href="#change-log" title="Permalink to this headline"></a></h1>
<div class="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>
<div class="section" id="misc">
<h3>Misc<a class="headerlink" href="#misc" title="Permalink to this headline"></a></h3>
<p>This version contains minor fix and improvements on client side:</p>
<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/34614d5a6c29f4911d92db33d36fe95721b39f33">34614d5</a> - add spinner on loading activities</p></li>
<li><p><a class="reference external" href="https://github.com/SamR1/FitTrackee/commit/b862a77344abbb07d98fe3ce8b157b5cef0e8d1c">b862a77</a>,
<a class="reference external" href="https://github.com/SamR1/FitTrackee/commit/2e1ee2c7a1456eb2fe0c0255959c695cc7908975">2e1ee2c</a> -
add URL interceptors to simplify routes definition</p></li>
</ul>
</div>
</div>
<div class="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>
<div class="section" id="issues-closed">
@ -246,8 +264,8 @@
</ul>
</div>
</div>
<div class="section" id="misc">
<h3>Misc<a class="headerlink" href="#misc" title="Permalink to this headline"></a></h3>
<div class="section" id="id8">
<h3>Misc<a class="headerlink" href="#id8" title="Permalink to this headline"></a></h3>
<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>
</ul>
@ -256,17 +274,17 @@
</div>
<div class="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>
<div class="section" id="id8">
<h3>Issues Closed<a class="headerlink" href="#id8" title="Permalink to this headline"></a></h3>
<div class="section" id="id9">
<h4>New Features<a class="headerlink" href="#id9" title="Permalink to this headline"></a></h4>
<h3>Issues Closed<a class="headerlink" href="#id9" title="Permalink to this headline"></a></h3>
<div class="section" id="id10">
<h4>New Features<a class="headerlink" href="#id10" title="Permalink to this headline"></a></h4>
<ul class="simple">
<li><p><a class="reference external" href="https://github.com/SamR1/Fittrackee/issues/13">#13</a> - Detailed statistics</p></li>
</ul>
</div>
</div>
<div class="section" id="id10">
<h3>Misc<a class="headerlink" href="#id10" title="Permalink to this headline"></a></h3>
<div class="section" id="id11">
<h3>Misc<a class="headerlink" href="#id11" title="Permalink to this headline"></a></h3>
<ul class="simple">
<li><p>Update dependencies</p></li>
</ul>
@ -275,17 +293,17 @@
</div>
<div class="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>
<div class="section" id="id11">
<h3>Issues Closed<a class="headerlink" href="#id11" title="Permalink to this headline"></a></h3>
<div class="section" id="id12">
<h4>New Features<a class="headerlink" href="#id12" title="Permalink to this headline"></a></h4>
<h3>Issues Closed<a class="headerlink" href="#id12" title="Permalink to this headline"></a></h3>
<div class="section" id="id13">
<h4>New Features<a class="headerlink" href="#id13" title="Permalink to this headline"></a></h4>
<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/22">#22</a> - Add a total on current month statistics</p></li>
</ul>
</div>
<div class="section" id="id13">
<h4>Bugs Fixed<a class="headerlink" href="#id13" title="Permalink to this headline"></a></h4>
<div class="section" id="id14">
<h4>Bugs Fixed<a class="headerlink" href="#id14" title="Permalink to this headline"></a></h4>
<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/29">#29</a> - Pause duration calculation with segments</p></li>
@ -334,10 +352,10 @@
<li><p>no administration for now</p></li>
</ul>
<p>➡️ more informations: see <a class="reference external" href="https://github.com/SamR1/mpwo/wiki">wiki</a> and <a class="reference external" href="https://github.com/SamR1/mpwo/issues">current issues</a></p>
<div class="section" id="id14">
<h3>Issues Closed<a class="headerlink" href="#id14" title="Permalink to this headline"></a></h3>
<div class="section" id="id15">
<h4>New Features<a class="headerlink" href="#id15" title="Permalink to this headline"></a></h4>
<h3>Issues Closed<a class="headerlink" href="#id15" title="Permalink to this headline"></a></h3>
<div class="section" id="id16">
<h4>New Features<a class="headerlink" href="#id16" title="Permalink to this headline"></a></h4>
<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/10">#10</a> - Add a note to an activity</p></li>

View File

@ -3,7 +3,7 @@
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta charset="utf-8" />
<title>Features &#8212; FitTrackee 0.2.4-beta
<title>Features &#8212; FitTrackee 0.2.5-beta
documentation</title>
<link rel="stylesheet" href="_static/bootstrap-sphinx.css" type="text/css" />
<link rel="stylesheet" href="_static/pygments.css" type="text/css" />
@ -39,7 +39,7 @@
</button>
<a class="navbar-brand" href="index.html">
FitTrackee</a>
<span class="navbar-text navbar-version pull-left"><b>0.2.4</b></span>
<span class="navbar-text navbar-version pull-left"><b>0.2.5</b></span>
</div>
<div class="collapse navbar-collapse nav-collapse">

View File

@ -4,7 +4,7 @@
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta charset="utf-8" />
<title>Index &#8212; FitTrackee 0.2.4-beta
<title>Index &#8212; FitTrackee 0.2.5-beta
documentation</title>
<link rel="stylesheet" href="_static/bootstrap-sphinx.css" type="text/css" />
<link rel="stylesheet" href="_static/pygments.css" type="text/css" />
@ -38,7 +38,7 @@
</button>
<a class="navbar-brand" href="index.html">
FitTrackee</a>
<span class="navbar-text navbar-version pull-left"><b>0.2.4</b></span>
<span class="navbar-text navbar-version pull-left"><b>0.2.5</b></span>
</div>
<div class="collapse navbar-collapse nav-collapse">

View File

@ -3,7 +3,7 @@
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta charset="utf-8" />
<title>HTTP Routing Table &#8212; FitTrackee 0.2.4-beta
<title>HTTP Routing Table &#8212; FitTrackee 0.2.5-beta
documentation</title>
<link rel="stylesheet" href="_static/bootstrap-sphinx.css" type="text/css" />
<link rel="stylesheet" href="_static/pygments.css" type="text/css" />
@ -44,7 +44,7 @@
</button>
<a class="navbar-brand" href="index.html">
FitTrackee</a>
<span class="navbar-text navbar-version pull-left"><b>0.2.4</b></span>
<span class="navbar-text navbar-version pull-left"><b>0.2.5</b></span>
</div>
<div class="collapse navbar-collapse nav-collapse">

View File

@ -3,7 +3,7 @@
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta charset="utf-8" />
<title>FitTrackee &#8212; FitTrackee 0.2.4-beta
<title>FitTrackee &#8212; FitTrackee 0.2.5-beta
documentation</title>
<link rel="stylesheet" href="_static/bootstrap-sphinx.css" type="text/css" />
<link rel="stylesheet" href="_static/pygments.css" type="text/css" />
@ -38,7 +38,7 @@
</button>
<a class="navbar-brand" href="#">
FitTrackee</a>
<span class="navbar-text navbar-version pull-left"><b>0.2.4</b></span>
<span class="navbar-text navbar-version pull-left"><b>0.2.5</b></span>
</div>
<div class="collapse navbar-collapse nav-collapse">
@ -181,6 +181,7 @@ Map</a>.</div>
</ul>
</li>
<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-2-5-fix-and-improvements-2020-01-31">Version 0.2.5 - Fix and improvements (2020/01/31)</a></li>
<li class="toctree-l2"><a class="reference internal" href="changelog.html#version-0-2-4-minor-fix-2020-01-30">Version 0.2.4 - Minor fix (2020/01/30)</a></li>
<li class="toctree-l2"><a class="reference internal" href="changelog.html#version-0-2-3-fittrackee-available-in-french-2019-12-29">Version 0.2.3 - FitTrackee available in French (2019/12/29)</a></li>
<li class="toctree-l2"><a class="reference internal" href="changelog.html#version-0-2-2-statistics-fix-2019-09-23">Version 0.2.2 - Statistics fix (2019/09/23)</a></li>

View File

@ -3,7 +3,7 @@
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta charset="utf-8" />
<title>Installation &#8212; FitTrackee 0.2.4-beta
<title>Installation &#8212; FitTrackee 0.2.5-beta
documentation</title>
<link rel="stylesheet" href="_static/bootstrap-sphinx.css" type="text/css" />
<link rel="stylesheet" href="_static/pygments.css" type="text/css" />
@ -39,7 +39,7 @@
</button>
<a class="navbar-brand" href="index.html">
FitTrackee</a>
<span class="navbar-text navbar-version pull-left"><b>0.2.4</b></span>
<span class="navbar-text navbar-version pull-left"><b>0.2.5</b></span>
</div>
<div class="collapse navbar-collapse nav-collapse">
@ -231,10 +231,10 @@ and the password <code class="docutils literal notranslate"><span class="pre">mp
<p>Note that FitTrackee is not production-ready yet</p>
</div>
<ul class="simple">
<li><p>Download the last release (for now, it is the beta release v0.2.3):</p></li>
<li><p>Download the last release (for now, it is the beta release v0.2.5):</p></li>
</ul>
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>$ wget https://github.com/SamR1/FitTrackee/archive/v0.2.3-beta.tar.gz
$ tar -xzf v0.2.3-beta.tar.gz
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>$ wget https://github.com/SamR1/FitTrackee/archive/v0.2.5-beta.tar.gz
$ tar -xzf v0.2.5-beta.tar.gz
$ mv FitTrackee-0.2.3-beta FitTrackee
$ <span class="nb">cd</span> FitTrackee
</pre></div>

Binary file not shown.

View File

@ -3,7 +3,7 @@
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta charset="utf-8" />
<title>Search &#8212; FitTrackee 0.2.4-beta
<title>Search &#8212; FitTrackee 0.2.5-beta
documentation</title>
<link rel="stylesheet" href="_static/bootstrap-sphinx.css" type="text/css" />
<link rel="stylesheet" href="_static/pygments.css" type="text/css" />
@ -43,7 +43,7 @@
</button>
<a class="navbar-brand" href="index.html">
FitTrackee</a>
<span class="navbar-text navbar-version pull-left"><b>0.2.4</b></span>
<span class="navbar-text navbar-version pull-left"><b>0.2.5</b></span>
</div>
<div class="collapse navbar-collapse nav-collapse">

File diff suppressed because one or more lines are too long

View File

@ -3,7 +3,7 @@
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta charset="utf-8" />
<title>Administrator &#8212; FitTrackee 0.2.4-beta
<title>Administrator &#8212; FitTrackee 0.2.5-beta
documentation</title>
<link rel="stylesheet" href="../_static/bootstrap-sphinx.css" type="text/css" />
<link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
@ -39,7 +39,7 @@
</button>
<a class="navbar-brand" href="../index.html">
FitTrackee</a>
<span class="navbar-text navbar-version pull-left"><b>0.2.4</b></span>
<span class="navbar-text navbar-version pull-left"><b>0.2.5</b></span>
</div>
<div class="collapse navbar-collapse nav-collapse">

View File

@ -3,7 +3,7 @@
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta charset="utf-8" />
<title>Troubleshooting &#8212; FitTrackee 0.2.4-beta
<title>Troubleshooting &#8212; FitTrackee 0.2.5-beta
documentation</title>
<link rel="stylesheet" href="../_static/bootstrap-sphinx.css" type="text/css" />
<link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
@ -39,7 +39,7 @@
</button>
<a class="navbar-brand" href="../index.html">
FitTrackee</a>
<span class="navbar-text navbar-version pull-left"><b>0.2.4</b></span>
<span class="navbar-text navbar-version pull-left"><b>0.2.5</b></span>
</div>
<div class="collapse navbar-collapse nav-collapse">

View File

@ -3,7 +3,7 @@
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta charset="utf-8" />
<title>User &#8212; FitTrackee 0.2.4-beta
<title>User &#8212; FitTrackee 0.2.5-beta
documentation</title>
<link rel="stylesheet" href="../_static/bootstrap-sphinx.css" type="text/css" />
<link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
@ -39,7 +39,7 @@
</button>
<a class="navbar-brand" href="../index.html">
FitTrackee</a>
<span class="navbar-text navbar-version pull-left"><b>0.2.4</b></span>
<span class="navbar-text navbar-version pull-left"><b>0.2.5</b></span>
</div>
<div class="collapse navbar-collapse nav-collapse">

Binary file not shown.

Before

Width:  |  Height:  |  Size: 599 KiB

After

Width:  |  Height:  |  Size: 599 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 539 KiB

After

Width:  |  Height:  |  Size: 539 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 205 KiB

After

Width:  |  Height:  |  Size: 205 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 63 KiB

After

Width:  |  Height:  |  Size: 63 KiB

View File

@ -43,23 +43,23 @@ FitTrackee is available in English and French (which can be saved in the user se
Dashboard
~~~~~~~~~
.. figure:: ../../misc/images/fittrackee_screenshot-01.png
.. figure:: _images/fittrackee_screenshot-01.png
:alt: FitTrackee Dashboard
Activity/workout detail
~~~~~~~~~~~~~~~~~~~~~~~
.. figure:: ../../misc/images/fittrackee_screenshot-02.png
.. figure:: _images/fittrackee_screenshot-02.png
:alt: FitTrackee Activity
Activities/workouts list
~~~~~~~~~~~~~~~~~~~~~~~~
.. figure:: ../../misc/images/fittrackee_screenshot-03.png
.. figure:: _images/fittrackee_screenshot-03.png
:alt: FitTrackee Activities
Statistics
~~~~~~~~~~
.. figure:: ../../misc/images/fittrackee_screenshot-04.png
.. figure:: _images/fittrackee_screenshot-04.png
:alt: FitTrackee Statistics

View File

@ -23,7 +23,7 @@ FitTrackee
| **Still under development (not ready for production).**
| (see `issues <https://github.com/SamR1/FitTrackee/issues>`__ for more information)
.. figure:: ../../misc/images/fittrackee_screenshot-01.png
.. figure:: _images/fittrackee_screenshot-01.png
:alt: FitTrackee Dashboard

View File

@ -87,12 +87,12 @@ Prod environment
.. warning::
Note that FitTrackee is not production-ready yet
- Download the last release (for now, it is the beta release v0.2.3):
- Download the last release (for now, it is the beta release v0.2.5):
.. code:: bash
$ wget https://github.com/SamR1/FitTrackee/archive/v0.2.3-beta.tar.gz
$ tar -xzf v0.2.3-beta.tar.gz
$ wget https://github.com/SamR1/FitTrackee/archive/v0.2.5-beta.tar.gz
$ tar -xzf v0.2.5-beta.tar.gz
$ mv FitTrackee-0.2.3-beta FitTrackee
$ cd FitTrackee

View File

@ -948,7 +948,7 @@ docs = ["sphinx", "jaraco.packaging (>=3.2)", "rst.linker (>=1.9)"]
testing = ["jaraco.itertools"]
[metadata]
content-hash = "0f0ae50dc4d547533e9da81603a39cd9863fc018057ed1f04f1ae41c0e62d3f3"
content-hash = "08f65db08252eef68c675d114006f74eefe78d8b287d9a93b9063716b03397bd"
python-versions = "^3.7"
[metadata.files]

View File

@ -1,6 +1,6 @@
[tool.poetry]
name = "fittrackee_api"
version = "0.3.0-beta"
version = "0.2.5-beta"
description = ""
authors = ["Your Name <you@example.com>"]
license = "GPL-3.0"

View File

@ -52,7 +52,10 @@ export const addActivity = form => dispatch =>
}
dispatch(setLoading(false))
})
.catch(error => dispatch(setError(`activities|${error}`)))
.catch(error => {
dispatch(setLoading(false))
dispatch(setError(`activities|${error}`))
})
export const addActivityWithoutGpx = form => dispatch =>
FitTrackeeGenericApi.addData('activities/no_gpx', form)
@ -154,7 +157,10 @@ export const editActivity = form => dispatch =>
}
dispatch(setLoading(false))
})
.catch(error => dispatch(setError(`activities|${error}`)))
.catch(error => {
dispatch(setLoading(false))
dispatch(setError(`activities|${error}`))
})
export const getMoreActivities = params => dispatch =>
FitTrackeeGenericApi.getData('activities', params)

View File

@ -28,14 +28,15 @@ export const updateSportsData = data => ({
type: 'UPDATE_SPORT_DATA',
data,
})
export const getOrUpdateData = (
action,
target,
data,
canDispatch = true
) => dispatch => {
dispatch(setLoading(true))
if (data && data.id && isNaN(data.id)) {
dispatch(setLoading(false))
return dispatch(setError(`${target}|Incorrect id`))
}
dispatch(setError(''))
@ -50,8 +51,12 @@ export const getOrUpdateData = (
} else {
dispatch(setError(`${target}|${ret.message || ret.status}`))
}
dispatch(setLoading(false))
})
.catch(error => {
dispatch(setLoading(false))
dispatch(setError(`${target}|${error}`))
})
.catch(error => dispatch(setError(`${target}|${error}`)))
}
export const addData = (target, data) => dispatch =>

View File

@ -7,7 +7,7 @@ import { getDateWithTZ } from '../../utils'
export default class ActivitiesList extends React.PureComponent {
render() {
const { activities, sports, t, user } = this.props
const { activities, loading, sports, t, user } = this.props
return (
<div className="card activity-card">
<div className="card-body">
@ -24,7 +24,8 @@ export default class ActivitiesList extends React.PureComponent {
</tr>
</thead>
<tbody>
{sports &&
{!loading &&
sports &&
activities.map((activity, idx) => (
// eslint-disable-next-line react/no-array-index-key
<tr key={idx}>
@ -61,6 +62,7 @@ export default class ActivitiesList extends React.PureComponent {
))}
</tbody>
</table>
{loading && <div className="loader" />}
</div>
</div>
)

View File

@ -38,6 +38,7 @@ class Activities extends React.Component {
render() {
const {
activities,
loading,
loadActivities,
loadMoreActivities,
message,
@ -71,6 +72,7 @@ class Activities extends React.Component {
<div className="col-md-9 activities-result">
<ActivitiesList
activities={activities}
loading={loading}
sports={sports}
t={t}
user={user}
@ -101,6 +103,7 @@ export default withTranslation()(
connect(
state => ({
activities: state.activities.data,
loading: state.loading,
message: state.message,
sports: state.sports.data,
user: state.user,

View File

@ -364,12 +364,12 @@ label {
.loader {
animation: spin 2s linear infinite;
border: 16px solid #f3f3f3;
border-top: 16px solid #3498db;
border: 8px solid #f3f3f3;
border-top: 8px solid #3498db;
border-radius: 50%;
height: 120px;
height: 60px;
margin-left: 41%;
width: 120px;
width: 60px;
}
@keyframes spin {

View File

@ -1,6 +1,6 @@
import React from 'react'
import { connect } from 'react-redux'
import { Redirect, Route, Switch } from 'react-router-dom'
import { Route, Switch } from 'react-router-dom'
import './App.css'
import Admin from './Admin'
@ -16,7 +16,6 @@ import ProfileEdit from './User/ProfileEdit'
import Statistics from './Statistics'
import UserForm from './User/UserForm'
import { getAppData } from '../actions/application'
import { isLoggedIn } from '../utils'
class App extends React.Component {
constructor(props) {
@ -32,59 +31,24 @@ class App extends React.Component {
<div className="App">
<NavBar />
<Switch>
<Route
exact
path="/"
render={() =>
isLoggedIn() ? <Dashboard /> : <Redirect to="/login" />
}
/>
<Route exact path="/" component={Dashboard} />
<Route
exact
path="/register"
render={() =>
isLoggedIn() ? (
<Redirect to="/" />
) : (
<UserForm formType={'register'} />
)
}
render={() => <UserForm formType={'register'} />}
/>
<Route
exact
path="/login"
render={() =>
isLoggedIn() ? (
<Redirect to="/" />
) : (
<UserForm formType={'login'} />
)
}
render={() => <UserForm formType={'login'} />}
/>
<Route exact path="/logout" component={Logout} />
<Route
exact
path="/profile/edit"
render={() =>
isLoggedIn() ? <ProfileEdit /> : <UserForm formType={'login'} />
}
/>
<Route
exact
path="/profile"
render={() =>
isLoggedIn() ? <Profile /> : <UserForm formType={'login'} />
}
/>
<Route exact path="/profile/edit" component={ProfileEdit} />
<Route exact path="/profile" component={Profile} />
<Route exact path="/activities/history" component={Activities} />
<Route exact path="/activities/statistics" component={Statistics} />
<Route path="/activities" component={Activity} />
<Route
path="/admin"
render={() =>
isLoggedIn() ? <Admin /> : <UserForm formType={'login'} />
}
/>
<Route path="/admin" component={Admin} />
<Route component={NotFound} />
</Switch>
<Footer />

View File

@ -13,8 +13,9 @@ import Root from './components/Root'
import registerServiceWorker from './registerServiceWorker'
import createRootReducer from './reducers'
import { loadProfile } from './actions/user'
import { historyEnhancer } from './utils/history'
export const history = createBrowserHistory()
export const history = historyEnhancer(createBrowserHistory())
history.listen(() => {
window.scrollTo(0, 0)

View File

@ -18,6 +18,8 @@ const handleDataAndError = (state, type, action) => {
const activities = (state = initial.activities, action) => {
switch (action.type) {
case 'LOGOUT':
return initial.activities
case 'PUSH_ACTIVITIES':
return {
...state,
@ -50,13 +52,17 @@ const application = (state = initial.application, action) => {
}
const calendarActivities = (state = initial.calendarActivities, action) => {
if (action.type === 'UPDATE_CALENDAR') {
return {
...state,
data: action.activities,
}
switch (action.type) {
case 'LOGOUT':
return initial.calendarActivities
case 'UPDATE_CALENDAR':
return {
...state,
data: action.activities,
}
default:
return handleDataAndError(state, 'calendarActivities', action)
}
return handleDataAndError(state, 'calendarActivities', action)
}
const chartData = (state = initial.chartData, action) => {
@ -118,8 +124,12 @@ const messages = (state = initial.messages, action) => {
}
}
const records = (state = initial.records, action) =>
handleDataAndError(state, 'records', action)
const records = (state = initial.records, action) => {
if (action.type === 'LOGOUT') {
return initial.records
}
return handleDataAndError(state, 'records', action)
}
const sports = (state = initial.sports, action) => {
if (action.type === 'UPDATE_SPORT_DATA') {
@ -150,8 +160,12 @@ const user = (state = initial.user, action) => {
}
}
const statistics = (state = initial.statistics, action) =>
handleDataAndError(state, 'statistics', action)
const statistics = (state = initial.statistics, action) => {
if (action.type === 'LOGOUT') {
return initial.statistics
}
return handleDataAndError(state, 'statistics', action)
}
export default history =>
combineReducers({

View File

@ -0,0 +1,35 @@
const updatePath = (toPath, newPath) => {
if (typeof toPath === 'string' || toPath instanceof String) {
toPath = newPath
} else {
toPath.pathname = newPath
}
return toPath
}
const pathInterceptor = toPath => {
if (
!window.localStorage.authToken &&
!['/login', '/register'].includes(toPath.pathname)
) {
toPath = updatePath(toPath, '/login')
}
if (
window.localStorage.authToken &&
['/login', '/register'].includes(toPath.pathname)
) {
toPath = updatePath(toPath, '/')
}
return toPath
}
export const historyEnhancer = originalHistory => {
originalHistory.location = pathInterceptor(originalHistory.location)
return {
...originalHistory,
push: (path, ...args) =>
originalHistory.push(pathInterceptor(path), ...args),
replace: (path, ...args) =>
originalHistory.replace(pathInterceptor(path), ...args),
}
}

View File

@ -15,7 +15,7 @@ export const getFileSizeInMB = fileSize => {
return (!fileSize && 0) || +value.toFixed(2)
}
export const version = '0.2.4-beta' // version stored in 'utils' for now
export const version = '0.2.5-beta' // version stored in 'utils' for now
export const apiUrl = `${process.env.REACT_APP_API_URL}/api/`
/* prettier-ignore */
export const thunderforestApiKey = `${

View File

@ -1,202 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<graphml xmlns="http://graphml.graphdrawing.org/xmlns" xmlns:java="http://www.yworks.com/xml/yfiles-common/1.0/java" xmlns:sys="http://www.yworks.com/xml/yfiles-common/markup/primitives/2.0" xmlns:x="http://www.yworks.com/xml/yfiles-common/markup/2.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:y="http://www.yworks.com/xml/graphml" xmlns:yed="http://www.yworks.com/xml/yed/3" xsi:schemaLocation="http://graphml.graphdrawing.org/xmlns http://www.yworks.com/xml/schema/graphml/1.1/ygraphml.xsd">
<!--Created by yEd 3.17-->
<key attr.name="Description" attr.type="string" for="graph" id="d0"/>
<key for="port" id="d1" yfiles.type="portgraphics"/>
<key for="port" id="d2" yfiles.type="portgeometry"/>
<key for="port" id="d3" yfiles.type="portuserdata"/>
<key attr.name="url" attr.type="string" for="node" id="d4"/>
<key attr.name="description" attr.type="string" for="node" id="d5"/>
<key for="node" id="d6" yfiles.type="nodegraphics"/>
<key for="graphml" id="d7" yfiles.type="resources"/>
<key attr.name="url" attr.type="string" for="edge" id="d8"/>
<key attr.name="description" attr.type="string" for="edge" id="d9"/>
<key for="edge" id="d10" yfiles.type="edgegraphics"/>
<graph edgedefault="directed" id="G">
<data key="d0"/>
<node id="n0">
<data key="d6">
<y:GenericNode configuration="com.yworks.entityRelationship.big_entity">
<y:Geometry height="143.0" width="107.0" x="821.44" y="96.0"/>
<y:Fill color="#E8EEF7" color2="#B7C9E3" transparent="false"/>
<y:BorderStyle color="#000000" type="line" width="1.0"/>
<y:NodeLabel alignment="center" autoSizePolicy="content" backgroundColor="#B7C9E3" configuration="com.yworks.entityRelationship.label.name" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasLineColor="false" height="17.96875" horizontalTextPosition="center" iconTextGap="4" modelName="internal" modelPosition="t" textColor="#000000" verticalTextPosition="bottom" visible="true" width="36.42578125" x="35.287109375" y="4.0">users</y:NodeLabel>
<y:NodeLabel alignment="left" autoSizePolicy="content" configuration="com.yworks.entityRelationship.label.attributes" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="101.78125" horizontalTextPosition="center" iconTextGap="4" modelName="custom" textColor="#000000" verticalTextPosition="top" visible="true" width="67.48046875" x="2.0" y="29.96875">id
username
pwd
first_name
last_name
birthday
photo
<y:LabelModel>
<y:ErdAttributesNodeLabelModel/>
</y:LabelModel>
<y:ModelParameter>
<y:ErdAttributesNodeLabelModelParameter/>
</y:ModelParameter>
</y:NodeLabel>
<y:StyleProperties>
<y:Property class="java.lang.Boolean" name="y.view.ShadowNodePainter.SHADOW_PAINTING" value="true"/>
</y:StyleProperties>
</y:GenericNode>
</data>
</node>
<node id="n1">
<data key="d6">
<y:GenericNode configuration="com.yworks.entityRelationship.big_entity">
<y:Geometry height="253.0" width="206.0" x="769.44" y="274.28"/>
<y:Fill color="#E8EEF7" color2="#B7C9E3" transparent="false"/>
<y:BorderStyle color="#000000" type="line" width="1.0"/>
<y:NodeLabel alignment="center" autoSizePolicy="content" backgroundColor="#B7C9E3" configuration="com.yworks.entityRelationship.label.name" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasLineColor="false" height="17.96875" horizontalTextPosition="center" iconTextGap="4" modelName="internal" modelPosition="t" textColor="#000000" verticalTextPosition="bottom" visible="true" width="58.099609375" x="73.9501953125" y="4.0">activities</y:NodeLabel>
<y:NodeLabel alignment="left" autoSizePolicy="content" configuration="com.yworks.entityRelationship.label.attributes" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="199.5625" horizontalTextPosition="center" iconTextGap="4" modelName="custom" textColor="#000000" verticalTextPosition="top" visible="true" width="81.291015625" x="2.0" y="29.96875">id
user_id
sport_id
gpx_id
activity_date
duration
pauses
distance
min_alt
max_alt
descent
ascent
max_speed
ave_speed<y:LabelModel>
<y:ErdAttributesNodeLabelModel/>
</y:LabelModel>
<y:ModelParameter>
<y:ErdAttributesNodeLabelModelParameter/>
</y:ModelParameter>
</y:NodeLabel>
<y:StyleProperties>
<y:Property class="java.lang.Boolean" name="y.view.ShadowNodePainter.SHADOW_PAINTING" value="true"/>
</y:StyleProperties>
</y:GenericNode>
</data>
</node>
<node id="n2">
<data key="d6">
<y:GenericNode configuration="com.yworks.entityRelationship.big_entity">
<y:Geometry height="90.0" width="80.0" x="1060.28" y="355.78"/>
<y:Fill color="#E8EEF7" color2="#B7C9E3" transparent="false"/>
<y:BorderStyle color="#000000" type="line" width="1.0"/>
<y:NodeLabel alignment="center" autoSizePolicy="content" backgroundColor="#B7C9E3" configuration="com.yworks.entityRelationship.label.name" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasLineColor="false" height="17.96875" horizontalTextPosition="center" iconTextGap="4" modelName="internal" modelPosition="t" textColor="#000000" verticalTextPosition="bottom" visible="true" width="41.1015625" x="19.44921875" y="4.0">sports</y:NodeLabel>
<y:NodeLabel alignment="left" autoSizePolicy="content" configuration="com.yworks.entityRelationship.label.attributes" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="31.9375" horizontalTextPosition="center" iconTextGap="4" modelName="custom" textColor="#000000" verticalTextPosition="top" visible="true" width="33.021484375" x="2.0" y="29.96875">id
label<y:LabelModel>
<y:ErdAttributesNodeLabelModel/>
</y:LabelModel>
<y:ModelParameter>
<y:ErdAttributesNodeLabelModelParameter/>
</y:ModelParameter>
</y:NodeLabel>
<y:StyleProperties>
<y:Property class="java.lang.Boolean" name="y.view.ShadowNodePainter.SHADOW_PAINTING" value="true"/>
</y:StyleProperties>
</y:GenericNode>
</data>
</node>
<node id="n3">
<data key="d6">
<y:GenericNode configuration="com.yworks.entityRelationship.big_entity">
<y:Geometry height="90.0" width="80.0" x="832.44" y="598.56"/>
<y:Fill color="#E8EEF7" color2="#B7C9E3" transparent="false"/>
<y:BorderStyle color="#000000" type="line" width="1.0"/>
<y:NodeLabel alignment="center" autoSizePolicy="content" backgroundColor="#B7C9E3" configuration="com.yworks.entityRelationship.label.name" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasLineColor="false" height="17.96875" horizontalTextPosition="center" iconTextGap="4" modelName="internal" modelPosition="t" textColor="#000000" verticalTextPosition="bottom" visible="true" width="26.3359375" x="26.83203125" y="4.0">gpx</y:NodeLabel>
<y:NodeLabel alignment="left" autoSizePolicy="content" configuration="com.yworks.entityRelationship.label.attributes" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="31.9375" horizontalTextPosition="center" iconTextGap="4" modelName="custom" textColor="#000000" verticalTextPosition="top" visible="true" width="22.275390625" x="2.0" y="29.96875">id
file<y:LabelModel>
<y:ErdAttributesNodeLabelModel/>
</y:LabelModel>
<y:ModelParameter>
<y:ErdAttributesNodeLabelModelParameter/>
</y:ModelParameter>
</y:NodeLabel>
<y:StyleProperties>
<y:Property class="java.lang.Boolean" name="y.view.ShadowNodePainter.SHADOW_PAINTING" value="true"/>
</y:StyleProperties>
</y:GenericNode>
</data>
</node>
<node id="n4">
<data key="d6">
<y:GenericNode configuration="com.yworks.entityRelationship.big_entity">
<y:Geometry height="112.0" width="138.0" x="546.6000000000001" y="344.78"/>
<y:Fill color="#E8EEF7" color2="#B7C9E3" transparent="false"/>
<y:BorderStyle color="#000000" type="line" width="1.0"/>
<y:NodeLabel alignment="center" autoSizePolicy="content" backgroundColor="#B7C9E3" configuration="com.yworks.entityRelationship.label.name" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasLineColor="false" height="17.96875" horizontalTextPosition="center" iconTextGap="4" modelName="internal" modelPosition="t" textColor="#000000" verticalTextPosition="bottom" visible="true" width="104.283203125" x="16.8583984375" y="4.0">personalRecords</y:NodeLabel>
<y:NodeLabel alignment="left" autoSizePolicy="content" configuration="com.yworks.entityRelationship.label.attributes" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="59.875" horizontalTextPosition="center" iconTextGap="4" modelName="custom" textColor="#000000" verticalTextPosition="top" visible="true" width="75.61328125" x="2.0" y="29.96875">id
activity_id
record_type
value<y:LabelModel>
<y:ErdAttributesNodeLabelModel/>
</y:LabelModel>
<y:ModelParameter>
<y:ErdAttributesNodeLabelModelParameter/>
</y:ModelParameter>
</y:NodeLabel>
<y:StyleProperties>
<y:Property class="java.lang.Boolean" name="y.view.ShadowNodePainter.SHADOW_PAINTING" value="true"/>
</y:StyleProperties>
</y:GenericNode>
</data>
</node>
<edge id="e0" source="n1" target="n3">
<data key="d10">
<y:PolyLineEdge>
<y:Path sx="0.0" sy="0.0" tx="0.0" ty="0.0"/>
<y:LineStyle color="#000000" type="line" width="1.0"/>
<y:Arrows source="none" target="none"/>
<y:BendStyle smoothed="false"/>
</y:PolyLineEdge>
</data>
</edge>
<edge id="e1" source="n1" target="n0">
<data key="d10">
<y:PolyLineEdge>
<y:Path sx="0.0" sy="0.0" tx="0.0" ty="0.0"/>
<y:LineStyle color="#000000" type="line" width="1.0"/>
<y:Arrows source="crows_foot_many" target="none"/>
<y:BendStyle smoothed="false"/>
</y:PolyLineEdge>
</data>
</edge>
<edge id="e2" source="n4" target="n0">
<data key="d10">
<y:PolyLineEdge>
<y:Path sx="0.0" sy="0.0" tx="0.0" ty="0.0">
<y:Point x="615.6000000000001" y="167.5"/>
</y:Path>
<y:LineStyle color="#000000" type="line" width="1.0"/>
<y:Arrows source="crows_foot_many" target="none"/>
<y:BendStyle smoothed="false"/>
</y:PolyLineEdge>
</data>
</edge>
<edge id="e3" source="n2" target="n1">
<data key="d10">
<y:GenericEdge configuration="com.yworks.bpmn.Connection">
<y:Path sx="0.0" sy="0.0" tx="0.0" ty="0.0"/>
<y:LineStyle color="#000000" type="line" width="1.0"/>
<y:Arrows source="none" target="crows_foot_many"/>
<y:StyleProperties>
<y:Property class="com.yworks.yfiles.bpmn.view.BPMNTypeEnum" name="com.yworks.bpmn.type" value="CONNECTION_TYPE_FORKED_CONVERSATION_LINK"/>
</y:StyleProperties>
</y:GenericEdge>
</data>
</edge>
<edge id="e4" source="n1" target="n4">
<data key="d10">
<y:GenericEdge configuration="com.yworks.bpmn.Connection">
<y:Path sx="0.0" sy="0.0" tx="0.0" ty="0.0"/>
<y:LineStyle color="#000000" type="line" width="1.0"/>
<y:Arrows source="none" target="crows_foot_many"/>
<y:StyleProperties>
<y:Property class="com.yworks.yfiles.bpmn.view.BPMNTypeEnum" name="com.yworks.bpmn.type" value="CONNECTION_TYPE_FORKED_CONVERSATION_LINK"/>
</y:StyleProperties>
</y:GenericEdge>
</data>
</edge>
</graph>
<data key="d7">
<y:Resources/>
</data>
</graphml>

View File

@ -20,7 +20,7 @@
"react-leaflet": "^2.6.1",
"react-redux": "^7.1.3",
"react-router-dom": "^5.1.2",
"react-scripts": "^3.3.0",
"react-scripts": "^3.3.1",
"react-timezone": "^2.4.0",
"recharts": "^1.8.5",
"redux": "^4.0.5",

1339
yarn.lock

File diff suppressed because it is too large Load Diff