samr1 / fittrackee Goto Github PK
View Code? Open in Web Editor NEWSelf-hosted outdoor activity tracker :bicyclist:
Home Page: https://samr1.github.io/FitTrackee
License: GNU Affero General Public License v3.0
Self-hosted outdoor activity tracker :bicyclist:
Home Page: https://samr1.github.io/FitTrackee
License: GNU Affero General Public License v3.0
Awaiting the release of administration (#15), adding the deactivation of registration with an environment variable
see #34
Total, moving and pause duration are correctly calculated (see #29).
The current version use moving duration to calculate 'duration' record.
โก๏ธ align all 'duration' data in the application:
Display the map image on title hover, on Activities list
Add possibility to use a different tile server than ThunderForest that requires an API key (Commercial License).
Available tile servers : https://wiki.openstreetmap.org/wiki/Tile_servers
like a number of activities or kilometers per month or year
All related data (database, files) must be deleted.
in case of an activity without a gpx file
Displayed more statistics on a dedicated page:
FitTrackee has a minimal interface (using on Bootstrap4), which hasn't changed since the first version.
As a first step:
UI
Technical
<script setup>
)docker-compose-dev.yml
PR to port
Progress
/auth/profile/edit/preferences
Some screenshots:
(not final versions)
dashboard | workout |
---|---|
workouts | stats |
---|---|
admin | sports |
---|---|
month activity | calendar | timeline | record |
---|---|---|---|
Since DarkSky joins Apple (see blog post), new registrations are no longer accepted and the API will be deprecated by the end of 2021 support for the Dark Sky API will end on March 31st, 2023.
Features provided by DarkSky used by FitTrackee:
2 calls are made for a workout (at start and end gpx points)
Some alternatives:
(not exhaustive)
DarkSky | Meteostat | OpenWeather (One Call API 3.0) | Open-Meteo | Visual Crossing | |
---|---|---|---|---|---|
Free calls | 1,000/day | 500/month | 1,000/day | fair use | 1,000/day |
Temperature | โ๏ธ | โ๏ธ | โ๏ธ | โ๏ธ | โ๏ธ |
Humidity | โ๏ธ | โ๏ธ | โ๏ธ | โ๏ธ | โ๏ธ |
Wind (speed & direction) | โ๏ธ | โ๏ธ | โ๏ธ | โ๏ธ | โ๏ธ |
Icon label | โ๏ธ | โ | โ๏ธ | โ | โ๏ธ |
Historical data by a timestamp | โ๏ธ | โ | โ๏ธ | โ | โ (on hour period) |
Data Licence | CC BY-NC 4.0 | CC BY-NC 4.0 | CC BY-NC 4.0 | ||
Misc | EOL : March 2023 | Historical data only on hourly period | Matches parameters of Dark Sky API. Payment info required. |
Matches parameters of Dark Sky API. No credit card required. |
Links:
Other API to be considered:
For now FitTrackee is kind of a single-user application (even if several users can register). A user can only view his own activities.
TODO in the 1st part:
Prerequisites:
For next parts, see #447
To avoid confusion with upcoming features, replace the term activity/activities after the term workout/workouts.
Pause duration is incorrect when gpx data contains multiple segments (the time between the segments is not taken into account)
like number of activities, total duration, total distance
When there is more than one registered user, the user statistics displayed on the top of the dashboard are incorrect (it displays all users statistics).
Uploading gpx file fails with [Errno 2] No such file or directory: '$HOME/FitTrackee/fittrackee_api/fittrackee_api/uploads/activities/1/tmp/2018-12-21T1743.gpx' -> '$HOME/FitTrackee/fittrackee_api/fittrackee_api/uploads/activities/1/.private/$USER/2018-12-21 16:50:57_Cycling (Transport)_cyimaxnh.gpx'
If I create '$HOME/FitTrackee/fittrackee_api/fittrackee_api/uploads/activities/1/.private/$USER/
and move inside the gpx file, it works though !
since 0.2.0, datetime from gpx file are not naive, which can lead to incorrect time and errors before obtaining weather data.
data are already present in API
client side, only uuid should be used for activities instead of incremental id
A week can start Sunday or Monday
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.