GithubHelp home page GithubHelp logo

gpxer's Introduction

GPXer

A GPX Reading App with SiriKit Integration

Functionality

GPX Storage and Export

This app's core functionality is to allow a user to store and manage GPX files across their Apple services. It stores the GPX data in CoreData which automatically syncs using CloudKit. If a user would like to export their GPX data from the app it can easily be done through the share button on the track details screen.

GPX Map Display and Stats

Each track has a details screen where an interactive map of the track is displayed along with a few basic stats of the track. Here the app also allows for some basic editing capabilities like changing the track's name.

SiriKit Integration

This app includes a simple SiriKit integration that allows users to obtain the approximate mile marker of a location along the track. This is surfaced as a shortcut action in the Shortcuts app and can be combined with other actions to create unique tracking workflows.

Compound Track Creation

In some cases, GPX files can get large and cumbersome so tracks may be split up into multiple files. This app allows the user to combine multiple tracks and treat them as a single track. The app still stores the data of each track separately but also contains additional data for how these separate tracks relate to each other.

Development Process and Goals

App Inspiration

I created this app as I prepared for my 6-month-long Pacific Crest Trail hike. I wanted a way to store GPS data on the trail and use it to automate some simple tracking and journaling. The goal was to create a basic MVP that integrated with Shortcuts for my personal use while hiking.

Prototype not Production

This app is in no way production ready. I focused on creating a proof-of-concept where I could prototype my ideas and learn new technologies along the way. Because of this, the speed of development topped code quality. In a production-ready app testability and readability of the code would have been prioritized much more. There are also likely more bugs and performance issues with this app than with a production-level app.

Technologies Used

This app was originally developed for iOS 15. I made some recent small changes to update it for iOS 16 but it still has not adopted many of the API improvements that came with iOS 16.

The core technologies used within this app include:

  • SwiftUI
  • CoreData with CloudKit
  • SiriKit Intents

gpxer's People

Contributors

rcgilbert 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.