/paySmartChallenge

Challenge to test the candidate's knowledge

Primary LanguageDart

paySmartChallenge

As a mobile engineer you've been tasked with the development of an app for cinephiles and movie hobbyists. This first version (MVP) of the app will be very simple and limited to show the list of upcoming movies. The app will be fed with content from The Movie Database (TMDb). If no design specs were given, you're free to follow your UX and UI personal preferences.

Functional Requirements

This release of the app will be very limited in scope, but will serve as the foundation for future releases. It's expected that user will be able to:

● Scroll through the list of upcoming movies - including movie name, poster or backdrop image, genre and release date. List should not be limit to show only the first 20 movies as returned by the API, the user should be able to infinitely scroll trought it.

● Select a specific movie to see details (name, poster image, genre, overview and release date).

● Persist movie information on the device (Optional).

● Search for movies by entering a partial or full movie name (Optional).

Technical Requirements

You should see this project as an opportunity to create an app following modern development best practices, but also feel free to use your own app architecture preferences (coding standards, code organization, third-party libraries, etc).

The API documentation and examples of use can be found here: https://developers.themoviedb.org/3

Developers are not allowed to use any already available IMDB SDK, an HTTP client for the API is expected to be written from scratch.

The application should be written in flutter and should run on an Android device. The development will be devided into two fases. The engineers are free to choose any architecture to structure the app.

Unit tests are not required, but highly appreciated.

Developers should fork this repository as a starting point.