In order to run this project, run the following commands
npm ci
npm start
- App interacts with Giphy API for trending and Search gif endpoints
- When the search result is empty, the app displays trending endpoints, otherwise the app only displays search gifs
- Functionality to reach the end of a list (trending/search) has not yet been implemented, although this can easily be calculated from
Giphy's Pagniation
response for the API calls
- TypeScript
- MUI: For components
- @mierak/react-virtualized-grid: For virtualising the grid
- react-infinite-scroll-component: For infinite scroll
- Use a reducer to manage all the state changes, as currently it's hard to add new functionalities/modify existing ones without touching the entire codebase
- Regression testing: Ensure the correct endpoints are getting called/correct data is being rendered, however, it would not have been possible in 90 minutes