Skip to content

Latest commit

 

History

2 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Space Coast Launch

A SwiftUI iOS app that tracks upcoming rocket launches from Cape Canaveral and Kennedy Space Center with real-time Live Activity countdowns on your Lock Screen and Dynamic Island.

Built for Space Coast locals who want to know when the next launch is, how long until T-0, and which direction to look.

Features

  • Live Activity Countdown - Track a launch on your Lock Screen and Dynamic Island with a real-time T-minus timer
  • Dynamic Island - Compact view shows a rocket icon + countdown timer; expanded view shows full mission details
  • Direction Compass - Tells you which direction to look from your location (defaults to Melbourne, FL)
  • Upcoming Launches - See the next 5 launches with mission name, vehicle, provider, pad, and weather
  • Pull-to-Refresh - Swipe down to fetch the latest launch data
  • Dark Theme - Deep space blacks with neon orange and blue accents

Tech Stack

  • SwiftUI + ActivityKit (iOS 17.0+)
  • XcodeGen for project generation
  • RocketLaunch.Live API (free tier, no auth required)
  • No third-party dependencies

Getting Started

Prerequisites

  • Xcode 15+ with iOS 17 SDK
  • XcodeGen: brew install xcodegen

Build

cd /path/to/RocketLaunch
xcodegen generate
open RocketLaunch.xcodeproj

Select your target device and hit Run. The .xcodeproj is gitignored and generated from project.yml.

Physical Device Required

Live Activities and Dynamic Island only work on a real device. The Lock Screen countdown will display in the Simulator, but Dynamic Island will not render.

Project Structure

RocketLaunch/          Main app target
  App/                 Entry point, Info.plist, entitlements
  Views/               All SwiftUI views (ContentView, hero card, launch list, compass)
  ViewModels/          LaunchViewModel, LiveActivityManager, LocationManager
  Services/            API client, direction calculator (bearing math + pad coordinates)
  Theme/               SpaceTheme (colors, fonts, gradients, dimensions)
  Assets.xcassets/     App icon and asset catalog

RocketLaunchLiveActivity/   Widget extension target (Live Activities)
  RocketLaunchLiveActivity.swift   ActivityConfiguration + Dynamic Island
  Views/LockScreenView.swift       Lock Screen presentation

Shared/                Code shared between both targets
  Models/              Launch (API models), LaunchAttributes (ActivityKit)
  Extensions/          Date helpers

Data Source

Uses the RocketLaunch.Live free API:

  • Endpoint: https://fdo.rocketlaunch.live/json/launches/next/5
  • No authentication required
  • Returns the next 5 upcoming launches in JSON
  • Auto-refreshes every 5 minutes

Direction Feature

The API doesn't include launch pad coordinates, so the app uses a built-in lookup table of known pads (LC-39A, SLC-40, SLC-41, etc.) to calculate the bearing from your location. If location permission is denied, it defaults to Melbourne, FL.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages