Overview
BudgetView is a modern full-stack application that requires:- Node.js runtime for the Next.js server
- Supabase account for authentication and PostgreSQL database
- Environment variables to connect to your Supabase project
Installation takes approximately 10-15 minutes, including Supabase project setup.
Prerequisites
Before you begin, ensure your system meets these requirements:System Requirements
Node.js
Version: 18.x or higher (25.x recommended)Verify installation:
npm
Version: Automatically installed with Node.jsVerify installation:
Git
Required for: Cloning the repositoryVerify installation:
Text Editor
Recommended: VS Code, Cursor, or any code editorFor editing
.env.local configurationOperating System Support
- macOS
- Windows
- Linux
Supported Versions: macOS 10.15 (Catalina) or laterInstall Node.js via Homebrew:
Internet connection required for downloading dependencies and connecting to Supabase cloud services.
Step 1: Clone the Repository
Get the BudgetView source code from GitHub:Step 2: Install Dependencies
BudgetView uses npm to manage its dependencies. Install all required packages:Frontend Dependencies
Frontend Dependencies
- next (16.0.3) - React framework with App Router
- react (19.2.0) - UI library
- react-dom (19.2.0) - React DOM rendering
- tailwindcss (4.x) - Utility-first CSS framework
- lucide-react (0.553.0) - Icon library
UI Component Libraries
UI Component Libraries
- @radix-ui/react-dialog - Accessible dialog components
- @radix-ui/react-dropdown-menu - Dropdown menus
- @radix-ui/react-popover - Popover components
- @radix-ui/react-select - Select dropdowns
- react-day-picker (9.11.3) - Date picker
Backend & Database
Backend & Database
- @supabase/supabase-js (2.81.1) - Supabase client for authentication and database
Data Visualization
Data Visualization
- recharts (3.4.1) - Chart library for dashboard analytics
Utilities
Utilities
- date-fns (4.1.0) - Date manipulation
- jspdf (3.0.4) - PDF generation for exports
- clsx & tailwind-merge - Conditional CSS class merging
Step 3: Set Up Supabase
BudgetView uses Supabase for:- User authentication (email/password and OAuth)
- PostgreSQL database storage
- Row Level Security (RLS) for data privacy
Create a Supabase Account
- Go to supabase.com
- Click “Start your project”
- Sign up with GitHub, Google, or email
- Verify your email if required
Create a New Project
- Click “New Project” in your Supabase dashboard
- Fill in the project details:
- Name: BudgetView (or your preferred name)
- Database Password: Generate a strong password and save it securely
- Region: Choose the closest region to your users
- Pricing Plan: Free tier is sufficient for development
- Click “Create new project”
Project creation takes 1-2 minutes. You’ll see a loading screen while Supabase provisions your database.
Configure Database Tables
BudgetView requires specific database tables and RLS policies. You have two options:- Option A: SQL Editor (Recommended)
- Option B: Automatic Migration
Execute the schema creation script in Supabase SQL Editor:
- Go to SQL Editor in your Supabase dashboard
- Click “New query”
- Run the following SQL to create required tables:
- Click “Run” to execute the script
Step 4: Configure Environment Variables
BudgetView requires environment variables to connect to your Supabase project.Create .env.local File
In the root directory of your project, create a new file named Or create it manually in your file explorer.
.env.local:Add Supabase Credentials
Open Replace the values with your actual credentials from Step 3.
.env.local in your text editor and add:Environment Variable Reference
| Variable | Description | Where to Find | Required |
|---|---|---|---|
NEXT_PUBLIC_SUPABASE_URL | Your Supabase project URL | Project Settings → API → Project URL | ✅ Yes |
NEXT_PUBLIC_SUPABASE_PUBLISHABLE_KEY | Anon/public API key | Project Settings → API → anon public key | ✅ Yes |
Step 5: Run the Application
Now you’re ready to start BudgetView!Development Mode
For local development with hot-reload:The development server starts on port 3000 by default. If this port is in use, Next.js will automatically try the next available port (3001, 3002, etc.).
Production Mode
For production deployment:Build the Application
- Compiles TypeScript to JavaScript
- Optimizes React components
- Generates static pages where possible
- Creates production bundles
Custom Port Configuration
To run on a different port:- macOS/Linux
- Windows (PowerShell)
- Windows (CMD)
Verify Installation
Confirm everything is working correctly:Test Authentication
Try creating a new account:
- Click “Regístrate” (Sign up)
- Enter an email and password
- Submit the form
- Check for the verification email
- Click “Continúa con Google”
- Select your Google account
- Verify you’re redirected to the dashboard
Troubleshooting
Error: Cannot find module 'next'
Error: Cannot find module 'next'
Solution: Dependencies not installed.
Error: Invalid Supabase URL or key
Error: Invalid Supabase URL or key
Cause: Environment variables not set correctly.Solution:
- Verify
.env.localexists in the project root - Check for typos in variable names (must be exact)
- Ensure values are correct from your Supabase dashboard
- Restart the dev server after changes:
Port 3000 already in use
Port 3000 already in use
Solution: Another application is using port 3000.Option A - Use a different port:Option B - Find and stop the conflicting process:
TypeScript errors during build
TypeScript errors during build
Solution: Ensure you’re using compatible Node.js and npm versions.Update if necessary:
Supabase connection timeout
Supabase connection timeout
Causes:
- Network firewall blocking Supabase API
- Corporate proxy interfering
- Supabase project paused (free tier inactivity)
- Check Supabase project status in dashboard
- Verify internet connection
- Test Supabase connectivity:
- Check for proxy settings that need configuration
Database schema errors
Database schema errors
Solution: Re-run the database migration SQL.
- Go to Supabase SQL Editor
- Delete existing tables (if present):
- Re-run the complete schema creation SQL from Step 3
Next Steps
Now that BudgetView is running:Quickstart Guide
Learn how to create your first wallet and transaction
Feature Documentation
Explore all BudgetView features in detail
API Reference
Understand the database schema and Supabase queries
Deployment Guide
Deploy BudgetView to Vercel, Netlify, or your own server
Additional Resources
- Next.js Documentation - Learn about the framework
- Supabase Documentation - Database and auth setup
- BudgetView GitHub - Source code and issues
- Technical Manual - Advanced configuration
Development Scripts Reference
Available npm scripts defined inpackage.json:
