Front-end project developed as part of a technical assessment for a recruitment process.
Explore the docs »
View Demo
·
Report Bug
·
Request Feature
Table of Contents
This exercise consists of implementing a web application that displays a list of movies based on the provided Figma mockup and a given API Endpoint.
This is an example of how you may give instructions on setting up your project locally. To get a local copy up and running follow these simple example steps.
You must retrieve the data from the provided API Endpoint, then display it in the movie list of your web application as follows:
- The header section of the application's homepage should display the 4 most recent movies from the complete list in a horizontal scrollable list.
- The rest of the section should display the list of all other movies in a vertical scrollable list.
Users should be able to search for movies (by title only). The search results must be displayed in a modal and sorted alphabetically. The choice of search algorithm is up to you (e.g., fuzzy).
When a movie is selected, its details should be displayed in a modal.
The application must be designed as "Mobile First" and responsive, ensuring an optimal user experience on all screen sizes for smartphones and tablets.
- The source code must be hosted in a public GitHub repository.
- A README file must be present at the root of the repository. It should summarize all the details and choices made in building the application, as well as the link to the hosted application (see below). The application must then be hosted on a hosting platform of your choice (Netlify, GitHub Pages, Firebase Hosting, etc).
- Justification of technological choices: We will evaluate the relevance of the choices made for the framework (if applicable) and external packages, as well as the candidate's ability to explain and justify their choices.
- Quality of implementation: We will evaluate the quality of the application's implementation, the quality of the code, the application's structure, and the quality of the user interface, particularly its adaptation to different resolutions and formats of phones and tablets.
[ { "title": string, "type": string, "date": string, "description": string, "duration": string, "thumbnail": uri, "cover": uri, } ]
- I decided to build my project with Vite.js to quickly start coding and take the opportunity to explore this tooling solution.
- The project is built using vanilla JavaScript with TypeScript, as I am not familiar with any frameworks, and it didn't seem particularly useful for this integration project.
- I used fuzzy.js as the library for the movie search algorithm, and axios for HTTP requests to simplify the syntax and familiarize myself with the library.