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
Displayed more statistics on a dedicated page:
To avoid confusion with upcoming features, replace the term activity/activities after the term workout/workouts.
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:
since 0.2.0, datetime from gpx file are not naive, which can lead to incorrect time and errors before obtaining weather data.
like a number of activities or kilometers per month or year
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
Awaiting the release of administration (#15), adding the deactivation of registration with an environment variable
Pause duration is incorrect when gpx data contains multiple segments (the time between the segments is not taken into account)
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 |
---|---|---|---|
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 !
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:
client side, only uuid should be used for activities instead of incremental id
data are already present in API
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
in case of an activity without a gpx file
see #34
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).
Display the map image on title hover, on Activities list
All related data (database, files) must be deleted.
like number of activities, total duration, total distance
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.