Bonnie Schulkin

Bonnie Schulkin's teaching career started when she was very young. She taught her younger brother as a kid. With time, she gradually expanded her horizons to teaching (marginally) more willing high school students, and more recently have taught software development at various boot camps to delightfully willing adults. She has been working in the software industry on and off since the mid-90s.

videos & projects by Bonnie Schulkin

Regular Expressions for Beginners and Beyond

  • Course duration: 3h 16m

Regular expressions have a bad reputation for being difficult to understand. This course introduces tools and a systematic approach so you can unlock the power of regular expressions to write compact, elegant code.

In this course, we will cover concepts from basic to advanced. The examples progress in a logical, narrative way. At the end of one example, we will think about how we might tweak it to do something similar but more powerful. In this way, the concepts flow naturally from one example to the next.

There are also 41 exercises. You are given a description of a regular expression, and then you write it using your choice of JavaScript or Python syntax. After you're done, tests written especially for the exercises will let you know whether your regular expressions did the job they were supposed to. These exercises are a fun, interactive way to cement the concepts in your brain, and make sure you really understand the material presented in the lectures.

Depending on your level of experience, you can start at the beginning, or start later with concepts you've always been interested in, but haven't had a chance to learn yet.


Distributed by Manning Publications

This course was created independently by Bonnie Schulkin and is distributed by Manning through our exclusive liveVideo platform.

Automated Accessibility Testing for React Applications

  • Course duration: 1h 38m

In this course, you will gain hands-on knowledge on how to make your web application usable by as many people as possible. Maybe you have manual accessibility testers, and you want to make sure they don't have to spend time chasing down issues that can be caught by a computer. Or perhaps you are just learning about accessibility and want to know how to incorporate audits into your automated tests. This course can help you learn all of it and teaches three levels of accessibility testing, to catch as many errors as possible using automated tests.

Make the most of the testing tools and learn to create custom rules for jest-axe, to tailor your audits to your company's standards or generate an HTML report for cypress-audit/lighthouse to help isolate errors.

While this course focuses on React applications, much of the material can be applied to other technologies (such as Angular or Vue). Additionally, each section lists alternative tools that might be a better fit your tech stack.


Distributed by Manning Publications

This course was created independently by Bonnie Schulkin and is distributed by Manning through our exclusive liveVideo platform.

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.