Welcome to the junior frontend developer interview home exercise. This repository is intended to assess your proficiency in working with React, Redux, and managing asynchronous data fetching. The key objectives of this exercise are outlined below.
-
Number of Users Input:
- Utilize the existing Input component to allow users to specify the number of users to fetch.
-
Live Search:
- Implement a live search feature using the provided Input component to fetch user data from RandomUser API while user is typing.
-
UserCard Component:
- Create UserCard component with the following requirements:
- receives from props image, firstName, lastName
- displays image and adds firstName and lastName underneath the image
- Create UserCard component with the following requirements:
-
Slideshow Component:
- Create a Slideshow component from scratch that renders one UserCard at a time.
- Use the list of already fetched users, switching the cards every 2 seconds.
- Include "Start" and "Stop" buttons to control the slideshow.
-
Redux Data Store:
- Utilize Redux to store and manage the fetched user data.
-
Error Handling:
- Implement error-handling mechanisms for data fetching and user interactions.
-
Validations:
- Include input validation to ensure users provide a valid number of users to fetch.
Feel free to improve the styling of the components and the overall user interface.
- Use Only Installed Packages:
- Limit the use of external packages to those already installed and specified in the project.
-
Clone the Repository:
git clone https://github.com/your-username/frontend-interview-exercise.git
-
Install Dependencies:
yarn install
-
Start the Development Server:
yarn start
-
Open in Browser:
- Navigate to http://localhost:3000 to view the application.
Feel free to extend functionality or enhance the user interface beyond the outlined requirements. Be prepared to discuss your implementation choices and the reasoning behind them during the interview.
Best of luck! If you have any questions, please don't hesitate to reach out.