Skip to content

judarlima/the-movie-database

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

53 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

The Movie Database

Build Status codebeat badge

  1. Architecture
  2. Features
  3. Accessibility
  4. Continuous Integration
  5. Static Code Analysis
  6. Code Coverage
  7. Requirements
  8. Instructions
  9. Preview

Architecture

  • 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 like reference cycles.

Features

Movie List

  • Provides a list of upcoming movies through an infinite scroll.
  • Provides the possibility of search for movies.

Movie Details

  • Shows details of a movie, such as:
    • Movie Poster Image
    • Movie Title
    • Movie Overview
    • Movie Genres
    • Movie Release Date
    • Movie Backdrop Image

Accessibility

  • This App provides voice over accessibility.

Continuous Integration

  • 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 the master is broken or if everything is fine(tests and build).

Static Code Analysis

  • 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.

Code Coverage

  • Unit Tests for:
    • HttpClient
    • Coordinator
    • Upcoming Movies Interactor
    • Upcoming Movies Gateway
    • Upcoming Movies Gateway Setup
    • Upcoming Movies Adapter
    • Upcoming Movies Presenter

Requirements

  • Xcode 10.2.1
  • Swift 5

Instructions

$ git clone https://github.com/judarlima/the-movie-database.git
$ cd the-movie-database
$ git checkout development
$ cd MovieDataBase/
$ open MovieDataBase.xcodeproj

Preview

Movies List

Movie Detail

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages