A personal budgeting app built with Next.js, Clerk authentication, and Supabase for secure, per-user data storage. Features include:
- User authentication with Clerk
- Per-user budgets, expenses, and income (Supabase RLS enforced)
- JWT-based access control
- Interactive charts and tables for financial visualization
- Modern, responsive UI
- Install dependencies:
npm install
- Set up your
.env.localwith your Supabase and Clerk credentials (see below). - Run the development server:
npm run dev
- Open http://localhost:3000 in your browser.
NEXT_PUBLIC_SUPABASE_URL=your_supabase_url
NEXT_PUBLIC_SUPABASE_ANON_KEY=your_supabase_anon_key
NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY=your_clerk_publishable_key
CLERK_SECRET_KEY=your_clerk_secret_key
NEXT_PUBLIC_CLERK_SIGN_IN_URL=/login
NEXT_PUBLIC_CLERK_SIGN_UP_URL=/signup
NEXT_PUBLIC_CLERK_AFTER_SIGN_IN_URL=/dashboard
NEXT_PUBLIC_CLERK_AFTER_SIGN_UP_URL=/dashboard
src/app/— Main app pages (budgets, expenses, income, goals, etc.)src/components/— UI components and context providerssrc/utils/supabase/— Supabase client and server utilities
- All user data is protected by Supabase Row Level Security (RLS) policies.
- Clerk JWTs are used for secure, per-user access.