- An Interview coding challenge for OneView Commerce.
- https://github.com/a1clark1a
- Create-React-App
- TypeScript
- Redux/Redux-Thunk
- React-Tables
- Jest
- Axios
- Node-Sass
- https://jsonplaceholder.typicode.com/
- Develop a table with 4 columns Name, Email, City, and Company populating the rows with the response from the api endpoint https://jsonplaceholder.typicode.com/users.
- The Name column should use user.name - The Email column should use user.email - The City column should use user.address.city - The Company column should use user.company.name.
-
Add an input field to search based on name. For instance if "Lea" is entered, only the "Leanne Graham" row should show in the table
-
Make the rows clickable. When a row is clicked, the website should show the user's posts. You can utilize this api, https://jsonplaceholder.typicode.com/posts?userId=1 for retrieve a user's posts.
-
The project should also include sufficient unit tests.
- Added pagination to address displaying potentially large data.
- Search feature is improved to allow different search types(email, address, city, etc). Developers can add add/remove search feature based on data. Table is also scalable based on Data/ColumnHeaders passed to it and is reusable.
- Reusable Components
- Loading Component
- Route page architecture for easy page/view management
- Basic Styling