Finish a tested interactive tool
See this course’s project requirements
A keyboard-usable local workshop calculator with clear validation, correct totals, and an eight-case test record.
Keep your working files in your own notebook or software. Save a private description, checklist, and work link in My Proof.
What to include
- Two-input state trace.
- Deliberate type conversion and blank handling.
- Isolated tested calculation.
- Shared submit handler for pointer and keyboard.
- Clear feedback and eight-case test record.
Review and revise
Use these criteria to check your work and choose what to improve.
- Totals match the stated rule.
- Invalid input never shows a current total.
- Keyboard and pointer paths work consistently.
- Tests and limitations are accurately reported.
Want more background?
The idea in everyday life
Make a small fictional workshop calculator respond reliably to user input.
A small test matrix checks rules and user paths systematically.
Finish a tested interactive tool — guided practice
Verify boundaries, recovery and both activation methods.
Save workshop-calculator.html and open it locally in a browser; open the same file in a text editor. It is a complete original worked program. The rule is 8 units per seat, 1–6 whole seats, plus one optional 5-unit group pack. Nothing is sent or bought. Restore the supplied file before each lesson’s code variation.
1. Reset
Restore the supplied original file and reload.
You should see: The rate is 8 and the optional pack is 5.
Tests need a defined version.
2. Test accepted boundaries
Test 1/off, 6/off and 6/on.
You should see: Results are 8, 48 and 53.
Minimum, maximum and add-on cover important rule edges.
3. Test rejected inputs
Uncheck the pack. Test blank, 0, 7 and 2.5; then enter valid 2 with the pack still off.
You should see: All four invalid inputs clear the result; 2 restores 16.
Rejection and recovery are both required behavior.
4. Package evidence
Record browser used, keyboard/pointer results and test outputs in calculator-tests.md. Save the original or your documented variation.
You should see: A reviewer can repeat the tests and understand the rule.
Do not claim server validation; this file never submits data.
What to finish
A working calculator, eight-case test record and short user instructions.
Watch for this
Calling client-side validation sufficient protection for a real ordering/payment service.
How can I tell I understand it?
Complete the changed case, explain your result, and pass the three application checks.
Quick knowledge check
Answer all 3 questions. Get at least 2 right and the lesson completes automatically.
You’ll get an explanation for each answer. Signed in? Your results save to your account.
Pass the check. We’ll save the progress.
Answer all 3 questions above and get at least 2 right. You can review the explanations and try again.
Go to the knowledge checkOptional course overview video · same video as Lesson 1
JavaScript DOM Crash Course - Part 1
From Traversy Media. Watch here or open it on YouTube .
Optional course overview. Follow the written steps below at your own pace.Tools, templates, and lesson sources
Tools and templates
Tools open in a new tab so you can keep your place here.
Sources and further reading
Explore the references behind this lesson.
Source & access notes · checked 2026-09-12
Opened and inspected on 2026-09-12: Listeners and event objects.
Access: Free public web page; no paid enrollment required.
Reuse: Public reference; link only. LifeStarter prose, exercises and files are independently authored.
Source & access notes · checked 2026-09-12
Opened and inspected on 2026-09-12: Element selection and text updates.
Access: Free public web page; no paid enrollment required.
Reuse: Public reference; link only. LifeStarter prose, exercises and files are independently authored.
Source & access notes · checked 2026-09-12
Opened and inspected on 2026-09-12: Input constraints and useful errors.
Access: Free public web page; no paid enrollment required.
Reuse: Public reference; link only. LifeStarter prose, exercises and files are independently authored.
Report a problem with this lesson
Tell us what went wrong. Please leave out personal information and private project contents.