Take control of your finances with a beautiful, minimalist approach
Features • Demo • Quick Start • Tech Stack • Contributing
🎤 Voice Commands - Add transactions by simply speaking. Say "Gasté 5000 pesos en el super" and we'll do the rest.
📊 Visual Reports - Beautiful charts and graphs to understand your spending patterns and trends.
🐷 Savings Goals - Set and track savings goals with progress visualization and contribution tracking.
💱 Multi-Currency - Support for USD, ARS, and EUR with automatic exchange rate conversion using Dolar API.
🔐 Secure - Your data is encrypted and protected with JWT authentication.
📱 Mobile Ready - Fully responsive design that works on any device.
🚧 Demo coming soon!
- Node.js 18.x or higher
- pnpm 8.x or higher
- PostgreSQL database (or Supabase account)
# Clone the repository
git clone https://github.com/Fransaya/personalfinance.git
cd personalfinance
# Install dependencies
pnpm install
# Set up environment variables
cp .env.example .env.local
# Edit .env.local with your configuration
# Run database migrations
# (See database/schema-sql-personalfinance-app.txt for schema)
# Start the development server
pnpm devOpen http://localhost:3000 in your browser.
| Variable | Description | Required |
|---|---|---|
DATABASE_URL |
PostgreSQL connection string | ✅ |
JWT_SECRET |
Secret key for JWT tokens | ✅ |
JWT_EXPIRES_IN |
Token expiration (e.g., 7d) |
✅ |
EXCHANGE_RATE_API_URL |
Exchange rate API URL | ❌ |
OPENAI_API_KEY |
OpenAI API key for voice processing | ❌ |
NEXT_PUBLIC_APP_URL |
Public app URL | ❌ |
| Category | Technology |
|---|---|
| Framework | Next.js 16 (App Router) |
| Language | TypeScript 5 |
| Styling | Tailwind CSS 4 |
| UI Components | Radix UI |
| Charts | Recharts |
| Database | PostgreSQL |
| ORM | node-postgres (pg) |
| Authentication | JWT with bcryptjs |
| Validation | Zod |
| Package Manager | pnpm |
personalfinance/
├── src/
│ ├── app/ # Next.js App Router
│ │ ├── (auth)/ # Authentication pages
│ │ ├── (dashboard)/ # Protected dashboard pages
│ │ └── api/ # API routes
│ ├── components/ # Reusable UI components
│ ├── hooks/ # Custom React hooks
│ ├── lib/ # Utilities and configurations
│ └── types/ # TypeScript type definitions
├── database/ # Database schema and migrations
├── public/ # Static assets
└── ...config files
We love contributions! Please read our Contributing Guide to get started.
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'feat: add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
Please make sure to read our Code of Conduct.
This project is licensed under the MIT License - see the LICENSE file for details.
- Dolar API for providing exchange rate data for Argentine peso
- Radix UI for accessible UI components
- Lucide Icons for beautiful icons
Made with ❤️ by the Minimalist Wealth community
⭐ Star this repo if you find it useful!