Skip to content

pietrocaselani/CouchTracker

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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 git@github.com: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