GithubHelp home page GithubHelp logo

takehome_exercise's Introduction

Airmap Front End Take Home Exercise

Objective

Design a single page application, using React with Redux, that contains the following pages:

  1. An About page, which should just contain text with information about the application. Just a simple description of who built the app and when is fine.
  2. A Home page, which displays a collection of cat gifs in a carousel.
    1. We recommend using the public Giphy "Search" API to retrieve your data: Giphy "Search" API (Note: you will need to create an app on Giphy's site to obtain an API key.)
    2. You should fetch at least 5 gifs at a time, so the carousel will have several gifs the user can flip through.
    3. Your carousel should have a ‘Next’ button that will display the next gif when it is clicked.
      1. The Next button should be disabled when the user is viewing the last gif in the collection.
    4. Your carousel should have a ‘Previous’ button that will display the last gif the user viewed when it is clicked.
      1. The Previous button should be disabled if the user is viewing the first gif in the collection.
    5. The Home page should fetch the gifs upon load. It should display some kind of loader component instead of the carousel while the data is being fetched.
    6. Your data and internal UI state should be managed in Redux. You can use any redux architecture strategy you prefer.

Additional Notes:

  • The app has been bootstrapped with create-react-app and Redux already installed, and some Redux boilerplate already set up for you.
  • We have installed Material UI and Semantic UI React Frameworks for you to use for styling, but you can use any framework you wish, or none at all.
  • We have installed Axios already but you can use any async library to handle your API call.
  • We have installed Redux Thunk already and set up the middleware boilerplate for you to use it, but you can use any async redux middleware to manage your redux async actions that you like.

Bonus Points:

  • A navigation bar that contains links to the Home page and About page, shared between both pages.
  • Graceful error handling of the API call

takehome_exercise's People

Contributors

betsygott avatar

Watchers

James Cloos avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.