This is a technical test for a junior developer position. The goal of this test is to evaluate your knowledge and skills in HTML, CSS, and JavaScript.
Regardless of the framework you choose, your application should include the following features:
- Generate a game board with an even number of shuffled cards. Each card should have a hidden side and a visible side with an image or symbol.
- Allow the user to click on a card to flip it and reveal its content.
- Compare the cards: If the user flips two cards and they are identical, they should stay visible. If not, the cards should be flipped back to their hidden side after a short delay.
- Game end: When all pairs of cards have been found, display a congratulatory message and the number of moves needed to complete the game.
- Reset button: The user should be able to reset the game and shuffle the cards again using a "Reset" button.
- Fork this repo
- Chose framework you want to use : React, Vue or a personnal
- Implement the solution in your own public GitHub repository, and send us the link to the completed project.
You have a maximum of 2 hours to complete this test. It is not expected that you will implement every feature within this time frame. Make choices on what to prioritize and be prepared to explain your decisions.
- Appropriate use of HTML to structure the page content and components (if applicable).
- Effective use of CSS for styling and presentation of the page (e.g., layout, colors, fonts, spacing, borders).
- Use of JavaScript to manage the game logic (e.g., shuffling cards, flipping cards, comparing cards, counting moves, resetting the game).
- Adherence to good development practices (e.g., indentation, comments, variable and function naming, component structure and organization).
Good luck 🥑 !