The project is about to work with the Trakt.tv API and give the users two opportunities.
- When the user starts the app, he will see a list with the 10 most popular movies and by scrolling down a new request will be executed to show the next ten movies.
- The User can switch via Tabs between showing the 10 most popular movies and searching movies. The search will be executed automatically while typing the searchterm. Also it should be scrollable via pagination.
- Use CocoaPods as dependency manager
To install, download it or clone and then start pod install
in the project directory.
After that open the .xcworkspace
file.
- Use Xcode Groups for project structure
- App: The app delegate, assets and info.plist
- APIs: The request handling with the trakt api
- Extensions: Extensions for different classes e.g. String
- Helpers: For making changes in one place in this case the cell identifiers
- Models: The movie models and a factory to create the movies
- Views: Everything regarding to the UI e.g. main storyboard, nibs
- Controllers: Controllers for the views
-
Use HanekeSwift for image caching
-
Use SwiftyJSON for dealing with JSON data
-
Use ReactiveX especially to make the dynamic search
- Use Trakt.tv API to request movies
-
Use The Official raywenderlich.com Swift Style Guide as swift style guide
-
Use Git for version control
- Use Tests
- Better loading handling of movies, especially images
- Add Loading Screen