React Practice Assessment Project - Surveys

This project is designed to let you stretch your skills as a developer. Rather than a step-by-step guide, you will find a specification as if it came from a client you might be working for.

The goal is to allow you to prepare to show off your skills in these areas

React Basics Learning Objectives

React Component Learning Objectives

React Router Learning Objectives

React Hooks Learning Objectives

React Forms Learning Objectives

React Contect Learning Objectives

Remember, this is your chance to practice your React skills. Don’t get bogged down or spend too much time in one area. Check your understanding and skills in each area to best prepare for the real assessment.

Specifications

The a/A Forms company has engaged your services to replace their existing survey website with a new React application. Initially, they would like to release a minimum of two surveys. They are also requesting a home page for the site and navigation to the available surveys.

Provided assets

Download the assets here. Included in the assets folder are the following files:

  1. logo.png - Company logo
  2. sample.json - JSON file exported from their current system with the first survey on their list
  3. spi.json - JSON file from their current system with the inventory questions
  4. _bonus.json - Another JSON file in case you want to do more (see below)
  5. Home Page WF.png - General concept client is looking for. Use “Lorem Ipsum” for the text (search online if you don’t remember what that is)
  6. SPI Report WF.png - General concept they are looking for

You can choose to use to use the JSON files as mock data, if you’d like. However, the client is fine with copy and paste as well.

The approach

The first step is to use create-react-app to get the framework of your application setup quickly. The goal is more important than the order of the steps, so you should feel free to switch which part of the application you are working on if you get stuck. A few suggestions are provided here.

Tool suggestions (not a complete list, and you may find better ways!)

Option Red - Go Wide

Create components with minimal content quickly, setup react-router-dom to navigate to them. Then go through each one and put in basic content, go back to each and add form validation, repeat until all features are complete.

Option Blue - Go Deep

Create one component. Import it into the App.js. Build out all its features, e.g. survey questions, then validation, then submit. Replace the component in App.js with another one and repeat the process. At the end (or in the middle, if you prefer), bring in react-router-dom and configure it for navigation.

Bonus Survey

If you want to go above and beyond, then research the “Likert scale” online and add another page for the survey questions found in bonus.json. Include a simple thank-you message on submit, if you’d like.