中文 | English
MoneyKeeper Vue is the web frontend for the MoneyKeeper platform. It started as a personal bookkeeping app and has now grown into a ledger-based workspace for records, categories, budgets, notifications, exports, search, collaboration, and billing.
- Ledger-based workspace with platform navigation
- Dedicated pages for budgets, notifications, export jobs, statistics, search, and ledger members
- Cloudflare Workers deployment support with SPA routing
- Docker image build and push pipeline on
main - Stripe billing flow updated to backend-driven checkout sessions
- Record income and expense entries
- Category-based filtering and summaries
- Monthly accounting dashboard
- Editable records and categories
- Ledger list and current ledger context
- Ledger-scoped categories
- Ledger budgets and budget rules
- Ledger statistics and search
- Ledger members and invite flows
- Notification center with unread state
- Export job tracking and downloads
- Stripe billing pages
- SSE-powered realtime status updates
/accounting— accounting dashboard/ledgers— ledger center/ledgers/:ledgerId/members— ledger members and invites/categories— ledger category management/budgets— ledger budgets/statistics— ledger statistics/search— record search/exports— export jobs/notifications— notification center/billing— billing and checkout/login— authentication
- Vue 3
- Vue Router
- Pinia
- Element Plus
- Axios
- ECharts / Vue-ECharts
- Tailwind CSS
- Vue CLI
- Node.js 18+
- npm 9+
npm installnpm run servenpm run lintnpm run buildThe frontend uses different base URLs for REST API and SSE in production.
- REST API:
/api - SSE:
/api
- REST API: configured through runtime/env
- SSE: configured through runtime/env
- Cloudflare Workers handles SPA routing
See:
- Frontend state uses
income/expense - Records and categories should also send
income/expenseto the backend - When backend documents change, check
C:\WorkSpace\Java\moneykeeper-back\FRONTEND_API.mdbefore updating request/response mapping
GitHub Actions builds and pushes a Docker image on main.
Workflow:
- install dependencies
- run lint
- run production build
- build and push Docker image
See:
src/
api/
mappers/
modules/
components/
composables/
constants/
router/
stores/
utils/
views/
- polish the ledger workspace UX
- keep frontend mappings aligned with the backend handoff
- continue cleanup of legacy copy and encoding issues
- prepare for future i18n adoption