Intuitive cycling tracker app for iOS built with SwiftUI using Xcode. Features live route tracking, live metrics, storage of past cycling routes and many customization settings.

Overview

GoCycling

Available on the iOS App Store

https://apps.apple.com/app/go-cycling/id1565861313

App Icon

alt text

About

Go Cycling is a cycling tracker app built exclusively for iOS with SwiftUI. It is intended to be extremely easy to use for cyclists of all levels.

A key part of Go Cycling is it's privacy stance, there is no requirement for a sign in of any kind and all data is solely stored on the user's device. It also does not contain any advertisements.

Go Cycling makes use of many of Apple's frameworks and API's including:

  • Core Location for location data
  • MapKit for embedded maps throughout the app
  • Core Data for persistent data storage of cycling routes and user preferences
  • Combine for location update event processing

System Requirements

This app is designed to support all iPhones and iPads with iOS14/iPadOS14 and above due to the use of the latest SwiftUI features.

For iPads, this includes support for both landscape and portait modes along with Slide Over and multitasking screen sizes.

Usage

Note: For Go Cycling to track your current location, you must allow location access in Settings (the app will also ask for permission on the first launch). The location permissions must be set to "Always Allow" for location updates to occur while the app is not on the screen.

To use this app, first, start a new cycling route from the Cycle tab. The timer should start incrementing, you can choose to leave your device locked or unlocked.

While the route is ongoing you will see metrics on the Cycle tab of your current progress as well as your path on the map.

Once you are finished with your cycling route, you can compelete the route by using the stop button. The route will be saved to your device and is viewable in the History tab along with metrics about the route.

More routes can be created in this same way and they can all be viewed, sorted and deleted from the History tab.

App Features

Go Cycling has many features packed into four tabs; Cycle, History, Statistics and Settings. It also fully supports both light and dark mode, automatically setting the mode based on device settings.

Note: All screenshots shown were taken on an iPhone 12 Pro Max simulator.

Features of the Cycle Tab

  • Start, stop, pause and resume routes with the on-screen stopwatch
  • View current cycling metrics, including distance cycled, speed and altitude
  • Large map showing current location and path taken
  • Timer showing cycling time of the ongoing route
  • Assign your route to a new/existing category upon completion

Device Screenshots of the Cycle Tab

Cycle Tab Without Ongoing Route Cycle Tab Without Ongoing Route Dark Cycle Tab With Ongoing Route Cycle Tab With Ongoing Route Dark
alt text alt text alt text alt text

Features of the History Tab

  • View all past cycling routes in an easily readable list
  • Sort all of your routes by time, distance and date (all offering ascending or descending order)
  • Filter your routes by their category, rename your categories or recategorize individual routes
  • Click on a single route to view a full screen view including a map of the route as well as metrics
  • Each list entry is deletable by swiping to the left

Device Screenshots of the History Tab

Cycling History List View Single Cycling Route Detailed View Single Cycling Route Detailed View Dark Filter Cycling History
alt text alt text alt text alt text

Features of the Statistics Tab

  • View detailed charts of cycling activity of past week, 5 weeks and 30 weeks
  • Compare activity between present and past time frames
  • View records for single routes and cumulative cycling
  • Progress toward 6 alternate app icons unlocked at certain activity milestones

Device Screenshots of the Statistics Tab

Cycling Statistics Comparison View Cycling Statistics Past Week Chart Cycling Statistics Past Week Chart With Selection Cycling Records View Dark
alt text alt text alt text alt text

Settings Feautures Throughout the App

  • Customize the app theme and app icon to fit your preferences
  • Set your preferred units and customize the metrics view on the Cycle tab
  • Option to reset all settings back to the defaults and delete all stored cycling routes
  • Selected sort order in the History tab will persistent through future usage

Device Screenshots of Settings Features

General Settings View General Settings View Dark Changing App Icon to Default Setting Cycling History Sort Order
alt text alt text alt text alt text

Future Development

This app has been an immense amount of fun to develop and I have greatly enjoyed using SwiftUI! I am planning on continuing to add features as time permits and some ideas that are on my roadmap are listed below:

  • iCloud integration with CloudKit
    • This would allow data to be synced between devices and recovered when the user gets a new device
  • Calorie tracking within the app as an optional metric
  • Route generator feature where a user could enter the distance they want to ride and the app could suggest a route for them

Thank you very much for viewing this project!

You might also like...
Taiwan Social Distancing App - iOS

social-distancing-ios 臺灣社交距離 App 由衛生福利部疾病管制署與台灣人工智慧實驗室共同研發,提供臺灣地區用戶接收 COVID-19 接觸通知,並提醒收到接觸通知的用戶連繫當地衛生局,以減少傳染風險。 ● 保障個人隱私 利用手機藍牙功能來估計社交互動,資料以匿名方式儲存在個人

Open source iOS app to track COVID-19 cases in a beautiful, easy-to-use interface
Open source iOS app to track COVID-19 cases in a beautiful, easy-to-use interface

Covidcheck Covidcheck is an app that allows people to track COVID-19 cases in an easy-to-use interface to increase awareness and preparation. Unfortun

Swift iOS app that tests if you are depressed
Swift iOS app that tests if you are depressed

Depressed? is an app that asks you the nine questions from the PHQ-9 questionnaire to determine if you are depressed. The questionnaire is implemented

Glucosio iOS App

Glucosio has moved to Gitlab! Visit our project repos on Gitlab Glucosio for iOS Glucosio for iOS, a user centered free and open source app for Diabet

OpenCovidTrace iOS App – Fully Private Open Source Contact Tracing

OpenCovidTrace iOS App Visit https://opencovidtrace.org to learn more. WARNING: Issue with DP3T SDK DP3T switched to Exposure Notification Framework o

CoronaMelder - COVID-19 Notification App for iOS

CoronaMelder - COVID-19 Notification App for iOS This repository contains the native iOS implementation of the Dutch COVID-19 Notification App CoronaM

This app keeps you informed about COVID-19 risks.
This app keeps you informed about COVID-19 risks.

Covid Update Note: To run the app in your local environment, please input your Covid Act Now API key in the file: "CovidUpdate/Covid Update/Model/Covi

KovidStatz - A very simple app to display covid stats worldwide or country wise
KovidStatz - A very simple app to display covid stats worldwide or country wise

KovidStatz A very simple app to display covid stats worldwide or country wise. T

Covid Update Feed: An app that fetches data from the UK government's API for coronavirus announcements
Covid Update Feed: An app that fetches data from the UK government's API for coronavirus announcements

Covid Update Feed Covid Update Feed is a single screen app that fetches data fro

Owner
Anthony Hopkins
3B Computer Engineering student at the University of Waterloo! Most proficient in Java, Swift, C++ and Python. Interested in backend and mobile development.
Anthony Hopkins
Coronavirus tracker app for iOS & macOS with maps & charts

Features Live data: Shows the most recent data, and updates automatically. Distribution map with two levels of details: Countries: When the user zooms

Mhd Hejazi 1.5k Dec 28, 2022
Corona Virus Tracker & Advices App with Flutter

Corona Virus Tracker & Advices App with Flutter Try the web app dev preview https://alfian-flutter-coronatracker.firebaseapp.com/ Features Current sta

Alfian Losari 88 Dec 19, 2022
A drink tracker for iOS with Untappd and HealthKit integration.

Good Spirits is a drink tracking iOS app that helps you stay under the government limits for "low-risk" drinking. Includes charts and stats, the abili

Alexei Baboulevitch 171 Nov 22, 2022
MyWeight is a body mass tracker focused on make easy to input new data and check your weight history

MyWeight MyWeight is a body mass tracker focused on make easy to input new data and check your weight history. Getting Started Environment prerequisit

Diogo Tridapalli 71 Nov 2, 2022
Help Victorians (from Australia) find exposure sites around them, and other features too

Exposure VIC app Find exposure sites near you and keep everyone safe Information This is a concept app that pulls data from the Victorian Government d

Mark Battistella 5 Apr 6, 2022
🇬🇧 UK COVID-19 Statistics app built using SwiftUI

???? UK COVID-19 Statistics This app was created with the intention of publishing to the AppStore. The primary purpose of this app is to share informa

An Trinh 43 Nov 7, 2022
A simple App to Track the status of Covid-19 around the World. Using SwiftUI and GraphQL

CovidUI CovidUI is a simple App to Track the status of Covid-19 around the World. This is a simple App I made to track the spread of Covid-19 for me a

Mathias Quintero 77 Dec 14, 2022
An app using Apple’s ExposureNotification API to detect contacts with other users of the app that may have had COVID-19.

NHS COVID-19 AG An app using Apple’s ExposureNotification API to detect contacts with other users of the app that may have had COVID-19. Dependencies

null 165 Dec 23, 2022
:globe_with_meridians: Small iOS app to show some COVID-19 health, data, news and tweets

covid19.swift Small iOS app to show some COVID-19 health, data, news and tweets ⚡ Requirements Xcode 12, iOS 14 Credits API: COVID-19 API: News Tweets

null 26 Nov 30, 2022
COVID-19 SwiftUI Demo

COVID-19_SwiftUI_Demo About COVID-19_SwiftUI_Demo is the coronavirus information application using SwiftUI which is first introduced in WWDC19 keynote

Hưng Thái 17 Feb 9, 2022