A sample app demonstrating usage of the SeatGeek api.
- Xcode 10.1 (beta 2)
- iOS 12.1
- Swift 4.2
- Carthage (current version
0.31.1
)
- Clone the repo.
git clone git@github.com:davemess/Seater.git
- REQUIRED: Update Carthage dependencies. There is one required, third-party dependency for image fetching and caching.
carthage update --platform iOS
- REQUIRED: This app requires a SeatGeek client ID which is supplied by a
Keys.swift
file. For security purposes, that file is not included in the public repository. Email the repo owner for that file. The project will not compile without the Keys file. - Open using Xcode. Build and run the Development scheme. There are multiple schemes (Development, Staging, etc.) included with the project.
Gitflow is the guiding branch strategy. In addition to feature and bug branches, there are long-lived branches:
develop
bleeding-edge development and merge-branch for feature workmaster
App Store distribution; releases should be marked with tags
User-defined configuration settings can be found in the xcconfig files in Configurations
directory.
-
Seater: The Xcode project hosting the main app.
- Seater: The main app.
- SeaterKit: A module which defines functionality the app adopts. This can be reused in application extensions. This also defines an abstract EventService for supplying Event data which can be provided by any vendor.
- SeatGeekSDK: A concrete implementation of an EventService which hits the SeatGeek API. Built on top of RemoteServices framework.
-
SeaterAppKit: A collection of useful utilities, modularized to improve performance and code reuse.
- AppAnalytics: Defines generic analytics recording.
- AppConfiguration: Used to identify the specific build configuration.
- AppTheme: Defines app theming utilities.
- AppUI: Various UI utilities.
- Cache: Defines memory and disk caching utilities.
- RemoteServices: A system for defining and performing remote service interaction.
- Results: Wraps response types.
-
External Dependencies:
- Kingfisher: A Swift library for downloading and caching.
Seater is available under the MIT license. See the LICENSE file for more info.