BudgetLens is a modern, interactive financial dashboard built with Next.js and shadcn/ui that helps users visualize and analyze their financial data through intuitive charts and filters.
- Credit Karma Integration:
- Compatible with the CSV export from the Credit Karma Transaction Extractor Chrome Extension for easy data import
- Visualize and analyze your Credit Karma transaction history
- Data Visualization:
- Monthly spending trends chart
- Category breakdown pie chart
- Key financial metrics cards
- Draggable UI elements
- Transaction Management:
- CSV file import support
- Searchable transaction table
- Filter by category, vendor, and transaction type
- First, use the Credit Karma Transaction Extractor Chrome extension to export your transaction data
- The extension will generate CSV files containing your transaction history
- Import these CSV files directly into BudgetLens
- Your Credit Karma transactions will be automatically visualized in the dashboard
- Frontend: Next.js 14, React, TypeScript
- UI Components: shadcn/ui, Tailwind CSS
- Charts: Recharts
- Drag and Drop: @dnd-kit/core
- Data Handling: CSV parsing and manipulation
-
Prerequisites:
- Node.js 18+
- PostgreSQL
- npm or yarn
-
One-Click Local Setup:
# Make the setup script executable (first time only) chmod +x setup.sh # Run the setup script ./setup.sh
The setup script will:
- Check system prerequisites
- Create
.envfile - Install dependencies
- Setup database (migrations and seed)
- Start the development server
-
Manual Setup Alternative: If you prefer manual steps:
# Install dependencies npm install # Setup database npx prisma generate npx prisma migrate dev npx prisma db seed # Start development server npm run dev
-
Open Browser: Navigate to
http://localhost:3000
-
Prerequisites:
- Docker
- Docker Compose
-
Clone the Repository:
git clone https://github.com/cbangera2/BudgetLens.git cd BudgetLens -
Configure Environment:
- Copy
.env_exampleto.env - No additional configuration needed - default credentials are pre-configured
- Copy
-
Build and Run with Docker:
docker compose up --build
This will:
- Build the Next.js application
- Start a PostgreSQL database with default credentials
- Database:
budget_lens_db - Username:
budget_lens_user - Password:
budget_lens_password
- Database:
- Run database migrations
- Seed initial data
- Start the application on
http://localhost:3000
- Environment Variables:
DATABASE_URL: PostgreSQL connection stringPOSTGRES_USER: Database usernamePOSTGRES_PASSWORD: Database password
- The Docker setup includes:
- Multi-stage build for optimized image
- Automatic database migrations
- Database seeding
- Production-ready configuration
- Ensure Docker is running with sufficient resources
- Check Docker logs for any startup issues
- Verify environment variable configurations
-
Upload Data:
- Use the CSV upload button to import your transaction data
- Sample data is provided for demonstration
-
Customize Dashboard:
- Drag and drop widgets to arrange your preferred layout
- Toggle between light and dark modes
- Use filters to analyze specific transaction types or categories
-
Analyze Data:
- View spending trends over time
- Analyze category-wise expenditure
- Search and filter transactions
Contributions are welcome! Please feel free to submit a Pull Request.
- Export Filtered Data to CSV
- Multiple Currency Support
- Income vs Expenses Analysis
- Transaction Categories Management (Add/Edit/Delete)
- Data Persistence with Database Integration
- User Authentication
- Mobile Responsive Optimizations
- Recurring Transaction Detection
- Custom Dashboard Layouts Save/Load
- Financial Insights and Recommendations
- Dark Mode / Light Mode Toggle (v0.2)
- Date Range Filter for Transactions (v0.2)
- Budget Goal Setting and Tracking (v0.2)
- Add New Transaction UI (v0.2)
- Monthly Budget vs Actual Comparison (v0.2)
- Added docker installation support
- Created install script for local setup
- Fixed TypeScript errors
- Added ability to add new UI elements
- Added ability to create custom graphs (WIP)
- Added Filter Bar and CSV Import as draggable and deletable components
- Added working data labels to graphs
- Added ability to customize label color in graphs
- Added customizable width and height for graphs
- Added dynamic switching between chart types such as Bar (Vertical), Bar (Horizontal), Line, Pie, and Area
- Added better graph color schemes
- Added table enhancements:
- Sorting functionality for all columns
- Edit, copy, and delete actions for transactions
- Added test coverage
- Added filtering by date range
- Enhanced financial visualization:
- Expanded metrics display (expenses, income, savings) across all graphs
- New monthly financial trends graph for better tracking
- Added delete card functionality
- Added dark mode support with system preference detection
- Enhanced draggable and editable metrics cards
- Customizable graph settings and chart preferences
- Budget goals tracking with progress indicators
- Reorganized UI elements and added draggable cards for improved dashboard layout
- Initial dashboard layout
- Transaction table with search and filters
- CSV import functionality
- Basic charts:
- Monthly spending trends
- Category breakdown
- Key financial metrics
- Credit Karma Transaction Extractor - Chrome extension to export Credit Karma transaction data
- Developed by Chirag Bangera
- Built with shadcn/ui
