Code Ocean Frontend Developer Challenge
In this challenge you will create a React app with a virtualized infinite scroll list.
- Clone the repo.
- Create a React app with a build system of your choice (e.g. RSPack, Vite, Webpack, etc.).
- Implement an infinite scroll (data is lazy loaded) virtualized list component that will load data from the server. You can use a library or create your own implementation.
- Display a list of users using the list component. A user item should include all fields except for
id. - Add a search input that will filter the list by
nameor byemailusing the API. - Add a second list of reviewers to the app reusing the code you've created for users. Both lists should appear side by side, have their own search box, and load data from their respective api endpoints.
- Don't forget to push your changes to your repo.
- Send us a link to your repo.
- Install the dependencies.
- Run
npm startto start the server on port3001.
- Users are available on
localhost:3001/users - Reviewers are available on
localhost:3001/reviewers - This mock API uses a basic json-server
- User friendly - empty state, loading state, error state, etc...
- Visually appealing - use a design system of your choice (e.g. Material UI, Ant Design, etc.) or create your own
- Smooth scrolling
- Scalable (support extremely high amount of items)
- Don't be shy about using AI, as long as you understand the code and can explain it.
- Feel free to use any libraries you find useful for state management, calling APIs, etc.
Good Luck!