/PelinaBeerProject

A movie webpage

Primary LanguageJavaScript

Movies

The company `Pelina Beerʼ is an organization that is responsible for informing users about all the movies that have been released in theaters. For this, they use media such as advertisements, among other things. It turns out that their expenses are very high, and they want the user to be able to access this information without the need to wait for a newsletter or announcement. Pelina Beer wants a tool that can communicate the list of films that are in theaters and for the user to be able to search for information on films that were released, filter by categories, rating, among others.

Technical requirements

The films must be in a grid and each one presents its most relevant poster, as well as an indicator that reveals if it belongs to the user's favorites (this indicator can be pressed to add or remove it from said grid). In addition to the grid mentioned above, there is also another grid that contains those marked as ‘’favorites’’. Both are present on the same screen, in separate tabs. Both the grid containing the best movies and the grid containing the movies marked as favorites can be sorted by the criteria listed below:

  • Name
  • Year of release
  • Rating (default) When selecting a movie, its detail is displayed. The detail consists of:
  • Title
  • Synopsis
  • Poster
  • Rating
  • Favorite indicator (can be pressed to add or remove it from said grid)

Assumptions

  • Assume that the application is always used by the same user. In other words, there is no need to: login, logout, or maintain separate favorites lists for each user.

Rules

  • Use the platform of the position you are applying (Ex.: ReactJS, React Native, Angular, ObjectiveC, Swift, Kotlin, Xamarin, etc...). Please contact your Recruiter before coding if you have any doubts about this.
  • Do not use any framework. A good developer must know how to select his tools and put them to work together.
  • The use of third-party libraries is allowed and encouraged.
  • Make use of .gitignore, avoid as much as possible including unnecessary files.
  • You must use The Movie DB (https://www.themoviedb.org/documentation/api?language=en) as an external data source.

Evaluation criteria

  1. Application meets Technical requirements.
  2. Organization and consistency of the file and folder structure.
  3. Modifiability and extensibility of the system at the required points.
  4. Commit history (commits are organized and descriptive).
  5. Time used to complete the test.
  6. Complexity of the solution.
  7. Implementation of SOLID principles.
  8. Correct use of design patterns.