Aabha · Learn by building

Exercise 10: Finish with honest persistence

Use examples/10 and then capstone/starter. Attempt the capstone brief before opening the reference.

A. Explain

Why can the same app at localhost:8000 and 127.0.0.1:8000 show different saved lists? Why should names and email not be stored in this demo?

B. Recover

In your own local page's Developer Tools storage view, replace this lesson's saved JSON with invalid text. Reload. Confirm the page stays usable and reports the read problem. Clear only the lesson key afterward.

C. Independent build

Complete the six capstone checkpoints. Include title/category filtering, a safe card renderer, an empty state, a synthetic form, local fixture loading with recovery and saved IDs with graceful storage failure. Submit your source and acceptance evidence. The separate reference is one implementation, not the only correct layout.

Evidence

Use the capstone rubric. Explain a save action all the way from click to array change, persistence attempt, pressed state and announcement. Distinguish saving from booking.

Return to lesson · Explained answer