GithubHelp home page GithubHelp logo

cruxt's Introduction

cruxt

Tool(s?) for manipulating recorded fitness files, ala TCX/GPX/etc.

At a minimum this should allow a user to specify via a simple UI (web? ssh? cli?) a series of fitness files to be ingested, how they should be merged and/or manipulating, and finally produce a single output file for that user.

Project Goals

  • build good library support for de/serializing TCX files (the existing library in Rust doesn't support serialization and has little traffic)
  • build a binary that can collect multiple files and merge them, producing a new file that contains all the information that the individual files do
    • this is pretty common for endurance athletes, where multiple devices record different kinds of data, so you want to aggregate!
    • in particular, this should have sane defaults but allow the user to specify which type of data to take from which file

Personal Goals

  • do something interesting with Rust
  • deattach from my personal over-reliance on non-free software that does a similar merging task
  • explore serverless deployment

(probably) Non Goals

  • a bunch of integration work with various software providers to fetch/submit TCX files, I just want to focus on file manipulation, not complicated auth work
  • 'weird' manipulation of the recordings beyond merging
  • too many formats of input/output files

TODO v0.1.0 (aka works-for-my-usecase)

  • wait/work on the sequencing fix as listed here: RReverser/serde-xml-rs#187
  • wait/work on attribute/tag fix, or just move to yaserde! https://github.com/media-io/yaserde
  • actually figure out how to merge trackpoints
  • figure out how to selectively drop data streams
    • position
    • altitude
    • distance
    • cadence
    • HR
    • Watts
  • compare parity with other tools

cruxt's People

Contributors

frenata avatar

Watchers

 avatar

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.