Develop an API that presents the next films to be released in the cinema.
- https://developers.themoviedb.org/3/movies/get-upcoming
- https://developers.themoviedb.org/3/genres/get-movie-list
Run the "dotnet run" command inside the Filmes.Api folder or run the project using IISExpress in visual studio 2019
Available APIs:
- https: // localhost: 5001 / api / film (Retrieves films to be released with default parameters: language = pt-BR, page = 1 and region = "")
- https: // localhost: 5001 / api / film? language = en-US (Retrieves films to be released according to the selected language example: [en-US, de, pt-BR])
- https: // localhost: 5001 / api / film? language = en-US & page = 2 (Retrieves films to be released according to the selected language example: [en-US, de, pt-BR] and the page you want view example [2])
- Web API layer responsible for intermediating clients with business rules (Filme.Core).
- Business layer, responsible for any type of interaction that corresponds to the business. Has DTO, Services and Interfaces
- Layer responsible for infrastructure operations, consume API using rest sharp and configuration file.
- Layer responsible for integration tests between the structure of the Film Consumer application and The Movie Database API
- Test Driven Development was used to improve security in future development and maintenance.
- It was used to represent the json structures consumed in the API responses.
- It was used to present the information of the DTOs returned from the Core project in the layer of the Web API.
- Used to avoid high coupling and facilitate testing.
- Encapsulate similar / equal logic in unique methods to try to minimize as much as possible the duplication of code.
- Principle of single responsibility was used to simplify classes and methods so that each one has a minimum of responsibilities to facilitate the reuse of code and maintenance.
- Used to structure and create the Film Consumer project
- http://restsharp.org/ According to the website, one of the most popular libraries to work with REST API. It was chosen to facilitate interaction with the movie database's REST API. Because it has a large community, it is a constantly evolving library with few bugs.
- https://www.newtonsoft.com/json NewtonSoft to facilitate serialization and deserialization.
- https://www.nuget.org/packages/Microsoft.NET.Test.SDK Microsoft testing library
- Test project made to perform integration tests with the consumed API.
- Run all tests every time you change something to ensure that the integration part between the application and the API is working as expected.