Keep track of your favorite movies and tv shows on your iPhone
You will need
- Xcode 11.2.1
- Swift 5.1.2
Run the following commands
-
git clone git@github.com:pietrocaselani/CouchTracker.git -
cd CouchTracker && sh setup.sh -
tuist generate -
bundle exec pod install -
open CouchTracker.xcworkspace -
To run the app, please create a file at
CouchTrackerApp/Utils/Secrets.swiftwith yours API keys like this
enum Secrets {
enum Trakt {
static let clientId = "API_KEY"
static let clientSecret = "API_KEY"
static let redirectURL = "API_KEY"
}
enum TMDB {
static let apiKey = "API_KEY"
}
enum TVDB {
static let apiKey = "API_KEY"
}
enum Bugsnag {
static let apiKey = "API_KEY"
}
}The project is split into a few frameworks
-
CouchTrackerCore: It's a macOS framework that has all the code that is not UI (Views, ViewControllers). This framework shouldn't have dependencies that only work on iOS. -
CouchTrackerCore-iOS: It's the iOS version ofCouchTrackerCore. You won't find any files here, all files are onCouchTrackerCore. -
CouchTrackerCoreTests: The test bundle forCouchTrackerCore. Tests run directly on the macOS, there is no need to use the iOS simulator to run those tests. -
CouchTrackerPersistence: Here you will find entities and data sources and other things related to the persistence layer of the app. I moved this layer to another framework with the idea of changing the persistence tool in the future. Right now Realm is being used. -
CouchTrackerApp: Here you will find all the code related to UI and dependent on UIKit, so things like Views, ViewControllers. It's possible to import this framework intoCouchTrackerPlayground.playgroundto see a preview of screens since the use of storyboards is being avoided. -
CouchTracker: It's the app itself. You will only find theAppDelegatehere.