Git Product home page Git Product logo

roznet / connectstats Goto Github PK

View Code? Open in Web Editor NEW
68.0 6.0 15.0 62.74 MB

iOS Apps and utilities to analyse your fitness data from Garmin or Strava

Home Page: https://ro-z.net/blog/connectstats/

License: MIT License

Objective-C 50.60% Python 1.00% Swift 7.85% C 0.70% C++ 37.86% Ruby 0.02% HTML 1.95% CSS 0.01% PHP 0.02% Shell 0.01%
statistics healthkit fitness garmin-connect strava iphone-app ipad-app

connectstats's Introduction

Welcome to my GitHub

This github page contains my open source personal projects. You can follow their development on https://ro-z.net

Fitness data deep dive

I am interested in fitness app and how to do analysis on your outdoor sports data. I maintain the open source iOS app ConnectStats that contains an iPhone app that has been around and in the store since 2011/2012. You can also find an accompanying server to handle Garmin data using their official API. As a bonus, the app FitFileExplorer allows you to open and see Fit Files on your mac.

In the process of developping ConnectStats I required a fast Fit file library compatible with swift, so a adapted the SDK

Flying app

I am also interested in flying and I am working on some apps and tools related to flying. One app to help students or low experience pilot, like myself, mentally process cross wind read out from air control. And another app to simplify synchronisation from the Garmin Perspective logs (Garmin 1000). FlyFunBoarding is an app that enables private pilot to issue fun boarding pass to their friend when going flying, it was built also as a way to experiment on how ChatGPT and Github Copilot can help write a full app.

Tools to make my life easier

I published a few utilities that i use to make my computer and developer life easier. From tools to keep in sync the configuration of my different linux and macos computer, to some tools to debug bonjour or find the iOS Simulator files from the terminal.

Project for learning and fun

RemoteStash is a small tool built to substitute for AirDrop when you want to share file or text between Linux and an iPhone. It was build to learn about network discovery and exchange of information on the fly between phone and computer but it turned out pretty useful...

connectstats's People

Contributors

roznet avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

connectstats's Issues

Add Efficiency by lap

I did not spot your existing Efficiency % (in Calories) because I rarely/never look at Calorific information for workouts. But, it does look broadly to be the same ratio I was suggesting, just on a different scale. I checked my stats and generically across my workouts it does vary but not by large amounts. However, I think the key point here (as recommended by Joe Friel), the measurement and comparison of EF and Decoupling MUST be measured across specific aerobic conditions and during a repeatable segment. For me, as a cyclist, this is indoor on a turbo trainer, and LAPing certain intervals in order to isolate the Power and HR stats. If you can calculate EF automatically during LAPs that would be brilliant! (I’m not sure how you would automatically calculate Decoupling as this is to do with fatigue compared across a longer segment or repeated intervals - maybe you could estimate across a lap/interval which is longer than 20mins and compare first v last 10mins?)

https://www.trainingpeaks.com/blog/efficiency-factor-and-decoupling/

Wrong unit for best pace/min pace

Hi - the section for pace for a given activity has an error - the information shown is Avg Pace in min/km, Best Pace also in min/km (both as min:sec) but the Min pace is shown as a decimal and with the units of km/h. Am I missing something or is this a bug? I can provide a screen shot if needed. I'm running version 5.1 on ios 13.2. Thanks.

Activity Name from Garmin not downloading

Description: The named activity is not making it through to ConnectStats from Garmin. If I rename it in Garmin it doesn’t show up. If I rename it in ConnectStats and re-sync it changes it back to the default activity name eg: Calgary running.

Bugreport 31085

Accumulated Pace for Laps

I wanted to ask about a pace calculation called ‘accumulated pace’.
I used to use Sportracks 3 and found the ‘Accum Pace’ field to be helpful to me to determine how much a ‘bad’ split affected my overall pace. As you can see below my 3rd split(mile) was uphill and I lost a minute over my previous split. But it didn’t affect by overall or accumulated pace (to that point) as much.

Distance Split pace Pace chg. last Accum. pace
1.00 9:31.50 9:31.50 9:31.50
2.00 9:24.54 -0:06.96 9:28.02
3.00 10:27.53 +1:02.99 9:47.86
3.12 9:53.78 -0:33.75 9:48.09

screen sizing issue for graphs

Btw, holding my 6S horisontally for a widescreen view of the graphs I am unable to select points at the right side of the screen, approx the added part of the screen compared to a vertical view.

Handle manual edits of distance or other from Garmin Connect

If the activity was edited in Garmin connect it may alternate between update from Garmin and fit file. Maybe start by preventing changes to zero from non zero number, next would be ability to mark the preferred source to be the summary.

Description: When doing an indoor cycling Activity, I have to manually add the distance in Garmin Connect. When syncing such activitiesa, I see the following behaviour:rn1. After sync in the list view, distance is correctrn2 Going into details triggers sync for that activity and distance is 0rn3. Going to list view and refreshing will update distance to the correct value. rnrnI
Version: 5.2.1.0
Platform: iOS 13.2.3 iPhone 11 Pro
Date: 2019-12-08 07:56:44
Id: 33577

XField option crashes on summary stats

Hi! Love the program! When I try and use the Xfield Avg option from the gear menu while viewing any summary stats (scatter plot) the app crashes without message back to iOS. I have never been able to use that field without a crash. What additional information can I provide for a better bug report?

Change update to withings API

Closing the OAuth 1.0 authentication

The Health Mate API is now fully functional with OAuth 2.0 authentication protocol. Therefore, the OAuth 1.0 process will no longer be supported beginning November 30, 2018.

You must integrate the OAuth 2.0 authentication process and transform your current OAuth 1.0 tokens into OAuth 2.0 tokens. You must then use those new tokens in every call to our API. For more information, please refer to the new documentation, which replaces the previous version.

Summary not shown

Found some strange behavior...
Steps to reproduce:
Start on main screen
Press on calendar icon on top left side
Press on three horizontal bar icon to show summary
Select a day on calendar
Press on day which show the sum below the calendar
Issue: Some unrelated workout will be shown on right side
Expected behavior: A summary page of all Workouts of the day

Hope I could help.
Great app by the way !!!!
39c348da-e071-4574-b51f-782c0cb84e9f

Check/update for strava OAuth change

On October 15, 2018 the Strava API team will release a refresh token OAuth 2.0 implementation. This date marks the beginning of a migration period during which any requests with a grant_type header will be routed to new authorization logic for refresh tokens, while requests without a grant_type will use the older, existing logic. Both paths will be open for the duration of the migration period, after which the old logic will be deprecated and removed. Rest assured, we will keep both systems working in parallel for a lengthy period. Look out for another email with comprehensive details about refresh tokens and the migration period on October 15, 2018.
Our logs indicate that your application is already including a grant_type header in requests to the POST /token endpoint. In order to ensure that authentication continues to work as expected once the migration period begins, you will need to stop sending a grant_type header. Once the migration period has begun and you're ready to integrate against the refresh token protocol, you can start sending grant_type again.

Better handling of synchronisation of delete activities from Garmin

Currently the app is not aware, it allows for ignoring activities, but this could be automatically handled when an activity is found to be deleted from Garmin.

From bug report id 33549
An erroneous activity that I’ve deleted from my Garmin watch and my online Garmin Connect and Strava accounts is still being displayed in ConnectStats. I can ignore it there but not delete it. I assume it’s cached somewhere so how can I clear the cache so it disappears?

Enable mapping of calculated and derived fields

Specifically show stride on the map

I am trying to increase my side length and I was wondering if you could make a mapping of how my side varied over the run/similar to what you provide for pace?

The App is hangiing by „analyzing May“

I am using GC and AW3 as well, in Health all Data are free for CS.
Starting up, CS is connecting to Garmin and DL and ended up with a circling „analyzing May“.
The Phone is getting hot and switching the app to background and back to front is causing that the sign for analyzing is stopping.

MultiSport activities not downloaded/tested properly

Hi,rnunfortunately I still have an issue with importing and considering multi-sport traininigs (from triathlon). Worked fine in the past until about mid of this year.rnHope it is visible on transmitted data. Currently they are not shown and reported / counted in any way (before they were perfectly separated into swim, bike and run sessions!)rnThanks and regards!

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.