019 min
Values & variables
Store useful information
MINI BUILDCreate learnerName, currentStreak and goal variables, then log one useful sentence from them.
Checking saved progress…
0210 min
Strings & numbers
Work with text and calculations
MINI BUILDCreate a subtotal calculator from price and quantity and include the product name in the displayed sentence.
Checking saved progress…
0311 min
Booleans & conditions
Make decisions
MINI BUILDShow one message when cartTotal is at least 1000 and another when it is below 1000.
Checking saved progress…
0411 min
Arrays
Keep ordered collections
MINI BUILDCreate a shopping list with four items, add a fifth with push, and display the first item.
Checking saved progress…
0512 min
Objects
Group named data
MINI BUILDModel one course with title, minutes, completed and difficulty properties, then display the title.
Checking saved progress…
0612 min
Loops
Repeat work across collections
MINI BUILDLoop over four order totals and calculate a grand total without repeating the addition line manually.
Checking saved progress…
0712 min
Functions
Package repeatable behaviour
MINI BUILDWrite a function called finalPrice that accepts price and discountPercent and returns the discounted number.
Checking saved progress…
0813 min
DOM mental model
Treat the page as an object tree
MINI BUILDSelect a heading and a status paragraph, then copy the heading text into the status paragraph.
Checking saved progress…
0914 min
DOM & events
Make the page react
MINI BUILDCreate a button and message element, then change the message text when the button is clicked.
Checking saved progress…
1014 min
Forms & validation
Turn user input into deliberate state
MINI BUILDHandle a small name/email form, reject an empty name, and show a clear success or error message.
Checking saved progress…
1113 min
Modules
Split browser code into useful boundaries
MINI BUILDSketch `format.js` exporting one formatting helper and `app.js` importing and using it.
Checking saved progress…
1214 min
Async thinking
Handle work that finishes later
MINI BUILDSketch an async function with a loading step, one awaited operation and a clear catch/error path.
Checking saved progress…
1313 min
Errors & debugging
Turn failures into evidence
MINI BUILDCreate one function with a clear invalid-input error and a caller that handles the error without crashing the rest of the page.
Checking saved progress…
1412 min
Local storage
Persist small browser state deliberately
MINI BUILDSave one harmless UI preference with JSON/string handling and restore a sensible default when nothing is stored.
Checking saved progress…