Project developed with Xamarin.Forms to build an app for iOS and Android that offers to the user the list of upcoming movies and their details. The app also allows the search of a movie by entering a partial or full movie name.
All movies data is provided by TMDb Api.
| Library | Link | Description | Why used |
|---|---|---|---|
| FreshMvvm | Nuget GitHub | Super light Mvvm Framework designed specifically for Xamarin.Forms. It's designed to be Easy, Simple and Flexible | Helps to implement Mvvm pattern, facilitates the navigation between ViewModels and provides a simple and effective IoC Container |
| Json.Net | Nuget GitHub | Json.NET is a popular high-performance JSON framework for .NET | Used to deserialize the data returned by TMDb Api |
| PropertyChanged.Fody | Nuget GitHub | Add property notification to all classes that implement INotifyPropertyChanged | Really saves a lot of time by injecting code that raises the PropertyChanged event for us |
| Xamarin Essentials | Nuget GitHub | A kit of essential API's for Xamarin apps | The Connectivity feature was used to check if internet access is available |
| FFImageLoading.Forms | Nuget GitHub | Xamarin Library to load images quickly and easily on Xamarin.Forms | Used to load and locally cache the images of the movies |
| Microsoft.Net.Test.Sdk | Nuget GitHub | The MSbuild targets and properties for building .NET test projects | For building tests |
| NUnit | Nuget GitHub | NUnit features a fluent assert syntax, parameterized, generic and theory tests and is user-extensible | For building unit tests |
| NUnit3TestAdapter | Nuget GitHub | A package including the NUnit 3 TestAdapter for Visual Studio 2012 onwards | For building unit tests |
| FluentAssertions | Nuget GitHub | Fluent API for asserting the results of unit tests | To write tests asserts in a more natural way |
| Xamarin UI Test | Nuget | UI Automation Framework for testing Android and iOS apps | To run automated UI Tests |
| Xamarin Test Cloud Agent | Nuget GitHub | Xamarin Test Cloud Agent | To allow the control of iOS simulator to run UI Tests |