Skip to content

Latest commit

 

History

History
60 lines (42 loc) · 2.04 KB

README.md

File metadata and controls

60 lines (42 loc) · 2.04 KB

App for Alter Solutions Challenge

Build Status codecov CodeFactor

Application to solve the challenge proposed by Alter Solutions.

Architecture

The architecture chosen for this project was the MVVVM+C, Model View ViewModel with the Coordinator pattern to perform the navigation between scenes.

Construction of views

The ViewCode pattern was used to build the screens.

Third Party Libraries

For this challenge, the following libraries were used:

  • Kingfisher (version 6.3.1)

    • Downloading images asynchronously
  • RxSwift (version 6.2.0)

    • Control the flow of communication between Controller and ViewModel
  • Firebase (version 8.6.1)

    • Analytics Event Management
  • AlterSolutionsChallengeCore (https://github.com/maclacerda/alter-solutions-challenge-core)

    • Internal Core Framework



Dependency Manager

The SPM (Swift Package Manager) was used as a dependency manager

Testes

Using the XCTest framework to perform unit and UI testing

Analytics

The Firebase platform was used to send events to access the dashboard of tracked events, go to: https://analytics.google.com/analytics/web/?hl=pt#/p284946414/reports/home

Note: The event happens when you favorite or disfavor a Pokemon

Challenge Requirements


  • Pagination
  • Functional programming
  • Dependency Injection
  • Unit Testing
  • UI Testing
  • WebHook - Firebase see # Analytics
  • Adapt UI to mobile orientation changes