CouchTracker
CouchTracker copied to clipboard
iOS Trakt Client - Keep track of your favorite TV shows and movies on your iPhone. (Under development)
CouchTracker
Keep track of your favorite movies and tv shows on your iPhone
Setup for development
You will need
- Xcode 11.2.1
- Swift 5.1.2
Run the following commands
-
git clone [email protected]: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"
}
}
Project structure
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.