In this project, let's build a Faqs App by applying the concepts we have learned till now.

Refer to the image below:


faqs-output

Design Files

Click to view

Set Up Instructions

Click to view
  • Download dependencies by running npm install
  • Start up the app using npm start

Completion Instructions

Functionality to be added

The app must have the following functionalities

  • When the plus icon is clicked in a FAQ

    • The answer to the FAQ should be visible to the user
    • The plus icon should change to a minus icon
  • When the minus icon is clicked in a FAQ

    • The answer to the FAQ should be hidden to the user
    • The minus icon should change to a plus icon
  • The Faqs component receives the faqsList as a prop. It consists of a list of faq objects with the following properties in each faq object

    Key Data Type
    id Number
    questionText String
    answerText String
Components Structure
faqs-component-structure

Implementation Files

Use these files to complete the implementation:

  • src/components/Faqs/index.js
  • src/components/Faqs/index.css
  • src/components/FaqItem/index.js
  • src/components/FaqItem/index.css

Quick Tips

Click to view
  • You can use the box-shadow CSS property to apply the box-shadow effect to containers

      box-shadow: 0px 4px 16px 0px #bfbfbf;
    

    box shadow
  • You can use the cursor CSS property to specify the mouse cursor to be displayed when pointing over an element

      cursor: pointer;
    

    cursor pointer
  • You can use the below outline CSS property for buttons and input elements to remove the highlighting when the elements are clicked

      outline: none;
    

Resources

Image URLs
Colors
Hex: #cb8805
Hex: #52606d
Hex: #9aa5b1

Border Colors

Hex: #d7dae6
Hex: #e4e7eb

Background Colors

Hex: #ffffff
Hex: #f1f5f8
Font-families
  • Roboto

Things to Keep in Mind

  • All components you implement should go in the src/components directory.
  • Don't change the component folder names as those are the files being imported into the tests.
  • Do not remove the pre-filled code
  • Want to quickly review some of the concepts you’ve been learning? Take a look at the Cheat Sheets.