Phase 2 is an in‑progress rewrite that modernises the UI, adopts React best practices, and sets the stage for powerful new features.
The React app under src/
is the actively maintained codebase. The original
vanilla JS implementation has been moved to docs/archive/
for reference.
Fresh UX / UI
Code Tightening
Feature Planning (see list below)
Category | Idea | Tech / Why It’s Cool |
---|---|---|
Data | Recurring transactions | CRON‑style recurrence, stored in state reducer |
Cloud sync | Supabase / Firebase; shows full‑stack chops | |
UI | Calendar view | React Big Calendar for “transaction timeline” |
Category budgets | Per‑category caps + progress rings | |
Drag‑and‑drop reorder | react-beautiful-dnd ; UX polish |
|
Reporting | Monthly PDF export | react‑pdf or serverless function |
Multi‑currency | Live FX rates API; currency switcher | |
Product | PWA offline support | Workbox; “Install” prompt on mobile |
Push notifications | Warn when approaching budget limit | |
Accessibility | Keyboard shortcuts | useHotkeys hook; WCAG focus management |
We’ll lock feature scope after the refactor is stable.
Item | Progress |
---|---|
React scaffold (CRA) | ✔ |
Dark‑mode toggle (sun / moon) | ✔ |
Transactions componentised | ✔ |
Context API state | ⏳ |
Unit‑test harness | ⏳ |
git checkout phase-2 # React branch
npm install
npm start # http://localhost:3000