Skip to content

Latest commit

 

History

History
76 lines (49 loc) · 3.25 KB

Readme.md

File metadata and controls

76 lines (49 loc) · 3.25 KB

CouchTracker

Keep track of your favorite movies and tv shows on your iPhone

CircleCI codecov Quality Gate Status Twitter FOSSA Status Tuist Badge

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

  • This project uses the Trakt API, TMDB API and TVDB API

  • 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 of CouchTrackerCore. You won't find any files here, all files are on CouchTrackerCore.

  • CouchTrackerCoreTests: The test bundle for CouchTrackerCore. 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 into CouchTrackerPlayground.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 the AppDelegate here.

License

FOSSA Status