Simple spending tracker app - Just tap if you spent money today, see spending patterns. Built with Vue 3 and Supabase.
Track Daily Spending
- Tap button to log spending
- Choose categories or skip them
- See your spending patterns
- Works on any device
That's it. No signup, no complexity.
Visit the live app: SpendCheck App
- Node.js 18+ and npm
- Supabase account
-
Clone the repository
git clone https://github.com/laminko/SpendCheck.git cd SpendCheck -
Install dependencies
npm install
-
Set up Supabase
- Follow the detailed instructions in
SUPABASE_SETUP.md - Create your
.envfile:cp .env.example .env # Edit .env with your Supabase credentials
- Follow the detailed instructions in
-
Start development server
npm run dev
-
Open your browser
- Visit
http://localhost:5173
- Visit
Frontend: Vue 3 + TypeScript + Ionic Vue
Backend: Supabase (PostgreSQL + Real-time)
Build: Vite
Deploy: Vercel
Mobile: Capacitor (iOS/Android ready)
21 supported currencies including USD, EUR, GBP, JPY, THB, and more.
View full list β
Live App: spend-check-eta.vercel.app
Auto-deploys from main branch to Vercel. Build locally with npm run build.
- Fork the repo
- Create feature branch:
git checkout -b feature/name - Commit changes:
git commit -m "feat: description" - Push and create PR
Use TypeScript, Vue 3 Composition API, and test on mobile.
npm run dev # Start dev server
npm run build # Build for production
npm run typecheck # Check TypeScriptComprehensive Playwright test suite with 40+ automated tests covering:
- Navigation & Page Loading - URL routing, initial state, responsive design
- Spending Entry - Form validation, data persistence, dialog interactions
- Authentication - Guest mode, email sign-in, OAuth detection
- Settings & Currency - Currency picker, feature gating, app configuration
- History & Analytics - Transaction history, data consistency, charts
npm run test # Run all tests (headless)
npm run test:headed # Run with browser visible
npm run test:ui # Interactive test runner
npm run test:debug # Debug mode with breakpoints
npm run test:report # View HTML test report-
Add test credentials to
.env.developmentor.env.production:TEST_LOGIN_EMAIL=your-test-email@example.com TEST_LOGIN_PASSWORD=your-test-password
-
Run specific test suites:
npm run test tests/01-navigation.spec.ts # Navigation tests npm run test tests/02-spending-entry.spec.ts # Spending functionality npm run test tests/03-authentication.spec.ts # Auth flow (requires credentials)
Note: Authentication tests skip gracefully if TEST_LOGIN_EMAIL and TEST_LOGIN_PASSWORD are not configured.
MIT License - see LICENSE file.