Capstone: ship Smart Ledger
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.
안내
Implement loadTransactions and saveTransactions using localStorage and JSON.
힌트: Restore [] on parse failure; stringify transactions on every mutation.
Validate and normalize input in createTransaction.
Render KPIs and filtered rows from the transactions array.
Implement add and delete flows, saving after each mutation.
Export a real JSON backup with Blob and URL.createObjectURL.
내 코드
이 단계에서 만들고 싶은 것을 설명해 주시면 코드를 작성해 드릴게요 — 그다음 적용을 클릭하면 에디터에 바로 들어갑니다. 이 단계: Implement loadTransactions and saveTransactions using localStorage and JSON.