Advanced tutorial: build a routed reading list

Navigation · State · Data · Host · about 30 minutes

Combine a typed route stack, validated versioned snapshots, and asynchronous storage in one checked application.

Complete Beginner tutorial first. This walkthrough assumes you already understand module state, render, handle, stable IDs, check, test, and run.

You will open note 7, switch to a favorites filter, save both values, change them, and restore the exact saved route and filter.

Copy the three complete files unchanged once. The documentation validator materializes these same files and requires both luastra check and luastra test to pass.

Review the focused typed navigation recipeReview the focused persistence recipeAdd Browser and system Back after this works

Do not add Server functions here. First make the local route and persistence boundary predictable; the checked Server recipe introduces trusted backend work as a separate concern.

Detail pages

1. Create the project2. Replace luastra.json3. Replace src/main.luau4. Replace tests/smoke.luau5. Check the deterministic model6. Run the storage round trip7. Understand the trust boundariesWhat each verification proves