Skip to main content
One idea at a time

Your frontend experience is the starting point

You already know how to send a request and render its response. This course follows that request into the server.

The reference app is Taskboard, a team task manager. A user creates a workspace, invites a colleague, creates projects, and updates tasks. Workspaces can subscribe to a paid plan. Email and real-time events connect the workflow.

Reading is enoughโ€‹

You do not need to install anything, run commands, or finish exercises. Every lesson explains its example and includes the result you need to understand it. The complete source is available through App code in the navigation.

Each page has one main idea. Some pages take two minutes. Others need more time because the code deserves a closer look. Stop at the recap whenever you need a break. Mark as read records your place in this browser. The home page lets you continue from your last page.

Follow the same appโ€‹

Early code examples isolate a small part of the implementation. They are labeled when they show a teaching version rather than the finished app. Boxes titled From the working app show source copied directly at build time.

The course progresses through six chapters. First you follow HTTP through Node and Express. Then you give data a durable home in Postgres. Authentication identifies the user. Memberships connect the user to a workspace and a role. Background work handles email. Payments and real-time updates introduce external systems. The final chapter explains how to observe, deploy, and recover the application.

Think about the failureโ€‹

Backend correctness includes failures you cannot see from the browser. A request can succeed while its response is lost. Two requests can edit the same task. A worker can crash after sending an email. A payment provider can send an event twice.

Each relevant lesson asks what the system stores, which boundary checks the request, and what happens if the process stops. The code reference and verification notes distinguish implemented behavior from production extensions.

Take away

You are learning one backend through small explanations. Your first job is to understand the request, not memorize the whole repository.

Start with the journey of a request.