diff --git a/CHANGELOG.md b/CHANGELOG.md index e259e30b..4d0c1bb5 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,21 +2,33 @@ ## Version 0.5.0 (unreleased) +### Issues Closed + #### New Features * [#18](https://github.com/SamR1/FitTrackee/issues/18) - Better UI +#### Bugs Fixed + +### Pull Requests + +* [#84/#93](https://github.com/SamR1/FitTrackee/pull/93) - Add elevation data and new sports + +#### Misc + +* [#104](https://github.com/SamR1/FitTrackee/issues/104) - Switch to AGPLv3 license + ## Version 0.4.9 (2021/07/16) +### Issues Closed + #### New Features * [#83](https://github.com/SamR1/Fittrackee/issues/83) - allow using configured tile server to generate static maps **Note**: to keep using the default tile server, set environment variable `DEFAULT_STATICMAP` to `True` * [#81](https://github.com/SamR1/Fittrackee/issues/81) - display remaining characters in textarea -### Issues Closed - #### Bugs Fixed * [#82](https://github.com/SamR1/Fittrackee/issues/82) - a user can not modify his birth day diff --git a/docs/.buildinfo b/docs/.buildinfo index 158801f1..56a2e134 100644 --- a/docs/.buildinfo +++ b/docs/.buildinfo @@ -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: fe82a00d1b969930021a2868bb75106c +config: d2c47424fbb13c7705708db687756ae8 tags: 645f666f9bcd5a90fca523b33c5a78b7 diff --git a/docs/_images/fittrackee_screenshot-01.png b/docs/_images/fittrackee_screenshot-01.png index cf59e02d..a4166950 100644 Binary files a/docs/_images/fittrackee_screenshot-01.png and b/docs/_images/fittrackee_screenshot-01.png differ diff --git a/docs/_images/fittrackee_screenshot-02.png b/docs/_images/fittrackee_screenshot-02.png index 92f9e396..bc019ddd 100644 Binary files a/docs/_images/fittrackee_screenshot-02.png and b/docs/_images/fittrackee_screenshot-02.png differ diff --git a/docs/_images/fittrackee_screenshot-03.png b/docs/_images/fittrackee_screenshot-03.png index 1cfd0ade..1fa8106d 100644 Binary files a/docs/_images/fittrackee_screenshot-03.png and b/docs/_images/fittrackee_screenshot-03.png differ diff --git a/docs/_images/fittrackee_screenshot-04.png b/docs/_images/fittrackee_screenshot-04.png index ffecbc8e..9a219274 100644 Binary files a/docs/_images/fittrackee_screenshot-04.png and b/docs/_images/fittrackee_screenshot-04.png differ diff --git a/docs/_images/fittrackee_screenshot-05.png b/docs/_images/fittrackee_screenshot-05.png index 528777ab..4ee1c419 100644 Binary files a/docs/_images/fittrackee_screenshot-05.png and b/docs/_images/fittrackee_screenshot-05.png differ diff --git a/docs/_images/fittrackee_screenshot-06.png b/docs/_images/fittrackee_screenshot-06.png index 14771f82..755c1d4a 100644 Binary files a/docs/_images/fittrackee_screenshot-06.png and b/docs/_images/fittrackee_screenshot-06.png differ diff --git a/docs/_sources/changelog.md.txt b/docs/_sources/changelog.md.txt index e259e30b..4d0c1bb5 100644 --- a/docs/_sources/changelog.md.txt +++ b/docs/_sources/changelog.md.txt @@ -2,21 +2,33 @@ ## Version 0.5.0 (unreleased) +### Issues Closed + #### New Features * [#18](https://github.com/SamR1/FitTrackee/issues/18) - Better UI +#### Bugs Fixed + +### Pull Requests + +* [#84/#93](https://github.com/SamR1/FitTrackee/pull/93) - Add elevation data and new sports + +#### Misc + +* [#104](https://github.com/SamR1/FitTrackee/issues/104) - Switch to AGPLv3 license + ## Version 0.4.9 (2021/07/16) +### Issues Closed + #### New Features * [#83](https://github.com/SamR1/Fittrackee/issues/83) - allow using configured tile server to generate static maps **Note**: to keep using the default tile server, set environment variable `DEFAULT_STATICMAP` to `True` * [#81](https://github.com/SamR1/Fittrackee/issues/81) - display remaining characters in textarea -### Issues Closed - #### Bugs Fixed * [#82](https://github.com/SamR1/Fittrackee/issues/82) - a user can not modify his birth day diff --git a/docs/_sources/features.rst.txt b/docs/_sources/features.rst.txt index 3ce51a41..5d051f65 100644 --- a/docs/_sources/features.rst.txt +++ b/docs/_sources/features.rst.txt @@ -39,12 +39,17 @@ Account Workouts ^^^^^^^^ -- 6 sports are supported: +- 11 sports are supported: - Cycling (Sport) - Cycling (Transport) - Hiking - - Montain Biking + - Mountain Biking + - Mountain Biking (Electric) (**new in 0.5.0**) + - Rowing (**new in 0.5.0**) - Running + - Skiing (Alpine) (**new in 0.5.0**) + - Skiing (Cross Country) (**new in 0.5.0**) + - Trail (**new in 0.5.0**) - Walking - Dashboard with month calendar displaying workouts and record. The week can start on Sunday or Monday (which can be changed in the user settings). The calendar displays up to 100 workouts. - Workout creation by uploading a gpx file. A workout can even be created without gpx (the user must enter date, time, duration and distance) diff --git a/docs/_static/basic.css b/docs/_static/basic.css index b3bdc004..912859b5 100644 --- a/docs/_static/basic.css +++ b/docs/_static/basic.css @@ -130,7 +130,7 @@ ul.search li a { font-weight: bold; } -ul.search li div.context { +ul.search li p.context { color: #888; margin: 2px 0 0 30px; text-align: left; @@ -508,6 +508,63 @@ table.hlist td { vertical-align: top; } +/* -- object description styles --------------------------------------------- */ + +.sig { + font-family: 'Consolas', 'Menlo', 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', monospace; +} + +.sig-name, code.descname { + background-color: transparent; + font-weight: bold; +} + +.sig-name { + font-size: 1.1em; +} + +code.descname { + font-size: 1.2em; +} + +.sig-prename, code.descclassname { + background-color: transparent; +} + +.optional { + font-size: 1.3em; +} + +.sig-paren { + font-size: larger; +} + +.sig-param.n { + font-style: italic; +} + +/* C++ specific styling */ + +.sig-inline.c-texpr, +.sig-inline.cpp-texpr { + font-family: unset; +} + +.sig.c .k, .sig.c .kt, +.sig.cpp .k, .sig.cpp .kt { + color: #0033B3; +} + +.sig.c .m, +.sig.cpp .m { + color: #1750EB; +} + +.sig.c .s, .sig.c .sc, +.sig.cpp .s, .sig.cpp .sc { + color: #067D17; +} + /* -- other body styles ----------------------------------------------------- */ @@ -634,14 +691,6 @@ dl.glossary dt { font-size: 1.1em; } -.optional { - font-size: 1.3em; -} - -.sig-paren { - font-size: larger; -} - .versionmodified { font-style: italic; } @@ -770,8 +819,12 @@ div.code-block-caption code { table.highlighttable td.linenos, span.linenos, -div.doctest > div.highlight span.gp { /* gp: Generic.Prompt */ - user-select: none; +div.highlight span.gp { /* gp: Generic.Prompt */ + user-select: none; + -webkit-user-select: text; /* Safari fallback only */ + -webkit-user-select: none; /* Chrome/Safari */ + -moz-user-select: none; /* Firefox */ + -ms-user-select: none; /* IE10+ */ } div.code-block-caption span.caption-number { @@ -786,16 +839,6 @@ div.literal-block-wrapper { margin: 1em 0; } -code.descname { - background-color: transparent; - font-weight: bold; - font-size: 1.2em; -} - -code.descclassname { - background-color: transparent; -} - code.xref, a code { background-color: transparent; font-weight: bold; diff --git a/docs/_static/doctools.js b/docs/_static/doctools.js index 61ac9d26..8cbf1b16 100644 --- a/docs/_static/doctools.js +++ b/docs/_static/doctools.js @@ -301,12 +301,14 @@ var Documentation = { window.location.href = prevHref; return false; } + break; case 39: // right var nextHref = $('link[rel="next"]').prop('href'); if (nextHref) { window.location.href = nextHref; return false; } + break; } } }); diff --git a/docs/_static/searchtools.js b/docs/_static/searchtools.js index 1a90152e..58ff35c4 100644 --- a/docs/_static/searchtools.js +++ b/docs/_static/searchtools.js @@ -282,7 +282,10 @@ var Search = { complete: function(jqxhr, textstatus) { var data = jqxhr.responseText; if (data !== '' && data !== undefined) { - listItem.append(Search.makeSearchSummary(data, searchterms, hlterms)); + var summary = Search.makeSearchSummary(data, searchterms, hlterms); + if (summary) { + listItem.append(summary); + } } Search.output.append(listItem); setTimeout(function() { @@ -498,6 +501,9 @@ var Search = { */ makeSearchSummary : function(htmlText, keywords, hlwords) { var text = Search.htmlToText(htmlText); + if (text == "") { + return null; + } var textLower = text.toLowerCase(); var start = 0; $.each(keywords, function() { @@ -509,7 +515,7 @@ var Search = { var excerpt = ((start > 0) ? '...' : '') + $.trim(text.substr(start, 240)) + ((start + 240 - text.length) ? '...' : ''); - var rv = $('
').text(excerpt); + var rv = $('

').text(excerpt); $.each(hlwords, function() { rv = rv.highlightText(this, 'highlighted'); }); diff --git a/docs/_static/underscore-1.12.0.js b/docs/_static/underscore-1.13.1.js similarity index 94% rename from docs/_static/underscore-1.12.0.js rename to docs/_static/underscore-1.13.1.js index 3af6352e..ffd77af9 100644 --- a/docs/_static/underscore-1.12.0.js +++ b/docs/_static/underscore-1.13.1.js @@ -1,19 +1,19 @@ (function (global, factory) { typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() : typeof define === 'function' && define.amd ? define('underscore', factory) : - (global = global || self, (function () { + (global = typeof globalThis !== 'undefined' ? globalThis : global || self, (function () { var current = global._; var exports = global._ = factory(); exports.noConflict = function () { global._ = current; return exports; }; }())); }(this, (function () { - // Underscore.js 1.12.0 + // Underscore.js 1.13.1 // https://underscorejs.org - // (c) 2009-2020 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors + // (c) 2009-2021 Jeremy Ashkenas, Julian Gonggrijp, and DocumentCloud and Investigative Reporters & Editors // Underscore may be freely distributed under the MIT license. // Current version. - var VERSION = '1.12.0'; + var VERSION = '1.13.1'; // Establish the root object, `window` (`self`) in the browser, `global` // on the server, or `this` in some virtual machines. We use `self` @@ -170,7 +170,7 @@ var isArray = nativeIsArray || tagTester('Array'); // Internal function to check whether `key` is an own property name of `obj`. - function has(obj, key) { + function has$1(obj, key) { return obj != null && hasOwnProperty.call(obj, key); } @@ -181,7 +181,7 @@ (function() { if (!isArguments(arguments)) { isArguments = function(obj) { - return has(obj, 'callee'); + return has$1(obj, 'callee'); }; } }()); @@ -268,7 +268,7 @@ // Constructor is a special case. var prop = 'constructor'; - if (has(obj, prop) && !keys.contains(prop)) keys.push(prop); + if (has$1(obj, prop) && !keys.contains(prop)) keys.push(prop); while (nonEnumIdx--) { prop = nonEnumerableProps[nonEnumIdx]; @@ -284,7 +284,7 @@ if (!isObject(obj)) return []; if (nativeKeys) return nativeKeys(obj); var keys = []; - for (var key in obj) if (has(obj, key)) keys.push(key); + for (var key in obj) if (has$1(obj, key)) keys.push(key); // Ahem, IE < 9. if (hasEnumBug) collectNonEnumProps(obj, keys); return keys; @@ -318,24 +318,24 @@ // If Underscore is called as a function, it returns a wrapped object that can // be used OO-style. This wrapper holds altered versions of all functions added // through `_.mixin`. Wrapped objects may be chained. - function _(obj) { - if (obj instanceof _) return obj; - if (!(this instanceof _)) return new _(obj); + function _$1(obj) { + if (obj instanceof _$1) return obj; + if (!(this instanceof _$1)) return new _$1(obj); this._wrapped = obj; } - _.VERSION = VERSION; + _$1.VERSION = VERSION; // Extracts the result from a wrapped and chained object. - _.prototype.value = function() { + _$1.prototype.value = function() { return this._wrapped; }; // Provide unwrapping proxies for some methods used in engine operations // such as arithmetic and JSON stringification. - _.prototype.valueOf = _.prototype.toJSON = _.prototype.value; + _$1.prototype.valueOf = _$1.prototype.toJSON = _$1.prototype.value; - _.prototype.toString = function() { + _$1.prototype.toString = function() { return String(this._wrapped); }; @@ -370,8 +370,8 @@ // Internal recursive comparison function for `_.isEqual`. function deepEq(a, b, aStack, bStack) { // Unwrap any wrapped objects. - if (a instanceof _) a = a._wrapped; - if (b instanceof _) b = b._wrapped; + if (a instanceof _$1) a = a._wrapped; + if (b instanceof _$1) b = b._wrapped; // Compare `[[Class]]` names. var className = toString.call(a); if (className !== toString.call(b)) return false; @@ -463,7 +463,7 @@ while (length--) { // Deep compare each member key = _keys[length]; - if (!(has(b, key) && eq(a[key], b[key], aStack, bStack))) return false; + if (!(has$1(b, key) && eq(a[key], b[key], aStack, bStack))) return false; } } // Remove the first object from the stack of traversed objects. @@ -642,15 +642,15 @@ // Normalize a (deep) property `path` to array. // Like `_.iteratee`, this function can be customized. - function toPath(path) { + function toPath$1(path) { return isArray(path) ? path : [path]; } - _.toPath = toPath; + _$1.toPath = toPath$1; // Internal wrapper for `_.toPath` to enable minification. // Similar to `cb` for `_.iteratee`. - function toPath$1(path) { - return _.toPath(path); + function toPath(path) { + return _$1.toPath(path); } // Internal function to obtain a nested property in `obj` along `path`. @@ -668,19 +668,19 @@ // `undefined`, return `defaultValue` instead. // The `path` is normalized through `_.toPath`. function get(object, path, defaultValue) { - var value = deepGet(object, toPath$1(path)); + var value = deepGet(object, toPath(path)); return isUndefined(value) ? defaultValue : value; } // Shortcut function for checking if an object has a given property directly on // itself (in other words, not on a prototype). Unlike the internal `has` // function, this public version can also traverse nested properties. - function has$1(obj, path) { - path = toPath$1(path); + function has(obj, path) { + path = toPath(path); var length = path.length; for (var i = 0; i < length; i++) { var key = path[i]; - if (!has(obj, key)) return false; + if (!has$1(obj, key)) return false; obj = obj[key]; } return !!length; @@ -703,7 +703,7 @@ // Creates a function that, when passed an object, will traverse that object’s // properties down the given `path`, specified as an array of keys or indices. function property(path) { - path = toPath$1(path); + path = toPath(path); return function(obj) { return deepGet(obj, path); }; @@ -747,12 +747,12 @@ function iteratee(value, context) { return baseIteratee(value, context, Infinity); } - _.iteratee = iteratee; + _$1.iteratee = iteratee; // The function we call internally to generate a callback. It invokes // `_.iteratee` if overridden, otherwise `baseIteratee`. function cb(value, context, argCount) { - if (_.iteratee !== iteratee) return _.iteratee(value, context); + if (_$1.iteratee !== iteratee) return _$1.iteratee(value, context); return baseIteratee(value, context, argCount); } @@ -840,7 +840,7 @@ // By default, Underscore uses ERB-style template delimiters. Change the // following template settings to use alternative delimiters. - var templateSettings = _.templateSettings = { + var templateSettings = _$1.templateSettings = { evaluate: /<%([\s\S]+?)%>/g, interpolate: /<%=([\s\S]+?)%>/g, escape: /<%-([\s\S]+?)%>/g @@ -868,13 +868,20 @@ return '\\' + escapes[match]; } + // In order to prevent third-party code injection through + // `_.templateSettings.variable`, we test it against the following regular + // expression. It is intentionally a bit more liberal than just matching valid + // identifiers, but still prevents possible loopholes through defaults or + // destructuring assignment. + var bareIdentifier = /^\s*(\w|\$)+\s*$/; + // JavaScript micro-templating, similar to John Resig's implementation. // Underscore templating handles arbitrary delimiters, preserves whitespace, // and correctly escapes quotes within interpolated code. // NB: `oldSettings` only exists for backwards compatibility. function template(text, settings, oldSettings) { if (!settings && oldSettings) settings = oldSettings; - settings = defaults({}, settings, _.templateSettings); + settings = defaults({}, settings, _$1.templateSettings); // Combine delimiters into one regular expression via alternation. var matcher = RegExp([ @@ -903,8 +910,17 @@ }); source += "';\n"; - // If a variable is not specified, place data values in local scope. - if (!settings.variable) source = 'with(obj||{}){\n' + source + '}\n'; + var argument = settings.variable; + if (argument) { + // Insure against third-party code injection. (CVE-2021-23358) + if (!bareIdentifier.test(argument)) throw new Error( + 'variable is not a bare identifier: ' + argument + ); + } else { + // If a variable is not specified, place data values in local scope. + source = 'with(obj||{}){\n' + source + '}\n'; + argument = 'obj'; + } source = "var __t,__p='',__j=Array.prototype.join," + "print=function(){__p+=__j.call(arguments,'');};\n" + @@ -912,18 +928,17 @@ var render; try { - render = new Function(settings.variable || 'obj', '_', source); + render = new Function(argument, '_', source); } catch (e) { e.source = source; throw e; } var template = function(data) { - return render.call(this, data, _); + return render.call(this, data, _$1); }; // Provide the compiled source as a convenience for precompilation. - var argument = settings.variable || 'obj'; template.source = 'function(' + argument + '){\n' + source + '}'; return template; @@ -933,7 +948,7 @@ // is invoked with its parent as context. Returns the value of the final // child, or `fallback` if any child is undefined. function result(obj, path, fallback) { - path = toPath$1(path); + path = toPath(path); var length = path.length; if (!length) { return isFunction$1(fallback) ? fallback.call(obj) : fallback; @@ -959,7 +974,7 @@ // Start chaining a wrapped Underscore object. function chain(obj) { - var instance = _(obj); + var instance = _$1(obj); instance._chain = true; return instance; } @@ -993,7 +1008,7 @@ return bound; }); - partial.placeholder = _; + partial.placeholder = _$1; // Create a function bound to a given object (assigning `this`, and arguments, // optionally). @@ -1012,7 +1027,7 @@ var isArrayLike = createSizePropertyCheck(getLength); // Internal implementation of a recursive `flatten` function. - function flatten(input, depth, strict, output) { + function flatten$1(input, depth, strict, output) { output = output || []; if (!depth && depth !== 0) { depth = Infinity; @@ -1025,7 +1040,7 @@ if (isArrayLike(value) && (isArray(value) || isArguments$1(value))) { // Flatten current level of array or arguments object. if (depth > 1) { - flatten(value, depth - 1, strict, output); + flatten$1(value, depth - 1, strict, output); idx = output.length; } else { var j = 0, len = value.length; @@ -1042,7 +1057,7 @@ // are the method names to be bound. Useful for ensuring that all callbacks // defined on an object belong to it. var bindAll = restArguments(function(obj, keys) { - keys = flatten(keys, false, false); + keys = flatten$1(keys, false, false); var index = keys.length; if (index < 1) throw new Error('bindAll must be passed function names'); while (index--) { @@ -1057,7 +1072,7 @@ var memoize = function(key) { var cache = memoize.cache; var address = '' + (hasher ? hasher.apply(this, arguments) : key); - if (!has(cache, address)) cache[address] = func.apply(this, arguments); + if (!has$1(cache, address)) cache[address] = func.apply(this, arguments); return cache[address]; }; memoize.cache = {}; @@ -1074,7 +1089,7 @@ // Defers a function, scheduling it to run after the current call stack has // cleared. - var defer = partial(delay, _, 1); + var defer = partial(delay, _$1, 1); // Returns a function, that, when invoked, will only be triggered at most once // during a given window of time. Normally, the throttled function will run @@ -1420,7 +1435,7 @@ if (isFunction$1(path)) { func = path; } else { - path = toPath$1(path); + path = toPath(path); contextPath = path.slice(0, -1); path = path[path.length - 1]; } @@ -1562,7 +1577,7 @@ // Groups the object's values by a criterion. Pass either a string attribute // to group by, or a function that returns the criterion. var groupBy = group(function(result, value, key) { - if (has(result, key)) result[key].push(value); else result[key] = [value]; + if (has$1(result, key)) result[key].push(value); else result[key] = [value]; }); // Indexes the object's values by a criterion, similar to `_.groupBy`, but for @@ -1575,7 +1590,7 @@ // either a string attribute to count by, or a function that returns the // criterion. var countBy = group(function(result, value, key) { - if (has(result, key)) result[key]++; else result[key] = 1; + if (has$1(result, key)) result[key]++; else result[key] = 1; }); // Split a collection into two arrays: one whose elements all pass the given @@ -1618,7 +1633,7 @@ keys = allKeys(obj); } else { iteratee = keyInObj; - keys = flatten(keys, false, false); + keys = flatten$1(keys, false, false); obj = Object(obj); } for (var i = 0, length = keys.length; i < length; i++) { @@ -1636,7 +1651,7 @@ iteratee = negate(iteratee); if (keys.length > 1) context = keys[1]; } else { - keys = map(flatten(keys, false, false), String); + keys = map(flatten$1(keys, false, false), String); iteratee = function(value, key) { return !contains(keys, key); }; @@ -1681,14 +1696,14 @@ // Flatten out an array, either recursively (by default), or up to `depth`. // Passing `true` or `false` as `depth` means `1` or `Infinity`, respectively. - function flatten$1(array, depth) { - return flatten(array, depth, false); + function flatten(array, depth) { + return flatten$1(array, depth, false); } // Take the difference between one array and a number of other arrays. // Only the elements present in just the first array will remain. var difference = restArguments(function(array, rest) { - rest = flatten(rest, true, true); + rest = flatten$1(rest, true, true); return filter(array, function(value){ return !contains(rest, value); }); @@ -1734,7 +1749,7 @@ // Produce an array that contains the union: each distinct element from all of // the passed-in arrays. var union = restArguments(function(arrays) { - return uniq(flatten(arrays, true, true)); + return uniq(flatten$1(arrays, true, true)); }); // Produce an array that contains every item shared between all the @@ -1821,26 +1836,26 @@ // Helper function to continue chaining intermediate results. function chainResult(instance, obj) { - return instance._chain ? _(obj).chain() : obj; + return instance._chain ? _$1(obj).chain() : obj; } // Add your own custom functions to the Underscore object. function mixin(obj) { each(functions(obj), function(name) { - var func = _[name] = obj[name]; - _.prototype[name] = function() { + var func = _$1[name] = obj[name]; + _$1.prototype[name] = function() { var args = [this._wrapped]; push.apply(args, arguments); - return chainResult(this, func.apply(_, args)); + return chainResult(this, func.apply(_$1, args)); }; }); - return _; + return _$1; } // Add all mutator `Array` functions to the wrapper. each(['pop', 'push', 'reverse', 'shift', 'sort', 'splice', 'unshift'], function(name) { var method = ArrayProto[name]; - _.prototype[name] = function() { + _$1.prototype[name] = function() { var obj = this._wrapped; if (obj != null) { method.apply(obj, arguments); @@ -1855,7 +1870,7 @@ // Add all accessor `Array` functions to the wrapper. each(['concat', 'join', 'slice'], function(name) { var method = ArrayProto[name]; - _.prototype[name] = function() { + _$1.prototype[name] = function() { var obj = this._wrapped; if (obj != null) obj = method.apply(obj, arguments); return chainResult(this, obj); @@ -1909,12 +1924,12 @@ clone: clone, tap: tap, get: get, - has: has$1, + has: has, mapObject: mapObject, identity: identity, constant: constant, noop: noop, - toPath: toPath, + toPath: toPath$1, property: property, propertyOf: propertyOf, matcher: matcher, @@ -1997,7 +2012,7 @@ tail: rest, drop: rest, compact: compact, - flatten: flatten$1, + flatten: flatten, without: without, uniq: uniq, unique: uniq, @@ -2011,17 +2026,17 @@ range: range, chunk: chunk, mixin: mixin, - 'default': _ + 'default': _$1 }; // Default Export // Add all of the Underscore functions to the wrapper object. - var _$1 = mixin(allExports); + var _ = mixin(allExports); // Legacy Node.js API. - _$1._ = _$1; + _._ = _; - return _$1; + return _; }))); -//# sourceMappingURL=underscore.js.map +//# sourceMappingURL=underscore-umd.js.map diff --git a/docs/_static/underscore.js b/docs/_static/underscore.js index 166240ef..cf177d42 100644 --- a/docs/_static/underscore.js +++ b/docs/_static/underscore.js @@ -1,6 +1,6 @@ -!function(n,r){"object"==typeof exports&&"undefined"!=typeof module?module.exports=r():"function"==typeof define&&define.amd?define("underscore",r):(n=n||self,function(){var t=n._,e=n._=r();e.noConflict=function(){return n._=t,e}}())}(this,(function(){ -// Underscore.js 1.12.0 +!function(n,r){"object"==typeof exports&&"undefined"!=typeof module?module.exports=r():"function"==typeof define&&define.amd?define("underscore",r):(n="undefined"!=typeof globalThis?globalThis:n||self,function(){var t=n._,e=n._=r();e.noConflict=function(){return n._=t,e}}())}(this,(function(){ +// Underscore.js 1.13.1 // https://underscorejs.org -// (c) 2009-2020 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors +// (c) 2009-2021 Jeremy Ashkenas, Julian Gonggrijp, and DocumentCloud and Investigative Reporters & Editors // Underscore may be freely distributed under the MIT license. -var n="1.12.0",r="object"==typeof self&&self.self===self&&self||"object"==typeof global&&global.global===global&&global||Function("return this")()||{},t=Array.prototype,e=Object.prototype,u="undefined"!=typeof Symbol?Symbol.prototype:null,o=t.push,i=t.slice,a=e.toString,f=e.hasOwnProperty,c="undefined"!=typeof ArrayBuffer,l="undefined"!=typeof DataView,s=Array.isArray,p=Object.keys,v=Object.create,h=c&&ArrayBuffer.isView,y=isNaN,g=isFinite,d=!{toString:null}.propertyIsEnumerable("toString"),b=["valueOf","isPrototypeOf","toString","propertyIsEnumerable","hasOwnProperty","toLocaleString"],m=Math.pow(2,53)-1;function j(n,r){return r=null==r?n.length-1:+r,function(){for(var t=Math.max(arguments.length-r,0),e=Array(t),u=0;u=0&&t<=m}}function $(n){return function(r){return null==r?void 0:r[n]}}var G=$("byteLength"),H=J(G),Q=/\[object ((I|Ui)nt(8|16|32)|Float(32|64)|Uint8Clamped|Big(I|Ui)nt64)Array\]/;var X=c?function(n){return h?h(n)&&!q(n):H(n)&&Q.test(a.call(n))}:K(!1),Y=$("length");function Z(n,r){r=function(n){for(var r={},t=n.length,e=0;e":">",'"':""","'":"'","`":"`"},Kn=Ln(Cn),Jn=Ln(_n(Cn)),$n=tn.templateSettings={evaluate:/<%([\s\S]+?)%>/g,interpolate:/<%=([\s\S]+?)%>/g,escape:/<%-([\s\S]+?)%>/g},Gn=/(.)^/,Hn={"'":"'","\\":"\\","\r":"r","\n":"n","\u2028":"u2028","\u2029":"u2029"},Qn=/\\|'|\r|\n|\u2028|\u2029/g;function Xn(n){return"\\"+Hn[n]}var Yn=0;function Zn(n,r,t,e,u){if(!(e instanceof r))return n.apply(t,u);var o=Mn(n.prototype),i=n.apply(o,u);return _(i)?i:o}var nr=j((function(n,r){var t=nr.placeholder,e=function(){for(var u=0,o=r.length,i=Array(o),a=0;a1)er(a,r-1,t,e),u=e.length;else for(var f=0,c=a.length;f0&&(t=r.apply(this,arguments)),n<=1&&(r=null),t}}var cr=nr(fr,2);function lr(n,r,t){r=qn(r,t);for(var e,u=nn(n),o=0,i=u.length;o0?0:u-1;o>=0&&o0?a=o>=0?o:Math.max(o+f,a):f=o>=0?Math.min(o+1,f):o+f+1;else if(t&&o&&f)return e[o=t(e,u)]===u?o:-1;if(u!=u)return(o=r(i.call(e,a,f),C))>=0?o+a:-1;for(o=n>0?a:f-1;o>=0&&o0?0:i-1;for(u||(e=r[o?o[a]:a],a+=n);a>=0&&a=3;return r(n,Fn(t,u,4),e,o)}}var wr=_r(1),Ar=_r(-1);function xr(n,r,t){var e=[];return r=qn(r,t),mr(n,(function(n,t,u){r(n,t,u)&&e.push(n)})),e}function Sr(n,r,t){r=qn(r,t);for(var e=!tr(n)&&nn(n),u=(e||n).length,o=0;o=0}var Er=j((function(n,r,t){var e,u;return D(r)?u=r:(r=Nn(r),e=r.slice(0,-1),r=r[r.length-1]),jr(n,(function(n){var o=u;if(!o){if(e&&e.length&&(n=In(n,e)),null==n)return;o=n[r]}return null==o?o:o.apply(n,t)}))}));function Br(n,r){return jr(n,Rn(r))}function Nr(n,r,t){var e,u,o=-1/0,i=-1/0;if(null==r||"number"==typeof r&&"object"!=typeof n[0]&&null!=n)for(var a=0,f=(n=tr(n)?n:jn(n)).length;ao&&(o=e);else r=qn(r,t),mr(n,(function(n,t,e){((u=r(n,t,e))>i||u===-1/0&&o===-1/0)&&(o=n,i=u)}));return o}function Ir(n,r,t){if(null==r||t)return tr(n)||(n=jn(n)),n[Wn(n.length-1)];var e=tr(n)?En(n):jn(n),u=Y(e);r=Math.max(Math.min(r,u),0);for(var o=u-1,i=0;i1&&(e=Fn(e,r[1])),r=an(n)):(e=Pr,r=er(r,!1,!1),n=Object(n));for(var u=0,o=r.length;u1&&(t=r[1])):(r=jr(er(r,!1,!1),String),e=function(n,t){return!Mr(r,t)}),qr(n,e,t)}));function Wr(n,r,t){return i.call(n,0,Math.max(0,n.length-(null==r||t?1:r)))}function zr(n,r,t){return null==n||n.length<1?null==r||t?void 0:[]:null==r||t?n[0]:Wr(n,n.length-r)}function Lr(n,r,t){return i.call(n,null==r||t?1:r)}var Cr=j((function(n,r){return r=er(r,!0,!0),xr(n,(function(n){return!Mr(r,n)}))})),Kr=j((function(n,r){return Cr(n,r)}));function Jr(n,r,t,e){A(r)||(e=t,t=r,r=!1),null!=t&&(t=qn(t,e));for(var u=[],o=[],i=0,a=Y(n);ir?(e&&(clearTimeout(e),e=null),a=c,i=n.apply(u,o),e||(u=o=null)):e||!1===t.trailing||(e=setTimeout(f,l)),i};return c.cancel=function(){clearTimeout(e),a=0,e=u=o=null},c},debounce:function(n,r,t){var e,u,o=function(r,t){e=null,t&&(u=n.apply(r,t))},i=j((function(i){if(e&&clearTimeout(e),t){var a=!e;e=setTimeout(o,r),a&&(u=n.apply(this,i))}else e=or(o,r,this,i);return u}));return i.cancel=function(){clearTimeout(e),e=null},i},wrap:function(n,r){return nr(r,n)},negate:ar,compose:function(){var n=arguments,r=n.length-1;return function(){for(var t=r,e=n[r].apply(this,arguments);t--;)e=n[t].call(this,e);return e}},after:function(n,r){return function(){if(--n<1)return r.apply(this,arguments)}},before:fr,once:cr,findKey:lr,findIndex:pr,findLastIndex:vr,sortedIndex:hr,indexOf:gr,lastIndexOf:dr,find:br,detect:br,findWhere:function(n,r){return br(n,Dn(r))},each:mr,forEach:mr,map:jr,collect:jr,reduce:wr,foldl:wr,inject:wr,reduceRight:Ar,foldr:Ar,filter:xr,select:xr,reject:function(n,r,t){return xr(n,ar(qn(r)),t)},every:Sr,all:Sr,some:Or,any:Or,contains:Mr,includes:Mr,include:Mr,invoke:Er,pluck:Br,where:function(n,r){return xr(n,Dn(r))},max:Nr,min:function(n,r,t){var e,u,o=1/0,i=1/0;if(null==r||"number"==typeof r&&"object"!=typeof n[0]&&null!=n)for(var a=0,f=(n=tr(n)?n:jn(n)).length;ae||void 0===t)return 1;if(t=0&&t<=m}}function J(n){return function(r){return null==r?void 0:r[n]}}var G=J("byteLength"),H=K(G),Q=/\[object ((I|Ui)nt(8|16|32)|Float(32|64)|Uint8Clamped|Big(I|Ui)nt64)Array\]/;var X=c?function(n){return h?h(n)&&!q(n):H(n)&&Q.test(a.call(n))}:C(!1),Y=J("length");function Z(n,r){r=function(n){for(var r={},t=n.length,e=0;e":">",'"':""","'":"'","`":"`"},Cn=Ln($n),Kn=Ln(_n($n)),Jn=tn.templateSettings={evaluate:/<%([\s\S]+?)%>/g,interpolate:/<%=([\s\S]+?)%>/g,escape:/<%-([\s\S]+?)%>/g},Gn=/(.)^/,Hn={"'":"'","\\":"\\","\r":"r","\n":"n","\u2028":"u2028","\u2029":"u2029"},Qn=/\\|'|\r|\n|\u2028|\u2029/g;function Xn(n){return"\\"+Hn[n]}var Yn=/^\s*(\w|\$)+\s*$/;var Zn=0;function nr(n,r,t,e,u){if(!(e instanceof r))return n.apply(t,u);var o=Mn(n.prototype),i=n.apply(o,u);return _(i)?i:o}var rr=j((function(n,r){var t=rr.placeholder,e=function(){for(var u=0,o=r.length,i=Array(o),a=0;a1)ur(a,r-1,t,e),u=e.length;else for(var f=0,c=a.length;f0&&(t=r.apply(this,arguments)),n<=1&&(r=null),t}}var lr=rr(cr,2);function sr(n,r,t){r=qn(r,t);for(var e,u=nn(n),o=0,i=u.length;o0?0:u-1;o>=0&&o0?a=o>=0?o:Math.max(o+f,a):f=o>=0?Math.min(o+1,f):o+f+1;else if(t&&o&&f)return e[o=t(e,u)]===u?o:-1;if(u!=u)return(o=r(i.call(e,a,f),$))>=0?o+a:-1;for(o=n>0?a:f-1;o>=0&&o0?0:i-1;for(u||(e=r[o?o[a]:a],a+=n);a>=0&&a=3;return r(n,Fn(t,u,4),e,o)}}var Ar=wr(1),xr=wr(-1);function Sr(n,r,t){var e=[];return r=qn(r,t),jr(n,(function(n,t,u){r(n,t,u)&&e.push(n)})),e}function Or(n,r,t){r=qn(r,t);for(var e=!er(n)&&nn(n),u=(e||n).length,o=0;o=0}var Br=j((function(n,r,t){var e,u;return D(r)?u=r:(r=Nn(r),e=r.slice(0,-1),r=r[r.length-1]),_r(n,(function(n){var o=u;if(!o){if(e&&e.length&&(n=In(n,e)),null==n)return;o=n[r]}return null==o?o:o.apply(n,t)}))}));function Nr(n,r){return _r(n,Rn(r))}function Ir(n,r,t){var e,u,o=-1/0,i=-1/0;if(null==r||"number"==typeof r&&"object"!=typeof n[0]&&null!=n)for(var a=0,f=(n=er(n)?n:jn(n)).length;ao&&(o=e);else r=qn(r,t),jr(n,(function(n,t,e){((u=r(n,t,e))>i||u===-1/0&&o===-1/0)&&(o=n,i=u)}));return o}function Tr(n,r,t){if(null==r||t)return er(n)||(n=jn(n)),n[Wn(n.length-1)];var e=er(n)?En(n):jn(n),u=Y(e);r=Math.max(Math.min(r,u),0);for(var o=u-1,i=0;i1&&(e=Fn(e,r[1])),r=an(n)):(e=qr,r=ur(r,!1,!1),n=Object(n));for(var u=0,o=r.length;u1&&(t=r[1])):(r=_r(ur(r,!1,!1),String),e=function(n,t){return!Er(r,t)}),Ur(n,e,t)}));function zr(n,r,t){return i.call(n,0,Math.max(0,n.length-(null==r||t?1:r)))}function Lr(n,r,t){return null==n||n.length<1?null==r||t?void 0:[]:null==r||t?n[0]:zr(n,n.length-r)}function $r(n,r,t){return i.call(n,null==r||t?1:r)}var Cr=j((function(n,r){return r=ur(r,!0,!0),Sr(n,(function(n){return!Er(r,n)}))})),Kr=j((function(n,r){return Cr(n,r)}));function Jr(n,r,t,e){A(r)||(e=t,t=r,r=!1),null!=t&&(t=qn(t,e));for(var u=[],o=[],i=0,a=Y(n);ir?(e&&(clearTimeout(e),e=null),a=c,i=n.apply(u,o),e||(u=o=null)):e||!1===t.trailing||(e=setTimeout(f,l)),i};return c.cancel=function(){clearTimeout(e),a=0,e=u=o=null},c},debounce:function(n,r,t){var e,u,o,i,a,f=function(){var c=zn()-u;r>c?e=setTimeout(f,r-c):(e=null,t||(i=n.apply(a,o)),e||(o=a=null))},c=j((function(c){return a=this,o=c,u=zn(),e||(e=setTimeout(f,r),t&&(i=n.apply(a,o))),i}));return c.cancel=function(){clearTimeout(e),e=o=a=null},c},wrap:function(n,r){return rr(r,n)},negate:fr,compose:function(){var n=arguments,r=n.length-1;return function(){for(var t=r,e=n[r].apply(this,arguments);t--;)e=n[t].call(this,e);return e}},after:function(n,r){return function(){if(--n<1)return r.apply(this,arguments)}},before:cr,once:lr,findKey:sr,findIndex:vr,findLastIndex:hr,sortedIndex:yr,indexOf:gr,lastIndexOf:br,find:mr,detect:mr,findWhere:function(n,r){return mr(n,Dn(r))},each:jr,forEach:jr,map:_r,collect:_r,reduce:Ar,foldl:Ar,inject:Ar,reduceRight:xr,foldr:xr,filter:Sr,select:Sr,reject:function(n,r,t){return Sr(n,fr(qn(r)),t)},every:Or,all:Or,some:Mr,any:Mr,contains:Er,includes:Er,include:Er,invoke:Br,pluck:Nr,where:function(n,r){return Sr(n,Dn(r))},max:Ir,min:function(n,r,t){var e,u,o=1/0,i=1/0;if(null==r||"number"==typeof r&&"object"!=typeof n[0]&&null!=n)for(var a=0,f=(n=er(n)?n:jn(n)).length;ae||void 0===t)return 1;if(tAuthentication — FitTrackee 0.5.0 documentation - - + + - + @@ -125,11 +125,11 @@
-
+

Authentication

-
-POST /api/auth/register
+
+POST /api/auth/register

register a user

Example request:

POST /api/auth/register HTTP/1.1
@@ -173,8 +173,8 @@
 
Status Codes
-
-POST /api/auth/login
+
+POST /api/auth/login

user login

Example request:

POST /api/auth/login HTTP/1.1
@@ -240,18 +240,18 @@
 
Status Codes
-
-GET /api/auth/logout
+
+GET /api/auth/logout

user logout

Example request:

GET /api/auth/logout HTTP/1.1
@@ -286,21 +286,21 @@
 
Request Headers
Status Codes
-
-GET /api/auth/profile
+
+GET /api/auth/profile

get authenticated user info

Example request:

GET /api/auth/profile HTTP/1.1
@@ -381,13 +381,13 @@
 
Request Headers
Status Codes
-
-POST /api/auth/profile/edit
+
+POST /api/auth/profile/edit

edit authenticated user

Example request:

POST /api/auth/profile/edit HTTP/1.1
@@ -493,32 +493,32 @@
 
Request Headers
Status Codes
-
-POST /api/auth/picture
+
+POST /api/auth/picture

update authenticated user picture

Example request:

POST /api/auth/picture HTTP/1.1
@@ -543,35 +543,35 @@
 
Request Headers
Status Codes
-
-DELETE /api/auth/picture
+
+DELETE /api/auth/picture

delete authenticated user picture

Example request:

DELETE /api/auth/picture HTTP/1.1
@@ -586,27 +586,27 @@
 
Request Headers
Status Codes
-
-POST /api/auth/password/reset-request
+
+POST /api/auth/password/reset-request

handle password reset request

Example request:

POST /api/auth/password/reset-request HTTP/1.1
@@ -631,16 +631,16 @@
 
Status Codes
-
-POST /api/auth/password/update
+
+POST /api/auth/password/update

update user password

Example request:

POST /api/auth/password/update HTTP/1.1
@@ -667,16 +667,16 @@
 
Status Codes
-
+
@@ -691,7 +691,7 @@

© Copyright 2018 - 2021, SamR1.
- Created using Sphinx 3.5.4.
+ Created using Sphinx 4.2.0.

diff --git a/docs/api/configuration.html b/docs/api/configuration.html index a50592b8..80219a1d 100644 --- a/docs/api/configuration.html +++ b/docs/api/configuration.html @@ -7,10 +7,10 @@ Configuration — FitTrackee 0.5.0 documentation - - + + - + @@ -125,11 +125,11 @@
-
+

Configuration

-
-GET /api/config
+
+GET /api/config

Get Application config

Example request:

GET /api/config HTTP/1.1
@@ -157,16 +157,16 @@
 
Status Codes
-
-PATCH /api/config
+
+PATCH /api/config

Update Application config

Authenticated user must be an admin

Example request:

@@ -207,29 +207,29 @@
Request Headers
Status Codes
-
-GET /api/ping
+
+GET /api/ping

health check endpoint

Example request:

GET /api/ping HTTP/1.1
@@ -249,13 +249,13 @@
 
Status Codes
-
+
@@ -270,7 +270,7 @@

© Copyright 2018 - 2021, SamR1.
- Created using Sphinx 3.5.4.
+ Created using Sphinx 4.2.0.

diff --git a/docs/api/index.html b/docs/api/index.html index 4b2c0d4c..fab11b2e 100644 --- a/docs/api/index.html +++ b/docs/api/index.html @@ -7,10 +7,10 @@ API documentation — FitTrackee 0.5.0 documentation - - + + - + @@ -125,10 +125,10 @@
-
+

API documentation

-

Endpoints:

+

Endpoints:

-
+
@@ -154,7 +154,7 @@

© Copyright 2018 - 2021, SamR1.
- Created using Sphinx 3.5.4.
+ Created using Sphinx 4.2.0.

diff --git a/docs/api/records.html b/docs/api/records.html index 87b0cf24..95ae26ec 100644 --- a/docs/api/records.html +++ b/docs/api/records.html @@ -7,10 +7,10 @@ Records — FitTrackee 0.5.0 documentation - - + + - + @@ -125,11 +125,11 @@
-
+

Records

-
-GET /api/records
+
+GET /api/records

Get all records for authenticated user.

Following types of records are available:
    @@ -219,13 +219,13 @@
Request Headers
Status Codes
-
+
@@ -251,7 +251,7 @@

© Copyright 2018 - 2021, SamR1.
- Created using Sphinx 3.5.4.
+ Created using Sphinx 4.2.0.

diff --git a/docs/api/sports.html b/docs/api/sports.html index 56629e24..728fa938 100644 --- a/docs/api/sports.html +++ b/docs/api/sports.html @@ -7,10 +7,10 @@ Sports — FitTrackee 0.5.0 documentation - - + + - + @@ -125,11 +125,11 @@
-
+

Sports

-
-GET /api/sports
+
+GET /api/sports

Get all sports

Example request:

GET /api/sports HTTP/1.1
@@ -253,13 +253,13 @@
 
Request Headers
Status Codes
-
-GET /api/sports/(int: sport_id)
+
+GET /api/sports/(int: sport_id)

Get a sport

Example request:

GET /api/sports/1 HTTP/1.1
@@ -346,27 +346,27 @@
 
Request Headers
Status Codes
-
-PATCH /api/sports/(int: sport_id)
+
+PATCH /api/sports/(int: sport_id)

Update a sport Authenticated user must be an admin

Example request:

@@ -425,28 +425,28 @@ Authenticated user must be an admin

Request Headers
Status Codes
-
+
@@ -461,7 +461,7 @@ Authenticated user must be an admin

© Copyright 2018 - 2021, SamR1.
- Created using Sphinx 3.5.4.
+ Created using Sphinx 4.2.0.

diff --git a/docs/api/stats.html b/docs/api/stats.html index e1f0b1e6..65c8736a 100644 --- a/docs/api/stats.html +++ b/docs/api/stats.html @@ -7,10 +7,10 @@ Statistics — FitTrackee 0.5.0 documentation - - + + - + @@ -125,11 +125,11 @@
-
+

Statistics

-
-GET /api/stats/(user_name)/by_time
+
+GET /api/stats/(user_name)/by_time

Get workouts statistics for a user by time

Example requests:

    @@ -223,19 +223,19 @@
Request Headers
Status Codes
-
-GET /api/stats/(user_name)/by_sport
+
+GET /api/stats/(user_name)/by_sport

Get workouts statistics for a user by sport

Example requests:

    @@ -326,19 +326,19 @@
Request Headers
Status Codes
-
-GET /api/stats/all
+
+GET /api/stats/all

Get all application statistics

Example requests:

GET /api/stats/all HTTP/1.1
@@ -379,25 +379,25 @@
 
Request Headers
Status Codes
-
+
@@ -412,7 +412,7 @@

© Copyright 2018 - 2021, SamR1.
- Created using Sphinx 3.5.4.
+ Created using Sphinx 4.2.0.

diff --git a/docs/api/users.html b/docs/api/users.html index 36852a4d..87cd9be1 100644 --- a/docs/api/users.html +++ b/docs/api/users.html @@ -7,10 +7,10 @@ Users — FitTrackee 0.5.0 documentation - - + + - + @@ -125,11 +125,11 @@
-
+

Users

-
-GET /api/users
+
+GET /api/users

Get all users

Example request:

    @@ -258,13 +258,13 @@
Request Headers
Status Codes
-
-GET /api/users/(user_name)
+
+GET /api/users/(user_name)

Get single user details

Example request:

GET /api/users/admin HTTP/1.1
@@ -365,19 +365,19 @@
 
Request Headers
Status Codes
-
-GET /api/users/(user_name)/picture
+
+GET /api/users/(user_name)/picture

get user picture

Example request:

GET /api/users/admin/picture HTTP/1.1
@@ -408,8 +408,8 @@
 
Status Codes
-
-PATCH /api/users/(user_name)
+
+PATCH /api/users/(user_name)

Update user to add admin rights

Only user with admin rights can modify another user

Example request:

@@ -515,32 +515,32 @@
Request Headers
Status Codes
-
-DELETE /api/users/(user_name)
+
+DELETE /api/users/(user_name)

Delete a user account

A user can only delete his own account

An admin can delete all accounts except his account if he’s the only @@ -564,34 +564,34 @@ one admin

Request Headers
Status Codes
-
+
@@ -606,7 +606,7 @@ one admin

© Copyright 2018 - 2021, SamR1.
- Created using Sphinx 3.5.4.
+ Created using Sphinx 4.2.0.

diff --git a/docs/api/workouts.html b/docs/api/workouts.html index 91f641c4..4e70d29f 100644 --- a/docs/api/workouts.html +++ b/docs/api/workouts.html @@ -7,10 +7,10 @@ Workouts — FitTrackee 0.5.0 documentation - - + + - + @@ -125,11 +125,11 @@
-
+

Workouts

-
-GET /api/workouts
+
+GET /api/workouts

Get workouts for the authenticated user.

Example requests:

    @@ -267,27 +267,27 @@
Request Headers
Status Codes
-
-GET /api/workouts/(string: workout_short_id)
+
+GET /api/workouts/(string: workout_short_id)

Get an workout

Example request:

GET /api/workouts/kjxavSTUrJvoAh2wvCeGEF HTTP/1.1
@@ -361,28 +361,28 @@
 
Request Headers
Status Codes
-
-GET /api/workouts/(string: workout_short_id)/gpx
+
+GET /api/workouts/(string: workout_short_id)/gpx

Get gpx file for an workout displayed on map with Leaflet

Example request:

GET /api/workouts/kjxavSTUrJvoAh2wvCeGEF/gpx HTTP/1.1
@@ -411,32 +411,32 @@
 
Request Headers
Status Codes
-
-GET /api/workouts/(string: workout_short_id)/chart_data
+
+GET /api/workouts/(string: workout_short_id)/chart_data

Get chart data from an workout gpx file, to display it with Recharts

Example request:

GET /api/workouts/kjxavSTUrJvoAh2wvCeGEF/chart HTTP/1.1
@@ -484,32 +484,32 @@
 
Request Headers
Status Codes
-
-GET /api/workouts/(string: workout_short_id)/chart_data/segment/(int: segment_id)
+
+GET /api/workouts/(string: workout_short_id)/chart_data/segment/(int: segment_id)

Get chart data from an workout gpx file, to display it with Recharts

Example request:

GET /api/workouts/kjxavSTUrJvoAh2wvCeGEF/chart/segment/0 HTTP/1.1
@@ -558,29 +558,29 @@
 
Request Headers
Status Codes
-
-GET /api/workouts/(string: workout_short_id)/gpx/segment/(int: segment_id)
+
+GET /api/workouts/(string: workout_short_id)/gpx/segment/(int: segment_id)

Get gpx file for an workout segment displayed on map with Leaflet

Example request:

GET /api/workouts/kjxavSTUrJvoAh2wvCeGEF/gpx/segment/0 HTTP/1.1
@@ -610,29 +610,29 @@
 
Request Headers
Status Codes
-
-GET /api/workouts/map/(map_id)
+
+GET /api/workouts/map/(map_id)

Get map image for workouts with gpx

Example request:

GET /api/workouts/map/fa33f4d996844a5c73ecd1ae24456ab8?1563529507772
@@ -652,23 +652,23 @@
 
Status Codes
-
-GET /api/workouts/map_tile/(s)/(z)/(x)/(y).png
+
+GET /api/workouts/map_tile/(s)/(z)/(x)/(y).png

Get map tile from tile server.

Example request:

GET /api/workouts/map_tile/c/13/4109/2930.png HTTP/1.1
@@ -693,8 +693,8 @@
 
-
-POST /api/workouts
+
+POST /api/workouts

Post an workout with a gpx file

Example request:

POST /api/workouts/ HTTP/1.1
@@ -794,35 +794,35 @@
 
Request Headers
Status Codes
-
-POST /api/workouts/no_gpx
+
+POST /api/workouts/no_gpx

Post an workout without gpx file

Example request:

POST /api/workouts/no_gpx HTTP/1.1
@@ -926,28 +926,28 @@
 
Request Headers
Status Codes
-
-PATCH /api/workouts/(string: workout_short_id)
+
+PATCH /api/workouts/(string: workout_short_id)

Update an workout

Example request:

PATCH /api/workouts/1 HTTP/1.1
@@ -1055,29 +1055,29 @@
 
Request Headers
Status Codes
-
-DELETE /api/workouts/(string: workout_short_id)
+
+DELETE /api/workouts/(string: workout_short_id)

Delete an workout

Example request:

DELETE /api/workouts/kjxavSTUrJvoAh2wvCeGEF HTTP/1.1
@@ -1098,26 +1098,26 @@
 
Request Headers
Status Codes
-
+
@@ -1132,7 +1132,7 @@

© Copyright 2018 - 2021, SamR1.
- Created using Sphinx 3.5.4.
+ Created using Sphinx 4.2.0.

diff --git a/docs/changelog.html b/docs/changelog.html index f703022d..0c6dd5bc 100644 --- a/docs/changelog.html +++ b/docs/changelog.html @@ -7,10 +7,10 @@ Change log — FitTrackee 0.5.0 documentation - - + + - + @@ -78,141 +78,149 @@ aria-labelledby="dLabelLocalToc">
  • Change log
    • Version 0.5.0 (unreleased) -
    • -
    • Version 0.4.9 (2021/07/16)
        -
      • New Features
      • Issues Closed
      • +
      • Pull Requests
      • -
      • Version 0.4.8 (2021/07/03)
          -
        • Issues Closed
            +
          +
        • +
        • Version 0.4.9 (2021/07/16)
        • -
        • Version 0.4.7 (2021/04/07)
            +
          • Version 0.4.8 (2021/07/03) +
          • +
          • Version 0.4.7 (2021/04/07)
          • Version 0.4.6 (2021/02/21)
              -
            • Issues Closed
            • Version 0.4.5 (2021/02/17)
                -
              • Issues Closed
              • Version 0.4.4 (2021/01/31)
                  -
                • Issues Closed
                • Version 0.4.3 (2021/01/10)
                    -
                  • Issues Closed
                  • Version 0.4.2 (2021/01/03)
                  • Version 0.4.1 (2020/12/31)
                      -
                    • Issues Closed
                    • Version 0.4.0 - FitTrackee on PyPI (2020/09/19)
                        -
                      • Issues Closed
                      • Version 0.3.0 - Administration (2020/07/15)
                          -
                        • Issues Closed
                        • Version 0.2.5 - Fix and improvements (2020/01/31)
                        • Version 0.2.4 - Minor fix (2020/01/30) -
                        • -
                        • Version 0.2.3 - FitTrackee available in French (2019/12/29)
                            -
                          • Issues Closed
                          • -
                          • Version 0.2.2 - Statistics fix (2019/09/23)
                              +
                            • Version 0.2.3 - FitTrackee available in French (2019/12/29) +
                            • +
                            • Version 0.2.2 - Statistics fix (2019/09/23)
                            • Version 0.2.1 - Fix and improvements (2019/09/01) -
                            • -
                            • Version 0.2.0 - Statistics (2019/07/07)
                                -
                              • Issues Closed
                              • -
                              • Version 0.1.1 - Fix and improvements (2019/02/07)
                                  +
                                • Version 0.2.0 - Statistics (2019/07/07) +
                                • +
                                • Version 0.1.1 - Fix and improvements (2019/02/07)
                                • Version 0.1.0 - First release 🎉 (2018-07-04)
                                    -
                                  • Issues Closed @@ -262,160 +270,178 @@
                                    -
                                    +

                                    Change log

                                    Version 0.5.0 (unreleased)

                                    +
                                    +

                                    Issues Closed

                                    -

                                    New Features

                                    +

                                    New Features

                                    • #18 - Better UI

                                    +
                                    +

                                    Bugs Fixed

                                    +
                                    +
                                    +
                                    +

                                    Pull Requests

                                    +
                                      +
                                    • #84/#93 - Add elevation data and new sports

                                    • +
                                    +
                                    +

                                    Misc

                                    +
                                      +
                                    • #104 - Switch to AGPLv3 license

                                    • +
                                    +
                                    +

                                    Version 0.4.9 (2021/07/16)

                                    -

                                    New Features

                                    +

                                    Issues Closed

                                    +
                                    +

                                    New Features

                                    • #83 - allow using configured tile server to generate static maps
                                      Note: to keep using the default tile server, set environment variable DEFAULT_STATICMAP to True

                                    • #81 - display remaining characters in textarea

                                    -
                                    -
                                    -

                                    Issues Closed

                                    -
                                    -

                                    Bugs Fixed

                                    + +
                                    +

                                    Bugs Fixed

                                    • #82 - a user can not modify his birth day

                                    • #80 - can not save notes with control characters

                                    In this release 4 issue were closed.

                                    -
                                    -
                                    -
                                    -
                                    + + + +

                                    Version 0.4.8 (2021/07/03)

                                    -
                                    -

                                    Issues Closed

                                    -
                                    -

                                    Bugs Fixed

                                    -
                                      -
                                    • #79 - Fails to start after make rebuild

                                    • -
                                    -

                                    In this release 1 issue was closed.

                                    -
                                    -
                                    - -
                                    -

                                    Version 0.4.7 (2021/04/07)

                                    Issues Closed

                                    Bugs Fixed

                                      -
                                    • #75 - Workouts on the same day are not displayed in right order

                                    • -
                                    -
                                    - -
                                    -

                                    Misc

                                    -
                                      -
                                    • Update Python and Javascript dependencies
                                      IMPORTANT: Due to SQLAlchemy update (1.4+), engine URLs starting with postgres:// are no longer supported. Please update DATABASE_URL with postgresql://.

                                    • +
                                    • #79 - Fails to start after make rebuild

                                    In this release 1 issue was closed.

                                    -
                                    - -
                                    -

                                    Version 0.4.6 (2021/02/21)

                                    + + + +
                                    +

                                    Version 0.4.7 (2021/04/07)

                                    Issues Closed

                                    Bugs Fixed

                                      +
                                    • #75 - Workouts on the same day are not displayed in right order

                                    • +
                                    +
                                    +
                                    +
                                    +

                                    Misc

                                    +
                                      +
                                    • Update Python and Javascript dependencies
                                      IMPORTANT: Due to SQLAlchemy update (1.4+), engine URLs starting with postgres:// are no longer supported. Please update DATABASE_URL with postgresql://.

                                    • +
                                    +

                                    In this release 1 issue was closed.

                                    +
                                    +
                                    +
                                    +

                                    Version 0.4.6 (2021/02/21)

                                    +
                                    +

                                    Issues Closed

                                    +
                                    +

                                    Bugs Fixed

                                    +
                                    • #72 - Error message when file exceeding size is incorrect

                                    • #71 - max size or max number of files must be greater than 0

                                    • #70 - max size for an archive must not be less than uploaded files max size

                                    In this release 3 issues were closed.

                                    -
                                    - - -
                                    + + + +

                                    Version 0.4.5 (2021/02/17)

                                    -
                                    -

                                    Issues Closed

                                    -
                                    -

                                    Bugs Fixed

                                    +
                                    +

                                    Issues Closed

                                    +
                                    +

                                    Bugs Fixed

                                    • #66 - invalid gpx limit used when importing zip archive

                                    • #64 - Only 50 workouts per month shown in calendar

                                    In this release 2 issues were closed.

                                    -
                                    - - -
                                    + + + +

                                    Version 0.4.4 (2021/01/31)

                                    -
                                    -

                                    Issues Closed

                                    -
                                    -

                                    Bugs Fixed

                                    +
                                    +

                                    Issues Closed

                                    +
                                    +

                                    Bugs Fixed

                                    • #62 - Error when sending reset password email

                                    -
                                    -

                                    Misc

                                    +
                                    +

                                    Misc

                                    • Refactoring before introducing new features.

                                    • Add docker files for evaluation purposes.

                                    In this release 1 issue was closed.

                                    -
                                    - -
                                    + + +

                                    Version 0.4.3 (2021/01/10)

                                    -
                                    -

                                    Issues Closed

                                    -
                                    -

                                    New Features

                                    +
                                    +

                                    Issues Closed

                                    +
                                    +

                                    New Features

                                    • #58 - Standardize terms used for workouts
                                      Note: Database model, upload directory for workouts and API endpoints are also updated.

                                    -
                                    -

                                    Bugs Fixed

                                    +
                                    +

                                    Bugs Fixed

                                    • #59 - No message displayed on uploading image error

                                    In this release 2 issues were closed.

                                    -
                                    - - -
                                    + + + +

                                    Version 0.4.2 (2021/01/03)

                                    -
                                    -

                                    Misc

                                    +
                                    +

                                    Misc

                                    No new features in this release, only some refactorings before introducing new features.

                                    -
                                    - -
                                    + + +

                                    Version 0.4.1 (2020/12/31)

                                    -
                                    -

                                    Issues Closed

                                    -
                                    -

                                    New Features

                                    +
                                    +

                                    Issues Closed

                                    +
                                    +

                                    New Features

                                    • #57 - Use uuid for activities

                                    In this release 1 issue was closed.

                                    -
                                    - - -
                                    + + + +

                                    Version 0.4.0 - FitTrackee on PyPI (2020/09/19)

                                    This version introduces some major changes:

                                      @@ -423,42 +449,42 @@ new features.

                                    • It’s now possible to change the tile provider for maps. The default tile server is now OpenStreetMap’s standard tile layer (replacing ThunderForest Outdoors), see Map tile server in documentation.

                                    -
                                    -

                                    Issues Closed

                                    -
                                    -

                                    New Features

                                    +
                                    +

                                    Issues Closed

                                    +
                                    +

                                    New Features

                                    • #54 - Tile server can be changed

                                    • #53 - Simplify FitTrackee installation

                                    In this release 2 issue were closed.

                                    -
                                    - - -
                                    + + + +

                                    Version 0.3.0 - Administration (2020/07/15)

                                    This version introduces some major changes:

                                    • FitTrackee administration is now available (see documentation)
                                      ⚠️ Warning: some application parameters move from environment variables to database (see installation).

                                    • in order to send emails, Redis is now a mandatory dependency

                                    -
                                    -

                                    Issues Closed

                                    -
                                    -

                                    New Features

                                    +
                                    +

                                    Issues Closed

                                    +
                                    +

                                    New Features

                                    • #50 - A user can reset his password

                                    • #17 - A user can delete his account

                                    • #15 - Complete the administration

                                    In this release 3 issues were closed.

                                    -
                                    - - -
                                    + + + +

                                    Version 0.2.5 - Fix and improvements (2020/01/31)

                                    -
                                    -

                                    Misc

                                    +
                                    +

                                    Misc

                                    This version contains minor fix and improvements on client side:

                                    • 4c3fc34 - empty user data on logout

                                    • @@ -467,61 +493,61 @@ see 2e1ee2c - add URL interceptors to simplify routes definition

                                    -
                                    - -
                                    + + +

                                    Version 0.2.4 - Minor fix (2020/01/30)

                                    -
                                    -

                                    Issues Closed

                                    -
                                    -

                                    Bugs Fixed

                                    +
                                    +

                                    Issues Closed

                                    +
                                    +

                                    Bugs Fixed

                                    • #47 - timezone drop-down is not displayed correctly

                                    • #46 - calendar cannot display more than 5 or 6 activities on the same day

                                    In this release 2 issues were closed.

                                    -
                                    - - -
                                    + + + +

                                    Version 0.2.3 - FitTrackee available in French (2019/12/29)

                                    -
                                    -

                                    Issues Closed

                                    -
                                    -

                                    New Features

                                    +
                                    +

                                    Issues Closed

                                    +
                                    +

                                    New Features

                                    • #43 - Display weekend days with a different background color on calendar

                                    • #40 - Localize FitTrackee (i18n)

                                    -
                                    -

                                    Bugs Fixed

                                    +
                                    +

                                    Bugs Fixed

                                    • #44 - Cannot edit an activity that does not have a gpx file

                                    In this release 3 issues were closed.

                                    -
                                    - - -
                                    + + + +

                                    Version 0.2.2 - Statistics fix (2019/09/23)

                                    -
                                    -

                                    Issues Closed

                                    -
                                    -

                                    Bugs Fixed

                                    +
                                    +

                                    Issues Closed

                                    +
                                    +

                                    Bugs Fixed

                                    • #41 - User statistics are incorrect

                                    In this release 1 issue was closed.

                                    -
                                    - - -
                                    + + + +

                                    Version 0.2.1 - Fix and improvements (2019/09/01)

                                    -
                                    -

                                    Issues Closed

                                    -
                                    -

                                    New Features

                                    +
                                    +

                                    Issues Closed

                                    +
                                    +

                                    New Features

                                    • #4 - Show points on the map when mouse over the chart

                                    • #14 - Display segments informations

                                    • @@ -532,53 +558,53 @@ add URL interceptors to simplify routes definition

                                    • #37 - Display map on activities list

                                    -
                                    -

                                    Bugs Fixed

                                    +
                                    +

                                    Bugs Fixed

                                    • #34 - Weather is not displayed anymore

                                    -
                                    -

                                    Misc

                                    - -

                                    In this release 8 issues were closed.

                                    -
                                    - -
                                    -

                                    Version 0.2.0 - Statistics (2019/07/07)

                                    -
                                    -

                                    Issues Closed

                                    -
                                    -

                                    New Features

                                    -
                                      -
                                    • #13 - Detailed statistics

                                    • -
                                    -
                                    -

                                    Misc

                                      -
                                    • Update dependencies

                                    • +
                                    • Poetry replaces pipenv for Python packages management

                                    -

                                    In this release 1 issue was closed.

                                    -
                                    - -
                                    -

                                    Version 0.1.1 - Fix and improvements (2019/02/07)

                                    +

                                    In this release 8 issues were closed.

                                    + + +
                                    +

                                    Version 0.2.0 - Statistics (2019/07/07)

                                    Issues Closed

                                    New Features

                                      +
                                    • #13 - Detailed statistics

                                    • +
                                    +
                                    +
                                    +
                                    +

                                    Misc

                                    +
                                      +
                                    • Update dependencies

                                    • +
                                    +

                                    In this release 1 issue was closed.

                                    +
                                    +
                                    +
                                    +

                                    Version 0.1.1 - Fix and improvements (2019/02/07)

                                    +
                                    +

                                    Issues Closed

                                    +
                                    +

                                    New Features

                                    +
                                    • #25 - Display records on calendar

                                    • #22 - Add a total on current month statistics

                                    -
                                    -

                                    Bugs Fixed

                                    +
                                    +

                                    Bugs Fixed

                                    • #31 - Use moving duration for stats

                                    • #29 - Pause duration calculation with segments

                                    • @@ -587,10 +613,10 @@ add URL interceptors to simplify routes definition

                                    • #24 - Some distances are not displayed correctly on current month statistics

                                    In this release 7 issues were closed.

                                    -
                                    - - -
                                    + + + +

                                    Version 0.1.0 - First release 🎉 (2018-07-04)

                                    Features:

                                      @@ -627,10 +653,10 @@ add URL interceptors to simplify routes definition

                                    • no administration for now

                                    ➡️ more informations: see documentation and current issues

                                    -
                                    -

                                    Issues Closed

                                    -
                                    -

                                    New Features

                                    +
                                    +

                                    Issues Closed

                                    +
                                    +

                                    New Features

                                    • #11 - Timezone support

                                    • #10 - Add a note to an activity

                                    • @@ -640,10 +666,10 @@ add URL interceptors to simplify routes definition

                                    • #2 - Calendar to view activities

                                    In this release 6 issues were closed.

                                    -
                                    - - - + + + + @@ -658,7 +684,7 @@ add URL interceptors to simplify routes definition

                                  • © Copyright 2018 - 2021, SamR1.
                                    - Created using Sphinx 3.5.4.
                                    + Created using Sphinx 4.2.0.

                                    diff --git a/docs/features.html b/docs/features.html index fa90836c..778c9232 100644 --- a/docs/features.html +++ b/docs/features.html @@ -7,10 +7,10 @@ Features — FitTrackee 0.5.0 documentation - - + + - + @@ -139,11 +139,11 @@
                                    -
                                    +

                                    Features

                                    -
                                    +

                                    List

                                    -
                                    +

                                    Administration

                                    (new in 0.3.0)

                                      @@ -173,24 +173,29 @@
                                  - -
                                  + +

                                  Account

                                  • A user can create, update and deleted his account

                                  • A user can reset his password (new in 0.3.0)

                                  -
                                  -
                                  + +

                                  Workouts

                                  • -
                                    6 sports are supported:
                                      +
                                      11 sports are supported:
                                      • Cycling (Sport)

                                      • Cycling (Transport)

                                      • Hiking

                                      • -
                                      • Montain Biking

                                      • +
                                      • Mountain Biking

                                      • +
                                      • Mountain Biking (Electric) (new in 0.5.0)

                                      • +
                                      • Rowing (new in 0.5.0)

                                      • Running

                                      • +
                                      • Skiing (Alpine) (new in 0.5.0)

                                      • +
                                      • Skiing (Cross Country) (new in 0.5.0)

                                      • +
                                      • Trail (new in 0.5.0)

                                      • Walking

                                      @@ -217,39 +222,39 @@

                                      Note

                                      for now, only the owner of the workout can see it.

                                  - -
                                  + +

                                  Translations

                                  FitTrackee is available in English and French (which can be saved in the user settings).

                                  -
                                  - -
                                  + + +

                                  Dashboard

                                  -
                                  +
                                  FitTrackee Dashboard -
                                  -
                                  -
                                  + + +

                                  Workout detail

                                  -
                                  +
                                  FitTrackee Workout -
                                  -
                                  -
                                  + + +

                                  Workouts list

                                  -
                                  +
                                  FitTrackee Workouts -
                                  -
                                  -
                                  + + +

                                  Statistics

                                  -
                                  +
                                  FitTrackee Statistics -
                                  -
                                  -
                                  + + +

                                  Administration

                                  -
                                  +
                                  FitTrackee Administration
                                  @@ -271,7 +276,7 @@

                                  © Copyright 2018 - 2021, SamR1.
                                  - Created using Sphinx 3.5.4.
                                  + Created using Sphinx 4.2.0.

                                  diff --git a/docs/genindex.html b/docs/genindex.html index 9c2f599c..ccfcb334 100644 --- a/docs/genindex.html +++ b/docs/genindex.html @@ -6,10 +6,10 @@ Index — FitTrackee 0.5.0 documentation - - + + - + @@ -189,7 +189,7 @@

                                  © Copyright 2018 - 2021, SamR1.
                                  - Created using Sphinx 3.5.4.
                                  + Created using Sphinx 4.2.0.

                                  diff --git a/docs/http-routingtable.html b/docs/http-routingtable.html index 85622f6b..fa71c1d6 100644 --- a/docs/http-routingtable.html +++ b/docs/http-routingtable.html @@ -6,10 +6,10 @@ HTTP Routing Table — FitTrackee 0.5.0 documentation - - + + - + @@ -320,7 +320,7 @@

                                  © Copyright 2018 - 2021, SamR1.
                                  - Created using Sphinx 3.5.4.
                                  + Created using Sphinx 4.2.0.

                                  diff --git a/docs/index.html b/docs/index.html index dd6412b6..20c68062 100644 --- a/docs/index.html +++ b/docs/index.html @@ -7,10 +7,10 @@ FitTrackee — FitTrackee 0.5.0 documentation - - + + - + @@ -121,7 +121,7 @@
                                  -
                                  +

                                  FitTrackee

                                  This web application allows you to track your outdoor activities (workouts) @@ -143,11 +143,11 @@ Map.
                                  Still under heavy development (some features may be unstable).
                                  (see issues for more information)
                                  -
                                  +
                                  FitTrackee Dashboard -
                                  -
                                  -
                                  + + +

                                  Table of contents

                                    @@ -209,7 +209,7 @@ Map.
                                - + @@ -224,7 +224,7 @@ Map.

                                © Copyright 2018 - 2021, SamR1.
                                - Created using Sphinx 3.5.4.
                                + Created using Sphinx 4.2.0.

                                diff --git a/docs/installation.html b/docs/installation.html index 71ccd335..3533c417 100644 --- a/docs/installation.html +++ b/docs/installation.html @@ -7,10 +7,10 @@ Installation — FitTrackee 0.5.0 documentation - - + + - + @@ -158,7 +158,7 @@
                                -
                                +

                                Installation

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

                                  @@ -184,7 +184,7 @@

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

                                -
                                +

                                Prerequisites

                                • PostgreSQL database (10+)

                                • @@ -205,8 +205,8 @@ on Debian and Arch).
                                necessary.
                                - -
                                + +

                                Environment variables

                                Warning

                                @@ -218,8 +218,8 @@ necessary.
                                or the task processing library. They are not all mandatory depending on deployment method.

                                -
                                -FLASK_APP
                                +
                                +FLASK_APP
                                Name of the module to import at flask run.
                                FLASK_APP should contain $(PWD)/fittrackee/__main__.py with installation from sources, else fittrackee.
                                @@ -227,8 +227,8 @@ deployment method.

                                -
                                -HOST
                                +
                                +HOST

                                FitTrackee host.

                                Default
                                @@ -238,8 +238,8 @@ deployment method.

                                -
                                -PORT
                                +
                                +PORT

                                FitTrackee port.

                                Default
                                @@ -249,8 +249,8 @@ deployment method.

                                -
                                -APP_SETTINGS
                                +
                                +APP_SETTINGS

                                FitTrackee configuration.

                                Default
                                @@ -260,14 +260,14 @@ deployment method.

                                -
                                -APP_SECRET_KEY
                                +
                                +APP_SECRET_KEY

                                FitTrackee secret key, must be initialized in production environment.

                                -
                                -APP_WORKERS
                                +
                                +APP_WORKERS

                                Number of workers spawned by Gunicorn.

                                Default
                                @@ -277,8 +277,8 @@ deployment method.

                                -
                                -APP_LOG
                                +
                                +APP_LOG

                                New in version 0.4.0.

                                @@ -286,8 +286,8 @@ deployment method.

                                -
                                -UPLOAD_FOLDER
                                +
                                +UPLOAD_FOLDER

                                New in version 0.4.0.

                                @@ -307,8 +307,8 @@ deployment method.

                                -
                                -DATABASE_URL
                                +
                                +DATABASE_URL
                                Database URL with username and password, must be initialized in production environment.
                                For example in dev environment : postgresql://fittrackee:fittrackee@localhost:5432/fittrackee
                                @@ -323,8 +323,8 @@ engine URL should begin with postgresql://.
                                -
                                -DATABASE_DISABLE_POOLING
                                +
                                +DATABASE_DISABLE_POOLING

                                New in version 0.4.0.

                                @@ -338,14 +338,14 @@ see -
                                -UI_URL
                                +
                                +UI_URL

                                FitTrackee URL, needed for links in emails.

                                -
                                -EMAIL_URL
                                +
                                +EMAIL_URL

                                New in version 0.3.0.

                                @@ -353,8 +353,8 @@ see -
                                -SENDER_EMAIL
                                +
                                +SENDER_EMAIL

                                New in version 0.3.0.

                                @@ -362,8 +362,8 @@ see -
                                -REDIS_URL
                                +
                                +REDIS_URL

                                New in version 0.3.0.

                                @@ -376,8 +376,8 @@ see -
                                -WORKERS_PROCESSES
                                +
                                +WORKERS_PROCESSES

                                New in version 0.3.0.

                                @@ -385,8 +385,8 @@ see -
                                -TILE_SERVER_URL
                                +
                                +TILE_SERVER_URL

                                New in version 0.4.0.

                                @@ -402,8 +402,8 @@ see -
                                -MAP_ATTRIBUTION
                                +
                                +MAP_ATTRIBUTION

                                New in version 0.4.0.

                                @@ -416,8 +416,8 @@ see -
                                -DEFAULT_STATICMAP 🆕
                                +
                                +DEFAULT_STATICMAP 🆕

                                New in version 0.4.9.

                                @@ -430,8 +430,8 @@ see -
                                -WEATHER_API_KEY
                                +
                                +WEATHER_API_KEY

                                Changed in version 0.4.0: ⚠️ replaces WEATHER_API

                                @@ -439,16 +439,16 @@ see -
                                -REACT_APP_API_URL
                                +
                                +REACT_APP_API_URL

                                FitTrackee API URL, only needed in dev environment.

                                -
                                +

                                Deprecated variables

                                -
                                -REACT_APP_GPX_LIMIT_IMPORT
                                +
                                +REACT_APP_GPX_LIMIT_IMPORT

                                Deprecated since version 0.3.0: now stored in database

                                @@ -461,8 +461,8 @@ see -
                                -REACT_APP_MAX_SINGLE_FILE_SIZE
                                +
                                +REACT_APP_MAX_SINGLE_FILE_SIZE

                                Deprecated since version 0.3.0: now stored in database

                                @@ -475,8 +475,8 @@ see -
                                -REACT_APP_MAX_ZIP_FILE_SIZE
                                +
                                +REACT_APP_MAX_ZIP_FILE_SIZE

                                Deprecated since version 0.3.0: now stored in database

                                @@ -489,8 +489,8 @@ see -
                                -REACT_APP_ALLOW_REGISTRATION
                                +
                                +REACT_APP_ALLOW_REGISTRATION

                                Deprecated since version 0.3.0: now stored in database

                                @@ -503,8 +503,8 @@ see -
                                -REACT_APP_THUNDERFOREST_API_KEY
                                +
                                +REACT_APP_THUNDERFOREST_API_KEY

                                Deprecated since version 0.4.0: see TILE_SERVER_URL

                                @@ -518,8 +518,8 @@ see Related environment variables are needed to initialize database when upgrading from version prior 0.3.0.
                                - -
                                + +

                                Emails

                                New in version 0.3.0.

                                @@ -530,8 +530,8 @@ see smtp://username:password@smtp.example.com:465/?ssl=True

                              • with STARTTLS: smtp://username:password@smtp.example.com:587/?tls=True

                              - -
                              + +

                              Map tile server

                              New in version 0.4.0.

                              @@ -549,9 +549,9 @@ The tile server can be changed by updating Check the terms of service of tile provider for map attribution
                              - - -
                              + + +

                              From PyPI

                              Note

                              @@ -565,7 +565,7 @@ The tile server can be changed by updating Note that FitTrackee is under heavy development, some features may be unstable.
                              -
                              +

                              Installation

                              • Create and activate a virtualenv

                              • @@ -621,8 +621,8 @@ $ source .env
                                To start application and workers with systemd service, see Deployment
                              - -
                              + +

                              Upgrade

                              Warning

                              @@ -655,9 +655,9 @@ $ source .env
                              • Restart the application and task queue workers.

                              -
                              -
                              -
                              + + +

                              From sources

                              Warning

                              @@ -675,9 +675,9 @@ $ poetry config virtualenvs.in-project true

                              For other OS, see Poetry Documentation

                              -
                              +

                              Installation

                              -
                              +

                              Dev environment

                              • Clone this repo:

                              • @@ -710,8 +710,8 @@ $ make install-db

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

                              -
                              -
                              + +

                              Production environment

                              Warning

                              @@ -752,9 +752,9 @@ database credentials):

                            • Open http://localhost:5000, log in as admin (the email is admin@example.com and the password mpwoadmin) and change the password

                              - - -
                              + + +

                              Upgrade

                              Warning

                              @@ -764,7 +764,7 @@ password

                              - upload directory (see Environment variables)
                              -
                              +

                              Dev environment

                              • Stop the application and pull the repository:

                              • @@ -792,8 +792,8 @@ $ make upgrade-db
                                $ make run-workers
                                 
                                -
                              -
                              + +

                              Prod environment

                              • Stop the application

                              • @@ -820,10 +820,10 @@ $ make upgrade-db
                                $ make run
                                 
                                -
                              - - -
                              + + + +

                              Deployment

                              There are several ways to start FitTrackee web application and task queue library. @@ -937,10 +937,10 @@ server {

                              Note

                              If needed, update configuration to handle larger files (see client_max_body_size).

                              - -
                              + +

                              Docker

                              -
                              +

                              Installation

                              New in version 0.4.4.

                              @@ -975,8 +975,8 @@ $ make docker-build docker-run docker-init
                              $ make docker-shell
                               
                              -
                              -
                              +
                              +

                              Client Development

                              New in version 0.4.10.

                              @@ -993,9 +993,9 @@ $ make docker-build docker-run docker-init
                              $ make docker-serve-client
                               
                              -
                              -
                              -
                              + + + @@ -1010,7 +1010,7 @@ $ make docker-build docker-run docker-init

                              © Copyright 2018 - 2021, SamR1.
                              - Created using Sphinx 3.5.4.
                              + Created using Sphinx 4.2.0.

                              diff --git a/docs/search.html b/docs/search.html index eec8a53e..5e422b0f 100644 --- a/docs/search.html +++ b/docs/search.html @@ -6,10 +6,10 @@ Search — FitTrackee 0.5.0 documentation - - + + - + @@ -148,7 +148,7 @@

                              © Copyright 2018 - 2021, SamR1.
                              - Created using Sphinx 3.5.4.
                              + Created using Sphinx 4.2.0.

                              diff --git a/docs/searchindex.js b/docs/searchindex.js index c3f91065..b8e5bf1d 100644 --- a/docs/searchindex.js +++ b/docs/searchindex.js @@ -1 +1 @@ -Search.setIndex({docnames:["api/auth","api/configuration","api/index","api/records","api/sports","api/stats","api/users","api/workouts","changelog","features","index","installation","troubleshooting/administrator","troubleshooting/index","troubleshooting/user"],envversion:{"sphinx.domains.c":2,"sphinx.domains.changeset":1,"sphinx.domains.citation":1,"sphinx.domains.cpp":3,"sphinx.domains.index":1,"sphinx.domains.javascript":2,"sphinx.domains.math":2,"sphinx.domains.python":2,"sphinx.domains.rst":2,"sphinx.domains.std":2,sphinx:56},filenames:["api/auth.rst","api/configuration.rst","api/index.rst","api/records.rst","api/sports.rst","api/stats.rst","api/users.rst","api/workouts.rst","changelog.md","features.rst","index.rst","installation.rst","troubleshooting/administrator.rst","troubleshooting/index.rst","troubleshooting/user.rst"],objects:{"":{"/api/auth/login":[0,0,1,"post--api-auth-login"],"/api/auth/logout":[0,1,1,"get--api-auth-logout"],"/api/auth/password/reset-request":[0,0,1,"post--api-auth-password-reset-request"],"/api/auth/password/update":[0,0,1,"post--api-auth-password-update"],"/api/auth/picture":[0,0,1,"post--api-auth-picture"],"/api/auth/profile":[0,1,1,"get--api-auth-profile"],"/api/auth/profile/edit":[0,0,1,"post--api-auth-profile-edit"],"/api/auth/register":[0,0,1,"post--api-auth-register"],"/api/config":[1,3,1,"patch--api-config"],"/api/ping":[1,1,1,"get--api-ping"],"/api/records":[3,1,1,"get--api-records"],"/api/sports":[4,1,1,"get--api-sports"],"/api/sports/(int:sport_id)":[4,3,1,"patch--api-sports-(int-sport_id)"],"/api/stats/(user_name)/by_sport":[5,1,1,"get--api-stats-(user_name)-by_sport"],"/api/stats/(user_name)/by_time":[5,1,1,"get--api-stats-(user_name)-by_time"],"/api/stats/all":[5,1,1,"get--api-stats-all"],"/api/users":[6,1,1,"get--api-users"],"/api/users/(user_name)":[6,3,1,"patch--api-users-(user_name)"],"/api/users/(user_name)/picture":[6,1,1,"get--api-users-(user_name)-picture"],"/api/workouts":[7,0,1,"post--api-workouts"],"/api/workouts/(string:workout_short_id)":[7,3,1,"patch--api-workouts-(string-workout_short_id)"],"/api/workouts/(string:workout_short_id)/chart_data":[7,1,1,"get--api-workouts-(string-workout_short_id)-chart_data"],"/api/workouts/(string:workout_short_id)/chart_data/segment/(int:segment_id)":[7,1,1,"get--api-workouts-(string-workout_short_id)-chart_data-segment-(int-segment_id)"],"/api/workouts/(string:workout_short_id)/gpx":[7,1,1,"get--api-workouts-(string-workout_short_id)-gpx"],"/api/workouts/(string:workout_short_id)/gpx/segment/(int:segment_id)":[7,1,1,"get--api-workouts-(string-workout_short_id)-gpx-segment-(int-segment_id)"],"/api/workouts/map/(map_id)":[7,1,1,"get--api-workouts-map-(map_id)"],"/api/workouts/no_gpx":[7,0,1,"post--api-workouts-no_gpx"],"DEFAULT_STATICMAP \ud83c\udd95":[11,4,1,"envvar-DEFAULT_STATICMAP"],APP_LOG:[11,4,1,"-"],APP_SECRET_KEY:[11,4,1,"-"],APP_SETTINGS:[11,4,1,"-"],APP_WORKERS:[11,4,1,"-"],DATABASE_DISABLE_POOLING:[11,4,1,"-"],DATABASE_URL:[11,4,1,"-"],EMAIL_URL:[11,4,1,"-"],FLASK_APP:[11,4,1,"-"],HOST:[11,4,1,"-"],MAP_ATTRIBUTION:[11,4,1,"-"],PORT:[11,4,1,"-"],REACT_APP_ALLOW_REGISTRATION:[11,4,1,"-"],REACT_APP_API_URL:[11,4,1,"-"],REACT_APP_GPX_LIMIT_IMPORT:[11,4,1,"-"],REACT_APP_MAX_SINGLE_FILE_SIZE:[11,4,1,"-"],REACT_APP_MAX_ZIP_FILE_SIZE:[11,4,1,"-"],REACT_APP_THUNDERFOREST_API_KEY:[11,4,1,"-"],REDIS_URL:[11,4,1,"-"],SENDER_EMAIL:[11,4,1,"-"],TILE_SERVER_URL:[11,4,1,"-"],UI_URL:[11,4,1,"-"],UPLOAD_FOLDER:[11,4,1,"-"],WEATHER_API_KEY:[11,4,1,"-"],WORKERS_PROCESSES:[11,4,1,"-"]},"/api/workouts/map_tile/(s)/(z)/(x)/(y)":{png:[7,1,1,"get--api-workouts-map_tile-(s)-(z)-(x)-(y).png"]}},objnames:{"0":["http","post","HTTP post"],"1":["http","get","HTTP get"],"2":["http","delete","HTTP delete"],"3":["http","patch","HTTP patch"],"4":["std","envvar","environment variable"]},objtypes:{"0":"http:post","1":"http:get","2":"http:delete","3":"http:patch","4":"std:envvar"},terms:{"0mb":[0,7],"100":[7,9],"1000":5,"1048576":1,"10485760":1,"10mb":11,"1232004":7,"12341":5,"1234538":7,"1267":5,"127":11,"1563529507772":7,"1mb":11,"200":[0,1,3,4,5,6,7],"201":[0,7],"2017":[5,7],"2018":[5,7,10],"2019":[0,3,5,6,7,10],"2020":10,"2021":10,"204":[0,6,7],"279":7,"280":7,"282":5,"2930":7,"2e1ee2c":8,"3000":11,"301":11,"34614d5":8,"400":[0,1,4,7],"401":[0,1,3,4,5,6,7],"403":[0,1,4,5,6,7],"404":[0,4,5,6,7],"4109":7,"413":[0,7],"443":11,"465":11,"4c3fc34":8,"500":[0,1,4,6,7],"5000":11,"5078118":7,"5079733":7,"5432":11,"587":11,"613":5,"7380":7,"8025":11,"895":[0,6],"9960":5,"boolean":[1,6],"default":[5,6,7,8,11],"export":10,"float":7,"import":[8,11],"int":[4,7],"new":[0,9,11],"null":[0,6,7],"return":[3,7,11],"short":7,"static":[8,11],"true":[0,1,4,6,8,11],"try":[0,6,7],For:11,NOT:[0,4,7],Not:[4,5,6,7],One:11,The:[8,9,11],There:11,Use:8,WITH:11,With:11,__main__:11,_blank:11,access:11,account:[6,8],acit:7,activ:[4,8,9,10,11],adapt:11,add:[6,8,9,10],address:11,admin:[0,1,3,4,5,6,7,8,11],administr:[0,6,7,10,13],after:[8,11],again:[0,1,3,4,5,6,7],all:[3,4,5,6,11],allow:[0,1,7,8,10,11],along:7,alreadi:0,also:[8,10,11],alwai:11,android:10,anoth:[6,11],anymor:8,apach:10,api:[0,1,3,4,5,6,7,8,9,10,11],apikei:11,app:10,app_log:11,app_secret_kei:11,app_set:11,app_work:11,applic:[0,1,3,4,5,6,7,8,9,10,11],arch:11,archiv:[1,8,9,11],archlinux:11,asc:6,ascent:7,attribut:11,auth:[0,1,3,4,5,6,7],auth_token:0,auth_user_id:[1,3,4,5,6,7],authent:[1,2,3,4,5,6,7,10],author:[0,1,3,4,5,6,7],avail:[3,9,10,11],ave_spe:7,ave_speed_from:7,ave_speed_to:7,averag:[3,7,8,9],axi:7,b862a77:8,background:8,backup:11,bad:[0,1,4,7],bearer:[0,1,3,4,5,6,7],becom:8,been:8,befor:[8,11],begin:11,better:8,bike:[4,7,8,9],bin:11,bio:[0,6],biographi:0,birth:[0,8],birth_dat:[0,6],bound:7,build:11,by_sport:5,by_tim:5,calcul:8,calendar:[8,9],can:[6,8,9,10,11,12],cannot:8,chang:[9,10,11],charact:[0,8],chart:[7,8,9,11],chart_data:7,check:[1,11,12],choos:8,client:[8,11],client_max_body_s:11,clone:11,code:[0,1,3,4,5,6,7],color:8,com:[0,6,11],complet:8,config:[1,11],configur:[2,8,9,10,11],confirm:0,contact:[0,6,7],contain:[8,9,11],content:[0,1,3,4,5,6,7],contributor:[1,11],control:8,coordin:11,copi:[1,11],copyright:[1,11],correctli:8,creat:[0,7,8,9,11],create_app:11,created_at:[0,6],creation:[8,9],creation_d:7,credenti:[0,11],criteria:6,current:8,custom:11,cycl:[4,8,9],dai:8,dark:11,darkski:[8,9],dashboard:[8,10],data:[0,1,3,4,5,6,7,8,10,11],databas:[8,11,12],database_disable_pool:11,database_url:[8,11],date:[0,5,7,8,9],debian:11,default_staticmap:[8,11],defin:9,definit:8,delet:[0,6,7,8,9],depend:[8,11],deploy:10,desc:7,descent:7,describ:11,descript:11,detail:[6,8,10],develop:[10,11],dialect:12,differ:8,directli:11,directori:[8,11],disabl:[0,8,9,11],displai:[7,8,9,10,11,12],distanc:[3,7,8,9],distance_from:7,distance_to:7,distribut:11,docker:[8,10],document:[8,10,11],doe:[5,6,7,8],don:0,down:8,download:11,dramatiq:11,drop:8,due:8,durat:[3,7,8,9],duration_from:7,duration_to:7,dure:[0,7],easi:8,edit:[0,8,9],elev:[7,8,9,11],els:11,email:[0,6,8],email_url:11,empti:8,enabl:[1,9],encount:11,end:[5,7],endpoint:[1,2,8,13],engin:[8,11,12],english:9,enter:[8,9],entiti:[0,7],entri:11,env:11,environ:[8,10,12],error:[0,1,4,6,7,8,9,11,12],europ:[0,6],evalu:[8,11],even:[8,9],exampl:[0,1,3,4,5,6,7,10,11],exc:12,exce:[0,7],exceed:8,except:6,execstart:11,exhaust:10,exist:[0,5,6,7,9,10,11],expir:[0,1,3,4,5,6,7],extens:[0,7],fa33f4d996844a5c73ecd1ae24456ab8:7,fail:[8,13],fals:[0,1,4,6,7,11],farest:[3,8,9],featur:[10,11],fetch:11,file:[0,1,7,8,9,10,11],filter:[8,9],first:[0,10],first_nam:[0,6],fitotrack:10,fittracke:[9,11,13],fittrackee_init_data:11,fittrackee_upgrade_db:11,fittrackee_work:11,fix:10,flask:11,flask_app:11,flaticon:11,follow:[3,9,11,12],forbidden:[0,1,4,5,6,7],forecast:11,form:[0,7],format:[0,5,7],former:11,forrunn:10,forward:11,found:[0,4,5,6,7],frame:5,freepik:11,french:[9,10],fri:7,from:[1,3,4,5,6,7,8,10],fullchain:11,gener:[8,11],get:[0,1,3,4,5,6,7],gif:0,git:11,github:11,given:11,gmt:[0,3,6,7],gpl:10,gpx:[7,8,9,10,11],gpx_limit_import:1,gpxpy:11,grant:11,greater:8,gunicorn:[11,12],handl:[0,9,11],has:6,has_workout:4,have:[1,4,5,6,7,8],header:[0,1,3,4,5,6,7],health:1,heavi:[10,11],hike:[4,8,9],his:[6,8,9],home:11,host:11,href:[1,11],http:[0,1,3,4,5,6,7,11],hvybqybra7wwxpastwr4v2:[0,3,6],i18n:8,icon:11,imag:[0,6,7,8,11],img:4,improv:10,incorrect:8,index:7,info:0,inform:[8,10,11],init:11,initi:11,initialis:11,insid:11,instal:[8,10],instanc:[1,9,11],integ:[1,3,4,5,6,7],interceptor:8,interfac:11,intern:[0,1,4,6,7],introduc:8,invalid:[0,1,3,4,5,6,7,8],is_act:4,is_registration_en:1,issu:[10,11],jan:7,javascript:8,john_do:6,jpeg:6,jpg:0,json:[0,1,3,4,5,6,7],jul:[0,3,6,7],keep:[8,10,11],kei:[8,9,11],kjxavsturjvoah2wvcegef:7,label:4,languag:[0,6],larg:[0,7,9],larger:11,last:[0,11],last_nam:[0,6],latitud:7,layer:[8,11],leaflet:[7,11],least:[7,11],less:8,librari:11,licens:10,like:9,limit:[8,9],link:11,linux:11,list:[8,10,11],listen:11,load:[8,12],local:[8,10,11],localhost:11,locat:[0,6,11],log:[0,1,3,4,5,6,7,10,11,12],logfil:11,login:0,logout:[0,8],longer:[8,12],longest:[3,8,9],longitud:7,made:11,mai:[9,10,11],mailhog:11,major:8,make:[8,11],makefil:11,manag:8,mandatori:[7,8,11],map:[7,8,9,10],map_attribut:[1,11],map_id:7,map_til:7,match:0,max:[1,6,7,8],max_alt:7,max_single_file_s:1,max_spe:7,max_speed_from:7,max_speed_to:7,max_us:1,max_zip_file_s:1,maxim:7,maximum:[3,8,9,11],messag:[0,1,7,8],method:11,min_alt:7,minim:7,minor:10,mobil:10,model:8,modifi:[6,8],modification_d:7,modul:11,mon:7,mondai:[5,9],montain:[8,9],month:[5,8,9],more:[8,9,10,11],morn:7,mountain:4,mous:8,move:[7,8],mpwoadmin:11,multi:11,multipart:[0,7],must:[0,1,4,8,9,11,12],name:[0,5,6,11],nano:11,nb_sport:[0,6],nb_workout:[0,5,6],necessari:[9,11],need:11,network:11,next_workout:7,nginx:[9,11],no_gpx:7,non:[4,10],noopen:11,noreferr:11,nosuchmoduleerror:12,note:[7,8,9,11],now:[8,9,11],number:[1,6,7,8,9,11],oauth:[0,1,3,4,5,6,7],object:[0,1,4,6,7],one:[6,7],onli:[6,7,8,9,11],open:[10,11],openstreetmap:[1,8,11],opentrack:10,option:11,order:[6,7,8],order_bi:6,org:[1,11],other:[6,11],out:0,outdoor:[8,10,11],over:8,overwrit:11,own:[6,10],owner:[8,9],packag:[8,11],page:[6,7],pagin:[6,7],par_pag:6,paramet:[0,1,3,4,5,6,7,8,9,11],pari:[0,6],pars:11,part:[0,7],pass:11,password:[0,8,9,11],password_conf:0,patch:[1,4,6,7],path:11,paus:[7,8],payload:[0,1,4,7],pem:11,per:[6,7,8],per_pag:[6,7],permiss:[1,4,5,6,7],pg_dump:11,pictur:[0,6,7,11],ping:1,pip:11,pipenv:8,pleas:[0,1,3,4,5,6,7,8],plugin:12,png:[0,4,7,11],poetri:[8,11],point:[8,11],pong:1,pool:11,port:11,possibl:[8,10],post:[0,7],postgr:[8,12],postgresql:[8,11,12],prerequisit:10,previous_workout:7,prior:11,privileg:11,privkei:11,process:[0,9,11],productionconfig:11,profil:0,project:11,provid:[0,1,3,4,5,6,7,8,9,11],proxi:11,proxy_add_x_forwarded_for:11,proxy_pass:11,proxy_redirect:11,proxy_set_head:11,pull:11,purpos:[8,11],pwd:11,pypi:10,python:[8,11],queri:[5,6,7],queue:11,rais:9,react:11,react_app_allow_registr:11,react_app_api_url:11,react_app_gpx_limit_import:11,react_app_max_single_file_s:11,react_app_max_zip_file_s:11,react_app_thunderforest_api_kei:11,read:8,real:11,rebuild:8,rechart:7,recommend:11,record:[0,2,6,7,8,9,10],record_typ:[0,3,6,7],redi:[8,11],redis_url:11,refactor:8,regist:[0,1,11],registr:[0,1,8,9],rel:11,relat:11,releas:[10,11],remain:8,remote_addr:11,remov:9,renam:8,replac:[8,11],repo:11,repositori:11,request:[0,1,3,4,5,6,7],request_uri:11,requir:0,reset:[0,8,9],respons:[0,1,3,4,5,6,7],restart:11,restartsec:11,right:[6,8,9],rout:8,run:[4,8,9,11],runner:10,sam:[0,6],same:8,samr1:11,sat:6,save:[8,9],schema:11,search:8,second:7,secret:11,see:[8,9,10,11],segment:[7,8,9],segment_id:7,select:[0,7],send:[8,11],sender:11,sender_email:11,serv:11,server:[0,1,4,6,7,8,9,10],server_nam:11,servic:11,set:[8,9],sever:[10,11],shell:11,should:11,show:8,shown:8,side:8,signatur:[0,1,3,4,5,6,7],simpl:11,simplifi:8,sinc:11,singl:[1,6],size:[0,1,7,8,9,11],sky:11,smtp:11,some:[6,7,8,10,11],sorri:0,sort:[6,7],sourc:10,spawn:11,speed:[3,7,8,9,11],spinner:8,sport:[2,5,7,8,9,10,11],sport_id:[0,3,4,5,6,7],sports_list:[0,6],sql:11,sqlalchemi:[8,11,12],ssl:11,ssl_certif:11,ssl_certificate_kei:11,standard:[8,11],standarderror:11,standardoutput:11,start:[5,7,8,9,11,13],startlimitintervalsec:11,starttl:11,stat:[5,8],staticmap:11,statist:[2,10],statu:[0,1,3,4,5,6,7],step:11,still:10,stop:11,store:[10,11],street:10,string:[0,4,5,6,7],subdomain:7,success:[0,1,3,4,5,6,7],successfulli:0,sun:[0,3,6,7],sundai:[5,7,9],support:[8,9,12],syslog:11,syslogidentifi:11,system:11,systemd:11,tar:11,target:11,task:11,term:[8,11],test:11,textarea:8,than:8,thei:11,them:10,thi:[7,8,9,10,11],thunderforest:[8,11],tile:[7,8],tile_server_url:11,time:[5,7,8,9],timezon:[0,6,8],titl:7,tls:11,todo:14,token:[0,1,3,4,5,6,7],too:[0,7],tool:11,tooltip:8,total:8,total_dist:[0,5,6],total_dur:[0,5,6],track:10,transport:[4,8,9],troubleshoot:10,type:[0,1,3,4,5,6,7,11],typescript:11,ui_url:11,unauthor:[0,1,3,4,5,6,7],under:[10,11],unencrypt:11,unit:11,unreleas:10,unstabl:[10,11],updat:[0,1,4,6,7,8,9,11],upload:[8,9,11],upload_fold:11,uploads_dir_s:5,url:[8,11,12],use:11,used:[8,11],user:[0,1,2,3,4,5,7,8,9,10,11,13],user_nam:[5,6],usernam:[0,6,11],using:[6,7,8,10,11],uuid:[7,8],valid:[0,1,3,4,5,6,7,11],valu:[0,3,6,7],variabl:[8,10,12],venv:11,version:[1,10,11],view:8,virtualenv:11,vue3:11,vuex:11,wai:11,walk:[4,8,9],wantedbi:11,warn:8,weather:[8,9,11],weather_api:11,weather_api_kei:11,weather_end:7,weather_start:7,web:[0,1,3,4,5,6,7,10,11],week:[5,8,9],weekend:8,weekm:[0,5],were:8,wget:11,when:[1,8,11],where:11,which:9,with_gpx:7,without:[5,6,7,8,9,10],worker:11,workers_process:11,workingdirectori:11,workout:[2,5,8,10],workout_d:[0,3,6,7],workout_id:[0,3,6,7],workout_short_id:7,workouts_count:6,written:11,www:[1,11],xxxx:11,xzf:11,yai:11,yarn:11,year:5,yet:10,you:[1,4,5,6,7,10],your:[6,10,11],zip:[1,7,8,9,11],zoom:7},titles:["Authentication","Configuration","API documentation","Records","Sports","Statistics","Users","Workouts","Change log","Features","FitTrackee","Installation","Administrator","Troubleshooting","User"],titleterms:{"2018":8,"2019":8,"2020":8,"2021":8,"new":8,account:9,administr:[8,9,12],api:2,authent:0,avail:8,bug:8,chang:8,close:8,configur:1,content:10,dashboard:9,deploy:11,deprec:11,detail:9,dev:11,docker:11,document:2,email:11,environ:11,fail:12,featur:[8,9],first:8,fittracke:[8,10,12],fix:8,french:8,from:11,improv:8,instal:11,issu:8,list:9,log:8,map:11,minor:8,misc:8,prerequisit:11,prod:11,product:11,pypi:[8,11],record:3,releas:8,server:11,sourc:11,sport:4,start:12,statist:[5,8,9],tabl:10,tile:11,translat:9,troubleshoot:13,unreleas:8,upgrad:11,user:[6,14],variabl:11,version:8,workout:[7,9]}}) \ No newline at end of file +Search.setIndex({docnames:["api/auth","api/configuration","api/index","api/records","api/sports","api/stats","api/users","api/workouts","changelog","features","index","installation","troubleshooting/administrator","troubleshooting/index","troubleshooting/user"],envversion:{"sphinx.domains.c":2,"sphinx.domains.changeset":1,"sphinx.domains.citation":1,"sphinx.domains.cpp":4,"sphinx.domains.index":1,"sphinx.domains.javascript":2,"sphinx.domains.math":2,"sphinx.domains.python":3,"sphinx.domains.rst":2,"sphinx.domains.std":2,sphinx:56},filenames:["api/auth.rst","api/configuration.rst","api/index.rst","api/records.rst","api/sports.rst","api/stats.rst","api/users.rst","api/workouts.rst","changelog.md","features.rst","index.rst","installation.rst","troubleshooting/administrator.rst","troubleshooting/index.rst","troubleshooting/user.rst"],objects:{"":{"/api/auth/login":[0,0,1,"post--api-auth-login"],"/api/auth/logout":[0,1,1,"get--api-auth-logout"],"/api/auth/password/reset-request":[0,0,1,"post--api-auth-password-reset-request"],"/api/auth/password/update":[0,0,1,"post--api-auth-password-update"],"/api/auth/picture":[0,0,1,"post--api-auth-picture"],"/api/auth/profile":[0,1,1,"get--api-auth-profile"],"/api/auth/profile/edit":[0,0,1,"post--api-auth-profile-edit"],"/api/auth/register":[0,0,1,"post--api-auth-register"],"/api/config":[1,3,1,"patch--api-config"],"/api/ping":[1,1,1,"get--api-ping"],"/api/records":[3,1,1,"get--api-records"],"/api/sports":[4,1,1,"get--api-sports"],"/api/sports/(int:sport_id)":[4,3,1,"patch--api-sports-(int-sport_id)"],"/api/stats/(user_name)/by_sport":[5,1,1,"get--api-stats-(user_name)-by_sport"],"/api/stats/(user_name)/by_time":[5,1,1,"get--api-stats-(user_name)-by_time"],"/api/stats/all":[5,1,1,"get--api-stats-all"],"/api/users":[6,1,1,"get--api-users"],"/api/users/(user_name)":[6,3,1,"patch--api-users-(user_name)"],"/api/users/(user_name)/picture":[6,1,1,"get--api-users-(user_name)-picture"],"/api/workouts":[7,0,1,"post--api-workouts"],"/api/workouts/(string:workout_short_id)":[7,3,1,"patch--api-workouts-(string-workout_short_id)"],"/api/workouts/(string:workout_short_id)/chart_data":[7,1,1,"get--api-workouts-(string-workout_short_id)-chart_data"],"/api/workouts/(string:workout_short_id)/chart_data/segment/(int:segment_id)":[7,1,1,"get--api-workouts-(string-workout_short_id)-chart_data-segment-(int-segment_id)"],"/api/workouts/(string:workout_short_id)/gpx":[7,1,1,"get--api-workouts-(string-workout_short_id)-gpx"],"/api/workouts/(string:workout_short_id)/gpx/segment/(int:segment_id)":[7,1,1,"get--api-workouts-(string-workout_short_id)-gpx-segment-(int-segment_id)"],"/api/workouts/map/(map_id)":[7,1,1,"get--api-workouts-map-(map_id)"],"/api/workouts/no_gpx":[7,0,1,"post--api-workouts-no_gpx"],"DEFAULT_STATICMAP \ud83c\udd95":[11,4,1,"envvar-DEFAULT_STATICMAP"],APP_LOG:[11,4,1,"-"],APP_SECRET_KEY:[11,4,1,"-"],APP_SETTINGS:[11,4,1,"-"],APP_WORKERS:[11,4,1,"-"],DATABASE_DISABLE_POOLING:[11,4,1,"-"],DATABASE_URL:[11,4,1,"-"],EMAIL_URL:[11,4,1,"-"],FLASK_APP:[11,4,1,"-"],HOST:[11,4,1,"-"],MAP_ATTRIBUTION:[11,4,1,"-"],PORT:[11,4,1,"-"],REACT_APP_ALLOW_REGISTRATION:[11,4,1,"-"],REACT_APP_API_URL:[11,4,1,"-"],REACT_APP_GPX_LIMIT_IMPORT:[11,4,1,"-"],REACT_APP_MAX_SINGLE_FILE_SIZE:[11,4,1,"-"],REACT_APP_MAX_ZIP_FILE_SIZE:[11,4,1,"-"],REACT_APP_THUNDERFOREST_API_KEY:[11,4,1,"-"],REDIS_URL:[11,4,1,"-"],SENDER_EMAIL:[11,4,1,"-"],TILE_SERVER_URL:[11,4,1,"-"],UI_URL:[11,4,1,"-"],UPLOAD_FOLDER:[11,4,1,"-"],WEATHER_API_KEY:[11,4,1,"-"],WORKERS_PROCESSES:[11,4,1,"-"]},"/api/workouts/map_tile/(s)/(z)/(x)/(y)":{png:[7,1,1,"get--api-workouts-map_tile-(s)-(z)-(x)-(y).png"]}},objnames:{"0":["http","post","HTTP post"],"1":["http","get","HTTP get"],"2":["http","delete","HTTP delete"],"3":["http","patch","HTTP patch"],"4":["std","envvar","environment variable"]},objtypes:{"0":"http:post","1":"http:get","2":"http:delete","3":"http:patch","4":"std:envvar"},terms:{"0":[0,1,3,4,5,6,7,9,10,11],"00":[0,3,6,7],"01":[0,3,5,6,7,10],"02":[7,10],"03":[6,7,10],"04":[7,10],"06":5,"07":[0,3,6,7,10],"08":[0,3,6],"09":[0,6,10],"0mb":[0,7],"1":[0,1,3,4,5,6,7,10,11],"10":[0,1,3,6,7,10,11],"100":[7,9],"1000":5,"104":8,"1048576":1,"10485760":1,"10mb":11,"11":[0,3,6,8,9],"12":[0,3,6,7,10],"1232004":7,"12341":5,"1234538":7,"1267":5,"127":11,"13":[7,8],"14":[0,6,7,8],"15":[5,7,10],"150":5,"156":5,"1563529507772":7,"16":[7,10],"17":[7,10,11],"178":5,"18":[0,3,6,7,8],"19":10,"1mb":11,"2":[0,1,3,4,5,6,7,10,11],"20":6,"200":[0,1,3,4,5,6,7],"201":[0,7],"2017":[5,7],"2018":[5,7,10],"2019":[0,3,5,6,7,10],"2020":10,"2021":10,"203":5,"204":[0,6,7],"21":10,"22":[7,8],"23":10,"24":8,"25":[8,11],"26":8,"27":[0,6],"279":7,"28":8,"280":7,"282":5,"29":10,"2930":7,"2e1ee2c":8,"3":[0,4,5,6,7,9,10,11],"30":[5,10],"3000":11,"301":11,"31":[7,10],"33":8,"34":8,"34614d5":8,"36":8,"37":8,"39":7,"4":[0,4,6,7,10,11],"40":8,"400":[0,1,4,7],"401":[0,1,3,4,5,6,7],"403":[0,1,4,5,6,7],"404":[0,4,5,6,7],"41":8,"4109":7,"413":[0,7],"43":8,"44":[7,8],"443":11,"45":7,"46":[5,8],"465":11,"47":[5,7,8],"4c3fc34":8,"5":[1,4,5,6,7,9,10],"50":[0,6,8],"500":[0,1,4,6,7],"5000":11,"5078118":7,"5079733":7,"51":7,"53":8,"54":8,"5432":11,"57":[7,8],"58":[0,6,8],"587":11,"59":8,"6":[0,4,6,7,10],"613":5,"62":8,"63":7,"64":8,"66":8,"67":[0,6],"7":[7,10,11],"70":8,"71":8,"72":8,"7380":7,"75":8,"78":5,"79":8,"8":[0,7,10],"80":[8,11],"8025":11,"81":8,"82":8,"83":8,"84":8,"895":[0,6],"9":[0,3,6,10,11],"93":8,"9960":5,"boolean":[1,6],"default":[5,6,7,8,11],"do":[1,4,5,6,7],"export":10,"float":7,"import":[8,11],"int":[4,7],"new":[0,9,11],"null":[0,6,7],"return":[3,7,11],"short":7,"static":[8,11],"switch":8,"true":[0,1,4,6,8,11],"try":[0,6,7],A:[6,8,9],AS:[0,3,6,7],For:11,If:[9,11],In:8,It:[8,10,12],NO:[0,6,7],NOT:[0,4,7],No:[0,6,7,8,10],Not:[4,5,6,7],OF:11,ON:11,On:11,One:11,TO:11,The:[8,9,11],There:11,To:11,WITH:11,With:11,__main__:11,_blank:11,access:11,account:[6,8],acit:7,activ:[4,8,9,10,11],adapt:11,add:[6,8,9,10],address:11,admin:[0,1,3,4,5,6,7,8,11],administr:[0,6,7,10,13],after:[8,11],again:[0,1,3,4,5,6,7],agplv3:8,all:[3,4,5,6,11],allow:[0,1,7,8,10,11],along:7,alpin:9,alreadi:0,also:[8,10,11],alwai:11,an:[1,4,6,7,8,9,11],android:10,anoth:[6,11],anymor:8,apach:10,api:[0,1,3,4,5,6,7,8,9,10,11],apikei:11,app:[10,11],app_log:11,app_secret_kei:11,app_set:11,app_work:11,applic:[0,1,3,4,5,6,7,8,9,10,11],ar:[3,7,8,9,10,11,12],arch:11,archiv:[1,8,9,11],archlinux:11,asc:6,ascent:7,attribut:11,auth:[0,1,3,4,5,6,7],auth_token:0,auth_user_id:[1,3,4,5,6,7],authent:[1,2,3,4,5,6,7,10],author:[0,1,3,4,5,6,7],avail:[3,9,10,11],ave_spe:7,ave_speed_from:7,ave_speed_to:7,averag:[3,7,8,9],axi:7,b862a77:8,b:11,background:8,backup:11,bad:[0,1,4,7],bearer:[0,1,3,4,5,6,7],becom:8,been:8,befor:[8,11],begin:11,better:8,bike:[4,7,8,9],bin:11,bio:[0,6],biographi:0,birth:[0,8],birth_dat:[0,6],bound:7,build:11,by_sport:5,by_tim:5,c:7,calcul:8,calendar:[8,9],can:[6,8,9,10,11,12],cannot:8,cd:11,chang:[9,10,11],charact:[0,8],chart:[7,8,9,11],chart_data:7,check:[1,11,12],choos:8,client:8,client_max_body_s:11,clone:11,code:[0,1,3,4,5,6,7],color:8,com:[0,6,11],complet:8,config:[1,11],configur:[2,8,9,10,11],confirm:0,contact:[0,6,7],contain:[8,9,11],content:[0,1,3,4,5,6,7],contributor:[1,11],control:8,coordin:11,copi:[1,11],copyright:[1,11],correctli:8,countri:9,cp:11,creat:[0,7,8,9,11],create_app:11,created_at:[0,6],creation:[8,9],creation_d:7,credenti:[0,11],criteria:6,cross:9,current:8,custom:11,cycl:[4,8,9],d:[0,5,7],dai:8,dark:11,darkski:[8,9],dashboard:[8,10],data:[0,1,3,4,5,6,7,8,10,11],databas:[8,11,12],database_disable_pool:11,database_url:[8,11],date:[0,5,7,8,9],db:11,debian:11,default_staticmap:[8,11],defin:9,definit:8,delet:[0,6,7,8,9],depend:[8,11],deploy:10,desc:7,descent:7,describ:11,descript:11,detail:[6,8,10],develop:10,dialect:12,differ:8,directli:11,directori:[8,11],disabl:[0,8,9,11],displai:[7,8,9,10,11,12],distanc:[3,7,8,9],distance_from:7,distance_to:7,distribut:11,docker:[8,10],document:[8,10,11],doe:[5,6,7,8],don:0,down:8,download:11,dramatiq:11,drop:8,due:8,durat:[3,7,8,9],duration_from:7,duration_to:7,dure:[0,7],easi:8,edit:[0,8,9],electr:9,elev:[7,8,9,11],els:11,email:[0,6,8],email_url:11,empti:8,en:[0,6],enabl:[1,9],encount:11,end:[5,7],endpoint:[1,8],engin:[8,11,12],english:9,enter:[8,9],entiti:[0,7],entri:11,env:11,environ:[8,10,12],error:[0,1,4,6,7,8,9,11,12],europ:[0,6],evalu:[8,11],even:[8,9],exampl:[0,1,3,4,5,6,7,10,11],exc:12,exce:[0,7],exceed:8,except:6,execstart:11,exhaust:10,exist:[0,5,6,7,9,10,11],expir:[0,1,3,4,5,6,7],extens:[0,7],fa33f4d996844a5c73ecd1ae24456ab8:7,fail:[8,13],fals:[0,1,4,6,7,11],farest:[3,8,9],fd:[0,3,6,7],featur:[10,11],fetch:11,file:[0,1,7,8,9,10,11],filter:[8,9],first:[0,10],first_nam:[0,6],fitotrack:10,fittracke:[9,11,13],fittrackee_cli:11,fittrackee_init_data:11,fittrackee_upgrade_db:11,fittrackee_work:11,fix:10,flask:11,flask_app:11,flaticon:11,follow:[3,9,11,12],forbidden:[0,1,4,5,6,7],forecast:11,form:[0,7],format:[0,5,7],former:11,forrunn:10,forward:11,found:[0,4,5,6,7],fr:6,frame:5,freepik:11,french:[9,10],fri:7,from:[1,3,4,5,6,7,8,10],fullchain:11,gener:[8,11],get:[0,1,3,4,5,6,7],gif:0,git:11,github:11,given:11,gmt:[0,3,6,7],gpl:10,gpx:[7,8,9,10,11],gpx_limit_import:1,gpxpy:11,grant:11,greater:8,gunicorn:[11,12],gz:11,h:7,ha:6,handl:[0,9,11],has_workout:4,have:[1,4,5,6,7,8],he:6,header:[0,1,3,4,5,6,7],health:1,heavi:[10,11],hi:[6,8,9],hike:[4,8,9],home:11,host:11,href:[1,11],http:[0,1,3,4,5,6,7,11],hvybqybra7wwxpastwr4v2:[0,3,6],i18n:8,icon:11,id:[0,1,3,4,5,6,7],imag:[0,6,7,8,11],img:4,improv:10,incorrect:8,index:7,info:0,inform:[8,10,11],init:11,initi:11,initialis:11,insid:11,instal:[8,10],instanc:[1,9,11],integ:[1,3,4,5,6,7],interceptor:8,interfac:11,intern:[0,1,4,6,7],introduc:8,invalid:[0,1,3,4,5,6,7,8],io:11,ip:11,is_act:4,is_registration_en:1,issu:[10,11],jan:7,javascript:8,john_do:6,jpeg:6,jpg:0,js:11,json:[0,1,3,4,5,6,7],jul:[0,3,6,7],keep:[8,10,11],kei:[8,9,11],kjxavsturjvoah2wvcegef:7,km:7,label:4,languag:[0,6],larg:[0,7,9],larger:11,last:[0,11],last_nam:[0,6],latitud:7,layer:[8,11],ld:[0,3,6,7],leaflet:[7,11],least:7,less:8,librari:11,licens:[8,10],like:9,limit:[8,9],link:11,linux:11,list:[8,10,11],listen:11,load:[8,12],local:[8,10,11],localhost:11,locat:[0,6,11],log:[0,1,3,4,5,6,7,10,11,12],logfil:11,login:0,logout:[0,8],longer:[8,12],longest:[3,8,9],longitud:7,m:[0,5,7],made:11,mai:[9,10,11],mailhog:11,major:8,make:[8,11],makefil:11,manag:8,mandatori:[7,8,11],map:[7,8,9,10],map_attribut:[1,11],map_id:7,map_til:7,match:0,max:[1,6,7,8],max_alt:7,max_single_file_s:1,max_spe:7,max_speed_from:7,max_speed_to:7,max_us:1,max_zip_file_s:1,maxim:7,maximum:[3,8,9,11],messag:[0,1,7,8],method:11,min_alt:7,minim:7,minor:10,mobil:10,model:8,modifi:[6,8],modification_d:7,modul:11,mon:7,mondai:[5,9],montain:8,month:[5,8,9],more:[8,9,10,11],morn:7,mountain:[4,9],mous:8,move:[7,8],mpwoadmin:11,ms:[0,3,6,7],multi:11,multipart:[0,7],must:[0,1,4,8,9,11,12],mv:11,n:0,name:[0,5,6,11],nano:11,nb_sport:[0,6],nb_workout:[0,5,6],necessari:[9,11],need:11,network:11,next_workout:7,nginx:[9,11],no_gpx:7,non:[4,10],noopen:11,noreferr:11,nosuchmoduleerror:12,note:[7,8,9,11],now:[8,9,11],number:[1,6,7,8,9,11],oauth:[0,1,3,4,5,6,7],object:[0,1,4,6,7],ok:[0,1,3,4,5,6,7],one:[6,7],onli:[6,7,8,9,11],open:[10,11],openstreetmap:[1,8,11],opentrack:10,option:11,order:[6,7,8,11],order_bi:6,org:[1,11],os:11,other:[6,11],out:0,outdoor:[8,10,11],over:8,overwrit:11,own:[6,10],owner:[8,9],packag:[8,11],page:[6,7],pagin:[6,7],par_pag:6,paramet:[0,1,3,4,5,6,7,8,9,11],pari:[0,6],pars:11,part:[0,7],pass:11,password:[0,8,9,11],password_conf:0,patch:[1,4,6,7],path:11,paus:[7,8],payload:[0,1,4,7],pem:11,per:[6,7,8],per_pag:[6,7],permiss:[1,4,5,6,7],pg_dump:11,pictur:[0,6,7,11],ping:1,pip:11,pipenv:8,pleas:[0,1,3,4,5,6,7,8],plugin:12,png:[0,4,7,11],poetri:[8,11],point:[8,11],pong:1,pool:11,port:11,possibl:[8,10],post:[0,7],postgr:[8,12],postgresql:[8,11,12],prerequisit:10,previous_workout:7,prior:11,privileg:11,privkei:11,process:[0,9,11],productionconfig:11,profil:0,project:11,provid:[0,1,3,4,5,6,7,8,9,11],proxi:11,proxy_add_x_forwarded_for:11,proxy_pass:11,proxy_redirect:11,proxy_set_head:11,pull:11,purpos:[8,11],pwd:11,py:11,pypi:10,python:[8,11],q:6,queri:[5,6,7],queue:11,r:11,rais:9,react:11,react_app_allow_registr:11,react_app_api_url:11,react_app_gpx_limit_import:11,react_app_max_single_file_s:11,react_app_max_zip_file_s:11,react_app_thunderforest_api_kei:11,read:8,real:11,rebuild:8,rechart:7,recommend:11,record:[0,2,6,7,8,9,10],record_typ:[0,3,6,7],redi:[8,11],redis_url:11,refactor:8,regist:[0,1,11],registr:[0,1,8,9],rel:11,relat:11,releas:[10,11],remain:8,remote_addr:11,remov:9,renam:8,replac:[8,11],repo:11,repositori:11,request:[0,1,3,4,5,6,7],request_uri:11,requir:0,reset:[0,8,9],respons:[0,1,3,4,5,6,7],restart:11,restartsec:11,right:[6,8,9],rout:8,row:9,run:[4,8,9,11],runner:10,s:[6,7,8,11],sam:[0,6],same:8,samr1:11,sat:6,save:[8,9],schema:11,search:8,second:7,secret:11,see:[8,9,10,11],segment:[7,8,9],segment_id:7,select:[0,7],send:[8,11],sender:11,sender_email:11,serv:11,server:[0,1,4,6,7,8,9,10],server_nam:11,servic:11,set:[8,9],sever:[10,11],shell:11,should:11,show:8,shown:8,side:8,signatur:[0,1,3,4,5,6,7],simpl:11,simplifi:8,sinc:11,singl:[1,6],size:[0,1,7,8,9,11],ski:9,sky:11,smtp:11,some:[6,7,8,10,11],sorri:0,sort:[6,7],sourc:10,spawn:11,speed:[3,7,8,9,11],spinner:8,sport:[2,5,7,8,9,10,11],sport_id:[0,3,4,5,6,7],sports_list:[0,6],sql:11,sqlalchemi:[8,11,12],ssl:11,ssl_certif:11,ssl_certificate_kei:11,standard:[8,11],standarderror:11,standardoutput:11,start:[5,7,8,9,11,13],startlimitintervalsec:11,starttl:11,stat:[5,8],staticmap:11,statist:[2,10],statu:[0,1,3,4,5,6,7],step:11,still:10,stop:11,store:[10,11],street:10,string:[0,4,5,6,7],subdomain:7,success:[0,1,3,4,5,6,7],successfulli:0,sun:[0,3,6,7],sundai:[5,7,9],support:[8,9,12],syslog:11,syslogidentifi:11,system:11,systemd:11,t:[0,12],tar:11,target:11,task:11,term:[8,11],test:11,textarea:8,than:8,thei:11,them:10,thi:[7,8,9,10,11],thunderforest:[8,11],tile:[7,8],tile_server_url:11,time:[5,7,8,9],timezon:[0,6,8],titl:7,tl:11,todo:14,token:[0,1,3,4,5,6,7],too:[0,7],tool:11,tooltip:8,total:8,total_asc:5,total_dist:[0,5,6],total_dur:[0,5,6],track:10,trail:9,transport:[4,8,9],troubleshoot:10,type:[0,1,3,4,5,6,7,11],typescript:11,u:11,ui:8,ui_url:11,unauthor:[0,1,3,4,5,6,7],under:[10,11],unencrypt:11,unit:11,unreleas:10,unstabl:[10,11],up:[9,10],updat:[0,1,4,6,7,8,9,11],upload:[8,9,11],upload_fold:11,uploads_dir_s:5,url:[8,11,12],us:[6,7,8,10,11],user:[0,1,2,3,4,5,7,8,9,10,11,13],user_nam:[5,6],usernam:[0,6,11],uuid:[7,8],v0:11,v3:10,valid:[0,1,3,4,5,6,7,11],valu:[0,3,6,7],variabl:[8,10,12],venv:11,version:[1,10,11],view:8,virtualenv:11,vue3:11,vuex:11,wa:8,wai:11,walk:[4,8,9],wantedbi:11,warn:8,weather:[8,9,11],weather_api:11,weather_api_kei:11,weather_end:7,weather_start:7,web:[0,1,3,4,5,6,7,10,11],week:[5,8,9],weekend:8,weekm:[0,5],were:8,wget:11,when:[1,8,11],where:11,which:9,with_gpx:7,without:[5,6,7,8,9,10],worker:11,workers_process:11,workingdirectori:11,workout:[2,5,8,10],workout_d:[0,3,6,7],workout_id:[0,3,6,7],workout_short_id:7,workouts_count:6,written:11,www:[1,11],x:[7,11],xxxx:11,xzf:11,y:[0,5,7,11],yai:11,yarn:11,year:5,yet:10,you:[1,4,5,6,7,10],your:[6,10,11],z:[7,11],zip:[1,7,8,9,11],zoom:7},titles:["Authentication","Configuration","API documentation","Records","Sports","Statistics","Users","Workouts","Change log","Features","FitTrackee","Installation","Administrator","Troubleshooting","User"],titleterms:{"0":8,"01":8,"02":8,"03":8,"04":8,"07":8,"09":8,"1":8,"10":8,"12":8,"15":8,"16":8,"17":8,"19":8,"2":8,"2018":8,"2019":8,"2020":8,"2021":8,"21":8,"23":8,"29":8,"3":8,"30":8,"31":8,"4":8,"5":8,"6":8,"7":8,"8":8,"9":8,"new":8,account:9,administr:[8,9,12],api:2,authent:0,avail:8,bug:8,chang:8,client:11,close:8,configur:1,content:10,dashboard:9,deploy:11,deprec:11,detail:9,dev:11,develop:11,docker:11,document:2,email:11,endpoint:[2,13],environ:11,fail:12,featur:[8,9],first:8,fittracke:[8,10,12],fix:8,french:8,from:11,improv:8,instal:11,issu:8,list:9,log:8,map:11,minor:8,misc:8,prerequisit:11,prod:11,product:11,pull:8,pypi:[8,11],record:3,releas:8,request:8,server:11,sourc:11,sport:4,start:12,statist:[5,8,9],tabl:10,tile:11,translat:9,troubleshoot:13,unreleas:8,upgrad:11,user:[6,14],variabl:11,version:8,workout:[7,9]}}) \ No newline at end of file diff --git a/docs/troubleshooting/administrator.html b/docs/troubleshooting/administrator.html index dc221722..3bb73b01 100644 --- a/docs/troubleshooting/administrator.html +++ b/docs/troubleshooting/administrator.html @@ -7,10 +7,10 @@ Administrator — FitTrackee 0.5.0 documentation - - + + - + @@ -128,9 +128,9 @@
                              -
                              +

                              Administrator

                              -
                              +

                              FitTrackee fails to start

                              • Check the database URL in Environment variables if the following error is displayed in gunicorn logs:

                              • @@ -139,8 +139,8 @@

                              It must start with postgresql:// (engine URLs starting with postgres:// are no longer supported).

                              -
                              -
                              + + @@ -155,7 +155,7 @@

                              © Copyright 2018 - 2021, SamR1.
                              - Created using Sphinx 3.5.4.
                              + Created using Sphinx 4.2.0.

                              diff --git a/docs/troubleshooting/index.html b/docs/troubleshooting/index.html index 602bb428..d8de3b5a 100644 --- a/docs/troubleshooting/index.html +++ b/docs/troubleshooting/index.html @@ -7,10 +7,10 @@ Troubleshooting — FitTrackee 0.5.0 documentation - - + + - + @@ -125,10 +125,10 @@
                              -
                              +

                              Troubleshooting

                              -

                              Endpoints:

                              +

                              Endpoints:

                              -
                              +
                              @@ -152,7 +152,7 @@

                              © Copyright 2018 - 2021, SamR1.
                              - Created using Sphinx 3.5.4.
                              + Created using Sphinx 4.2.0.

                              diff --git a/docs/troubleshooting/user.html b/docs/troubleshooting/user.html index 198b476c..10b36dca 100644 --- a/docs/troubleshooting/user.html +++ b/docs/troubleshooting/user.html @@ -7,10 +7,10 @@ User — FitTrackee 0.5.0 documentation - - + + - + @@ -125,10 +125,10 @@
                              -
                              +

                              User

                              TODO

                              -
                              +
                              @@ -143,7 +143,7 @@

                              © Copyright 2018 - 2021, SamR1.
                              - Created using Sphinx 3.5.4.
                              + Created using Sphinx 4.2.0.

                              diff --git a/docsrc/source/_images/fittrackee_screenshot-01.png b/docsrc/source/_images/fittrackee_screenshot-01.png index cf59e02d..a4166950 100644 Binary files a/docsrc/source/_images/fittrackee_screenshot-01.png and b/docsrc/source/_images/fittrackee_screenshot-01.png differ diff --git a/docsrc/source/_images/fittrackee_screenshot-02.png b/docsrc/source/_images/fittrackee_screenshot-02.png index 92f9e396..bc019ddd 100644 Binary files a/docsrc/source/_images/fittrackee_screenshot-02.png and b/docsrc/source/_images/fittrackee_screenshot-02.png differ diff --git a/docsrc/source/_images/fittrackee_screenshot-03.png b/docsrc/source/_images/fittrackee_screenshot-03.png index 1cfd0ade..1fa8106d 100644 Binary files a/docsrc/source/_images/fittrackee_screenshot-03.png and b/docsrc/source/_images/fittrackee_screenshot-03.png differ diff --git a/docsrc/source/_images/fittrackee_screenshot-04.png b/docsrc/source/_images/fittrackee_screenshot-04.png index ffecbc8e..9a219274 100644 Binary files a/docsrc/source/_images/fittrackee_screenshot-04.png and b/docsrc/source/_images/fittrackee_screenshot-04.png differ diff --git a/docsrc/source/_images/fittrackee_screenshot-05.png b/docsrc/source/_images/fittrackee_screenshot-05.png index 528777ab..4ee1c419 100644 Binary files a/docsrc/source/_images/fittrackee_screenshot-05.png and b/docsrc/source/_images/fittrackee_screenshot-05.png differ diff --git a/docsrc/source/_images/fittrackee_screenshot-06.png b/docsrc/source/_images/fittrackee_screenshot-06.png index 14771f82..755c1d4a 100644 Binary files a/docsrc/source/_images/fittrackee_screenshot-06.png and b/docsrc/source/_images/fittrackee_screenshot-06.png differ diff --git a/docsrc/source/features.rst b/docsrc/source/features.rst index 3ce51a41..5d051f65 100644 --- a/docsrc/source/features.rst +++ b/docsrc/source/features.rst @@ -39,12 +39,17 @@ Account Workouts ^^^^^^^^ -- 6 sports are supported: +- 11 sports are supported: - Cycling (Sport) - Cycling (Transport) - Hiking - - Montain Biking + - Mountain Biking + - Mountain Biking (Electric) (**new in 0.5.0**) + - Rowing (**new in 0.5.0**) - Running + - Skiing (Alpine) (**new in 0.5.0**) + - Skiing (Cross Country) (**new in 0.5.0**) + - Trail (**new in 0.5.0**) - Walking - Dashboard with month calendar displaying workouts and record. The week can start on Sunday or Monday (which can be changed in the user settings). The calendar displays up to 100 workouts. - Workout creation by uploading a gpx file. A workout can even be created without gpx (the user must enter date, time, duration and distance) diff --git a/poetry.lock b/poetry.lock index 21be3092..cc9a5fe2 100644 --- a/poetry.lock +++ b/poetry.lock @@ -204,7 +204,7 @@ test = ["pytest (>=6.2.0)", "pytest-cov", "pytest-subtests", "pytest-xdist", "pr [[package]] name = "docutils" -version = "0.16" +version = "0.17.1" description = "Docutils -- Python Documentation Utilities" category = "dev" optional = false @@ -998,17 +998,17 @@ python-versions = "*" [[package]] name = "sphinx" -version = "3.5.4" +version = "4.2.0" description = "Python documentation generator" category = "dev" optional = false -python-versions = ">=3.5" +python-versions = ">=3.6" [package.dependencies] alabaster = ">=0.7,<0.8" babel = ">=1.3" colorama = {version = ">=0.3.5", markers = "sys_platform == \"win32\""} -docutils = ">=0.12,<0.17" +docutils = ">=0.14,<0.18" imagesize = "*" Jinja2 = ">=2.3" packaging = "*" @@ -1017,14 +1017,14 @@ requests = ">=2.5.0" snowballstemmer = ">=1.1" sphinxcontrib-applehelp = "*" sphinxcontrib-devhelp = "*" -sphinxcontrib-htmlhelp = "*" +sphinxcontrib-htmlhelp = ">=2.0.0" sphinxcontrib-jsmath = "*" sphinxcontrib-qthelp = "*" -sphinxcontrib-serializinghtml = "*" +sphinxcontrib-serializinghtml = ">=1.1.5" [package.extras] docs = ["sphinxcontrib-websupport"] -lint = ["flake8 (>=3.5.0)", "isort", "mypy (>=0.800)", "docutils-stubs"] +lint = ["flake8 (>=3.5.0)", "isort", "mypy (>=0.900)", "docutils-stubs", "types-typed-ast", "types-pkg-resources", "types-requests"] test = ["pytest", "pytest-cov", "html5lib", "cython", "typed-ast"] [[package]] @@ -1335,7 +1335,7 @@ testing = ["pytest (>=4.6)", "pytest-checkdocs (>=2.4)", "pytest-flake8", "pytes [metadata] lock-version = "1.1" python-versions = "^3.7" -content-hash = "753c491e4c4dd8594fd5c306e19d464d5be68edfaf7ef9aae141deb348de6213" +content-hash = "8d512494a65324bb205159dbcfff06fa1780ae88c079b74314e3e70af28d6bd9" [metadata.files] alabaster = [ @@ -1518,8 +1518,8 @@ cryptography = [ {file = "cryptography-35.0.0.tar.gz", hash = "sha256:9933f28f70d0517686bd7de36166dda42094eac49415459d9bdf5e7df3e0086d"}, ] docutils = [ - {file = "docutils-0.16-py2.py3-none-any.whl", hash = "sha256:0c5b78adfbf7762415433f5515cd5c9e762339e23369dbe8000d84a4bf4ab3af"}, - {file = "docutils-0.16.tar.gz", hash = "sha256:c2de3a60e9e7d07be26b7f2b00ca0309c207e06c100f9cc2a94931fc75a478fc"}, + {file = "docutils-0.17.1-py2.py3-none-any.whl", hash = "sha256:cf316c8370a737a022b72b56874f6602acf974a37a9fba42ec2876387549fc61"}, + {file = "docutils-0.17.1.tar.gz", hash = "sha256:686577d2e4c32380bb50cbb22f575ed742d58168cee37e99117a854bcd88f125"}, ] dramatiq = [ {file = "dramatiq-1.12.0-py3-none-any.whl", hash = "sha256:f9e4419279ceae2c4f864fea5b66c2d8660ab6f2c2ad0e751a6541bad85c81be"}, @@ -1998,8 +1998,8 @@ sortedcontainers = [ {file = "sortedcontainers-2.4.0.tar.gz", hash = "sha256:25caa5a06cc30b6b83d11423433f65d1f9d76c4c6a0c90e3379eaa43b9bfdb88"}, ] sphinx = [ - {file = "Sphinx-3.5.4-py3-none-any.whl", hash = "sha256:2320d4e994a191f4b4be27da514e46b3d6b420f2ff895d064f52415d342461e8"}, - {file = "Sphinx-3.5.4.tar.gz", hash = "sha256:19010b7b9fa0dc7756a6e105b2aacd3a80f798af3c25c273be64d7beeb482cb1"}, + {file = "Sphinx-4.2.0-py3-none-any.whl", hash = "sha256:98a535c62a4fcfcc362528592f69b26f7caec587d32cd55688db580be0287ae0"}, + {file = "Sphinx-4.2.0.tar.gz", hash = "sha256:94078db9184491e15bce0a56d9186e0aec95f16ac20b12d00e06d4e36f1058a6"}, ] sphinx-bootstrap-theme = [ {file = "sphinx-bootstrap-theme-0.8.0.tar.gz", hash = "sha256:038ee7e89478e064b5dd7e614de6f3f4cec81d9f9efbebb06e105693d6a50924"}, diff --git a/pyproject.toml b/pyproject.toml index fbf387fb..989fa454 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -53,12 +53,12 @@ pytest-isort = "^2.0" pytest-runner = "^5.3" pytest-selenium = "^2.0.1" recommonmark = "^0.7" -sphinx = "<4.0" sphinx-bootstrap-theme = "^0.8.0" sphinxcontrib-httpdomain = "^1.7" types-pytz = "^2021.3.0" types-requests = "^2.25.0" types-freezegun = "^1.1" +Sphinx = "^4.2" [tool.poetry.scripts] fittrackee = 'fittrackee.__main__:main'