Five-Project Series

A Directory with React you own this product

intermediate JavaScript • intermediate HTML • intermediate CSS • basic React
skills learned
write a React app using React Router, React Query and Chakra UI, complete with automated tests
Bonnie Schulkin
5 weeks · 4-6 hours per week average · INTERMEDIATE

pro $24.99 per month

  • access to all Manning books, MEAPs, liveVideos, liveProjects, and audiobooks!
  • choose one free eBook per month to keep
  • exclusive 50% discount on all purchases

lite $19.99 per month

  • access to all Manning books, including MEAPs!


5, 10 or 20 seats+ for your team - learn more

SongRiver, a music-streaming startup, needs an employee directory for its quickly growing staff. As its newly hired programmer, this task falls to you! Using React, React Router, and the Chakra UI design system, you’ll build the user interface and add search functionality to employee pages in the directory. To improve the user experience, you'll also implement badges that let employees celebrate each others' achievements and create visually appealing indicators that show the status of data retrieval from the server using React Query tools. You’ll ensure that the app works as expected by writing and automating tests to be run after updates. By the end of this series, you'll have created an employee directory React app, using React tools, that lets staff search for other employees and view and award badges. With tests as safeguards, you or other developers can update the app with confidence.

These projects are designed for learning purposes and are not complete, production-ready applications or solutions.

Learned an awful lot and very happy to have done all five projects. Can apply this knowledge in any web-based project regarding frontend development.

John Zoetebier, Owner and Consultant, Transparent Systems

liveProject mentor Bernard Fuentes shares what he likes about the Manning liveProject platform.

here's what's included

Project 1 Create Employee Page

You’ve just been hired as a software programmer for SongRiver, a music-streaming startup whose success is skyrocketing. With so many new employees, it’s hard to keep everyone straight, so the internal tools team has asked you to add a page for each employee as the first step toward building an employee directory app. You’ll set up a React Router to provide access to employee information. Using React Query, you’ll fetch employee data from the server so that it can be added to the employee page. Finally, you’ll use Chakra UI to display the employee data according to the provided specifications. When you’re finished, you’ll have created a page that accepts and provides access to employee data—and your manager will be humming a happy tune.

Project 2 Implement Employee Search

Welcome to your second week at SongRiver, a music-streaming startup whose success is skyrocketing. You’ve been working on a directory app to help keep track of the company’s growing number of employees, and your task for this week is to add search functionality to employee pages in the directory. Using Chakra UI, you'll create the user interface for the search input box. Then you'll fetch the results from the server via React Query and display the data. You’ll end the project on a high note by using React Router tools to create links that enable navigation between individual employee pages and the search interface.

Project 3 Display React Query States

You’ve been striking a chord at SongRiver, the popular music-streaming platform where you’ve been working for the last two weeks. Feedback for the employee directory app you’ve been building is mostly favorable, but it also suggests that the user experience (UX) could be improved if the page were more informational and visually appealing, especially at specific times. You’ll use React Query and Chakra UI tools to indicate when the app is fetching new data or refetching data, and when there’s been an error fetching data. When you’re done, your app will display loading and error indicators that are both useful and easy on the eyes.

Project 4 Query Mutations

It’s your fourth week with SongRiver, a music-streaming web platform whose success is climbing the charts. Beta testers for the employee directory app you’ve been building are singing your praises, and they have a new request: they’d like to celebrate employees with badges that spotlight their contributions. You’ll use Chakra UI to create a grid of employee badges and add badge information to the employee page. Using React Query, you’ll add functionality for sending badge data to the server, then display a “toast” (pop-up) message that communicates whether or not the badge submission was successful. When you’re done, you’ll have a people-pleasing, connection-boosting feature that adds and displays employees’ badges, and you’ll have earned a “Rock Star” badge of your own.

Project 5 Write Automated Tests

It’s week number five for you at SongRiver, a music-streaming startup whose success is soaring. You’ve been working on an employee directory that helps users find employee information and send each other digital recognition badges. Your task this week is to create and automate tests to ensure the app works correctly, especially after updates.

Using Jest and the React Testing Library, you’ll write a test for the badge component that checks for the badge name and image. You’ll create and test a custom render method for React Testing Library, a must for preventing errors while rendering components that require React Router. Using mocked data, you’ll test components that fetch data. You’ll also write tests for the “Add Badge” component, using user-events to simulate user interactions with components. When you’re done, you’ll have created an automated test suite that empowers you and your colleagues to update the directory app with confidence.

book resources

When you start each of the projects in this series, you'll get full access to the following book for 90 days.

choose your plan


only $41.67 per month
  • five seats for your team
  • access to all Manning books, MEAPs, liveVideos, liveProjects, and audiobooks!
  • choose another free product every time you renew
  • choose twelve free products per year
  • exclusive 50% discount on all purchases
  • A Directory with React project for free

The instructions were very clear and provided enough information for me to do the project. The included resources were good.

Michal Rutka, Owner and CEO, MQL Service

project author

Bonnie Schulkin

Bonnie Schulkin is the author of many popular Udemy courses on React topics. Her experience includes various roles at software companies large and small, and she’s been writing code professionally since the 1990s. She’s proud to mentor students at the Hackbright Academy coding boot camp and serves on the board of the Africa Code Academy.


These liveProjects are for advanced beginner React developers who want to expand their skills and React toolset. To begin these liveProjects you’ll need to be familiar with the following:

  • Intermediate JavaScript
  • Intermediate HTML
  • Intermediate CSS
  • Basic React
  • Use asynchronous JavaScript functions using async / await
  • Fetch data from a server using fetch, axios, or other HTTP request tool
  • Create HTML documents using elements such as <a>, <img>, <div>, <input>
  • Use the CSS box model and layout systems (flex and grid)
  • React functional components
  • React hook-based component state management via useState

you will learn

In this liveProject series, you’ll learn to use React tools to create an employee directory application that lets staff search for employee information, add badges that recognize each others’ achievements, and make updates with confidence.

  • Chakra UI design system components
  • React Router for routing, URL params, and search params
  • React Query to send and receive data from the server
  • Create forms in React, including state-controlled inputs
  • Write tests for React apps using Jest, React Testing Library, and Mock Service Worker


You choose the schedule and decide how much time to invest as you build your project.
Project roadmap
Each project is divided into several achievable steps.
Get Help
While within the liveProject platform, get help from other participants and our expert mentors.
Compare with others
For each step, compare your deliverable to the solutions by the author and other participants.
book resources
Get full access to select books for 90 days. Permanent access to excerpts from Manning products are also included, as well as references to other resources.