Premium Personal Finance Management
A sophisticated, mobile-first financial companion built with React 19, Supabase, and Tailwind CSS 4.
The latest version introduces powerful tools for advanced financial control:
- 📱 PWA & Mobile-First — Optimized for mobile use with offline support and "Install to Home Screen" capability.
- 🕵️ Privacy Mode — Hide sensitive financial data with a single click, perfect for public or shared environments.
- 🏦 Immersive Bank Import — A three-step wizard for CSV imports with automatic category mapping and real-time preview.
- 📤 Data Portability — Full export of transactions to CSV, allowing you to manage your data outside the platform.
- 🎯 Savings Goals — Set, track, and achieve your financial milestones with visual progress indicators.
- 🌍 Multi-language & Legal — Full support for English and Portuguese, including dedicated Terms of Use and Privacy Policy pages.
- 📊 Optimized Dashboard — Real-time analytics powered by PostgreSQL RPCs, ensuring instant updates and accurate balance tracking.
- 🔐 Enhanced Security — Robust authentication flow including password recovery and mobile-optimized login views.
- 🌓 Adaptive Theme — Full support for Light and Dark modes with fluid Framer Motion transitions.
| Core | Styles & Motion | Logic & Data |
|---|---|---|
| React 19 | Tailwind CSS 4 | Supabase (DB & Auth) |
| TypeScript | Framer Motion | Zod (Validation) |
| Vite 7 | Lucide Icons | React Hook Form |
| Recharts | Sonner (Toasts) | Vitest (Testing) |
- Node.js 20 or higher
- NPM or Yarn
- A Supabase account
-
Clone & Install
git clone https://github.com/davydfontourac/expense-tracker.git cd expense-tracker npm install -
Environment Configuration Create a
.envfile and add your Supabase credentials:VITE_SUPABASE_URL=https://your-project.supabase.co VITE_SUPABASE_ANON_KEY=your-anon-key-here
-
Database Migration Apply the SQL scripts in
supabase/migrationsto your Supabase project to enable dashboard RPCs and savings features. -
Launch Development Server
npm run dev
We maintain high standards through automated testing and analysis:
# Execute unit tests
npm run test:run
# Open visual test dashboard
npm run test:ui
# Generate code coverage report
npm run test:coverageexpense-tracker/
├── src/
│ ├── components/ # High-performance UI components
│ ├── context/ # State management (Auth, Theme, Privacy)
│ ├── hooks/ # Domain logic & custom hooks
│ ├── pages/ # Full-page views
│ ├── services/ # Infrastructure (Supabase)
│ └── utils/ # Schemas and helper functions
├── supabase/
│ └── migrations/ # Database schema and logic
└── public/ # PWA assets & static files