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.swift
with 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.playground
to see a preview of screens since the use of storyboards is being avoided. -
CouchTracker
: It's the app itself. You will only find theAppDelegate
here.