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 to serve on the board of the Africa Code Academy.

projects by Bonnie Schulkin

A Directory with React

5 weeks · 4-6 hours per week average · INTERMEDIATE

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.

Some sections may contain information that is now outdated due to the rapid advancements in the technology field, notably the initial libraries, Docker setup, and some documentation links. Regardless, this liveProject series remains an invaluable resource for intermediate users.

Write Automated Tests

1 week · 4-6 hours per week · INTERMEDIATE

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.

Some sections may contain information that is now outdated due to the rapid advancements in the technology field, notably the initial libraries, Docker setup, and some documentation links. Regardless, this liveProject remains an invaluable resource for intermediate users.

Query Mutations

1 week · 4-6 hours per week · INTERMEDIATE

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.

Some sections may contain information that is now outdated due to the rapid advancements in the technology field, notably the initial libraries, Docker setup, and some documentation links. Regardless, this liveProject remains an invaluable resource for intermediate users.

Display React Query States

1 week · 2-4 hours per week · INTERMEDIATE

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.

Some sections may contain information that is now outdated due to the rapid advancements in the technology field, notably the initial libraries, Docker setup, and some documentation links. Regardless, this liveProject remains an invaluable resource for intermediate users.

Implement Employee Search

1 week · 2-4 hours per week · INTERMEDIATE

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.

Some sections may contain information that is now outdated due to the rapid advancements in the technology field, notably the initial libraries, Docker setup, and some documentation links. Regardless, this liveProject remains an invaluable resource for intermediate users.

Create Employee Page

1 week · 2-4 hours per week · INTERMEDIATE

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.

Some sections may contain information that is now outdated due to the rapid advancements in the technology field, notably the initial libraries, Docker setup, and some documentation links. Regardless, this liveProject remains an invaluable resource for intermediate users.