0%

Skip to content

Capstone: ship Smart Ledger

Advanced~50 min0/5 steps

Assemble the product

This capstone starts empty—there is no fake ledger. A real user adds their own transactions. The app validates and normalizes input, stores amounts as agorot, persists locally, derives KPIs, filters rows, deletes entries, and exports a JSON backup.

The export is a real artifact. The storage is real browser storage. The only limitation is deliberate: this learning project never connects to a bank and never asks for banking credentials.

Instructions

1

Implement loadTransactions and saveTransactions using localStorage and JSON.

Hint: Restore [] on parse failure; stringify transactions on every mutation.

2

Validate and normalize input in createTransaction.

3

Render KPIs and filtered rows from the transactions array.

4

Implement add and delete flows, saving after each mutation.

5

Export a real JSON backup with Blob and URL.createObjectURL.

Your Code

html
5 lines
1
2
3
4
5

Live Preview

Live Preview