Val Town is a collaborative website to build and scale JavaScript apps.
Deploy APIs, crons, & store data β all from the browser, and deployed in milliseconds.
A full-stack expense tracker built with React + Hono + SQLite on Val Town.
- Add expenses β amount, description, category, and date
- Summary cards β total spending, this month's total, transaction count
- Category breakdown β visual bars showing spending by category
- Filter by category β clickable chips to filter the expense list
- Delete expenses β remove entries with one click
- Persistent storage β all data saved in val-scoped SQLite
Click the val's HTTP endpoint URL to open the app in your browser.
Rendering mermaid diagram...
index.ts β Hono backend (serves frontend + API routes)
frontend/
index.html β HTML shell (loads Twind + React)
index.tsx β React entrypoint
favicon.svg β App icon
components/
App.tsx β Root layout, data fetching, state
SummaryCards.tsx β Total / this month / transaction count
ExpenseForm.tsx β Add new expense form
ExpenseList.tsx β Expense list with category filter + delete
CategoryBreakdown.tsx β Spending by category with progress bars
| Method | Route | Description |
|---|---|---|
| GET | /api/expenses | List all expenses |
| POST | /api/expenses | Create a new expense |
| DELETE | /api/expenses/:id | Delete an expense |
| GET | /api/stats | Summary stats + category totals |