This is a coding challenge for prospective front-end and full-stack developer applicants applying to DemandHub.
Build a simple React app that allows viewing and interacting with a grid of curated photos from Unsplash
- Fork this repo into your GitHub account. Keep it public until we have been able to review it.
- Use
create-react-app
to set up a basic single-page React application as shown here: https://reactjs.org/docs/add-react-to-a-new-app.html. - Refer to the Unsplash API docs here to set up a developer account: https://unsplash.com/documentation.
- Display a grid of photos in your React app. Use the
GET /photos/curated
endpoint from the Unsplash API to get a set of curated images. - The grid of photos should preserve the aspect ratio of the photos it's displaying, meaning it shouldn't crop the image in any way.
- The grid should be responsive, and should work in both portrait and landscape orientations on both mobile and desktop browsers.
- The grid should support pagination, i.e. you can scroll on grid of photos infinitely.
- When the user taps on a photo on the grid it should show the full photo in a full width lightbox popup with more information about the photo.
- The lightbox popup should be dismissible with a close button.
- The React app should build without errors (typically using
npm run build
). If there are necessary steps required to get it to compile, those should be covered in README.md. - No crashes or bugs.
- App should operate as a single-page application, without the need for a custom back-end.
- Code is easily understood and communicative.
- GitHub commit history is consistent, easy to follow and understand.