- Architecture
- Features
- Accessibility
- Continuous Integration
- Static Code Analysis
- Code Coverage
- Requirements
- Instructions
- Preview
- This project architecture is a variation of VIP, respecting SOLID and Clean Architecture principles.
- About the ViewModel, it doesn't contains business logic, its responsibility is only abstract the business model data into a struct that only makes sense to the presentation layer, trying not to expose those businesses model information at viewController.
- The layers into this architecture respect a unidirectional flow
(View Controller -> Interactor -> Presenter -> View Controller)
, this helps to prevents mistakes and issues likereference cycles
.
- Provides a list of upcoming movies through an infinite scroll.
- Provides the possibility of search for movies.
- Shows details of a movie, such as:
- Movie Poster Image
- Movie Title
- Movie Overview
- Movie Genres
- Movie Release Date
- Movie Backdrop Image
- This App provides voice over accessibility.
- This repository is integrated with
Bitrise
to helps to identify integration defects in the early stages of the project. - The
Bitrise
label at this readme file shows quickly if themaster
is broken or if everything is fine(tests and build).
- This repository is integrated with
Codebeat
.Codebeat
gathers the results of code analysis into a single, real-time report that gives all project stakeholders the information required to improve code quality.
- Unit Tests for:
- HttpClient
- Coordinator
- Upcoming Movies Interactor
- Upcoming Movies Gateway
- Upcoming Movies Gateway Setup
- Upcoming Movies Adapter
- Upcoming Movies Presenter
- Xcode 10.2.1
- Swift 5
$ git clone https://github.com/judarlima/the-movie-database.git
$ cd the-movie-database
$ git checkout development
$ cd MovieDataBase/
$ open MovieDataBase.xcodeproj