Coder Social home page Coder Social logo

tobytwigger / gpsvault Goto Github PK

View Code? Open in Web Editor NEW
4.0 4.0 0.0 17.67 MB

Cycling data analysis and storage

Home Page: https://gpsvault.co.uk

License: GNU General Public License v3.0

Shell 0.16% PHP 81.48% Vue 18.21% Blade 0.05% Dockerfile 0.10%
analysis backup cycling data exercise gps-data gpx graph map plotting strava

gpsvault's People

Contributors

dependabot[bot] avatar tobytwigger avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

gpsvault's Issues

Use storage driver

  • Let you connect external storage
  • Let you transfer everything from one to another
  • Let you choose which one to use (Set in user disk() method)
  • Make a file manager?

Jobs package

Implement a job package to track jobs

Use it to tell you when an activity is being analysed etc

Strava Integration

Strava Integration

  • Handling webhooks
    • Use a chain of responsibility pattern to handle the webhook
    • Include authorized is false
  • Strava upload task - importer
  • Tests

Integration management page

  • Connection tab
    • Sync card - what is currently syncing
    • v-list called strava health
    • if have permission for clients
      • If no clients, show button to add a client
      • Show a scroller of each client. Show name, see the status of each, test them and log in
    • otherwise
      • Show connection status clearly
      • If available client is rate limited, show when it's next free
      • If no system client set say it's not possible at the mo
    • For both, say if webhook is listening
    • Connect to strava button. If don't have client permission, see connect to Strava in sidebar. When connected, see disconnect instead. Hide if no system client available
  • Show the user you're connected, with a tick in the navigation
  • Import summary tab
    • Activities imported card
    • When was the most recent one
    • How many activities imported from Strava
    • V progress of how many of all activities are linked to Strava
    • GPX files imported/missing
    • Photos imported/missing
  • Sync button in sidebar
    • Fire to controller
    • Show as an alert?
  • Show feedback for activity import
  • Upload export button in sidebar
  • From activity, link to strava activity
  • Show strava activity button to view
  • Show more on shared users

Route building & planning tools

  • When showing route use the geojson
  • Button to edit the route path
  • Get all markers being saved, currently it's just the first and last one saved
  • Remove the stats from show page. Add in activity location summary
  • Able to click on a marker. See a popup and can remove the marker.
  • Add own backend for routing.
  • Add places
    • Make places show up on the map
    • Clicking brings up a popup where you can see the place and either add as an option or route via it. Not sure how to route via quite yet, as how do you know where to add the waypoint? Maybe look for the closest point on the linestring?
  • Able to see all waypoints down the side and reorder them
  • Populate the new db structure when we upload a file, either storing or updating.

Improved oversight on backups

Save what is kept in each backup

  • Have a morph table between the models (route, activity etc) that get exported and a file
  • Add to it whilst creating the archive (ideally globally)
  • See if things are backed up and in what

Komoot Integration

  • Import routes from Komoot
  • Remove routes from Koomot when not needed
  • Allow restoring of deleted routes
  • Mark routes as deleted on Komoot
  • Put on Komoot for a limited time
  • Auto add to Komoot before the date of a route

Dropbox Integration

  • Able to upload a backup to dropbox
  • Able to upload a file to dropbox for a wahoo to pick up
  • Able to detect a new file on dropbox to add a new activity

'Current' tour

This would make it easy to quickly fill out info about that tour in the evening and go to the route when cycling.

Can just base it on the date?

When you go to tours, have a banner with the active tour that you can quickly go to
Get the current tour with Tour::active()->orderedBy('marked_as_started_at')->first()

Quick link activity
When we have an active tour, have a 'link to Tour Stage 4' button (next empty tour that isn't a rest day) in the activity show sidebar

Compare datasets

If I have both strava, my own analysis and maybe others, I want to compare them directly

See a calendar of rides

Able to add dates to your routes and tours.
See a calendar of all the routes you've got planned coming up

Versioning of route files

  • Able to upload a new route file (or edit the route via the site)
  • Keep old routes in place so we can compare versions and keep a version history

Add booking information to waypoints

A modal that has information on the reservation. Add it to the waypoint/route id model using a pivot table, that can have info about any waypoint, notes, files, and specific reservation info

Contact a place (see on card, click and see a popup with their contact info)

Ensure tests are complete

  • Archive tests
  • Fix analyser
  • Incomplete tests done
  • Full manual test
  • Smoke test for analysis and backups
  • Ensure all tests are in place

Improve file analyser

Add more analysers to give more data on activities

  • watts
  • kilojoules
  • calories
  • Average speed & average speed with breaks

Remove outlying data points

Duplicate a route

Be able to duplicate a route, either with or without info like waypoints.

Support Strava segments

Save segments in table

'strava_id',
        'name',
        'distance',
        'average_grade',
        'maximum_grade',
        'elevation_high',
        'elevation_low',
        'start_latitide',
        'start_longitude',
        'end_latitide',
        'end_longitude',
        'climb_category',
        'city',
        'state',
        'country',
        'hazardous',
        'starred'



And the join
        'elapsed_time',
        'moving_time',
        'start_date',
        'average_cadence',
        'average_watts',
        'average_heartrate',
        'max_heartrate',
        'pr_rank',
        'achievements'

Link segment to activity
Many to many with data on the record, Timings, when it was attempted etc

Get segment streams

Show segments you've completed, and view segments

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.