A full-stack AI-powered finance management platform built with Next.js, Tailwind CSS, Prisma, Clerk, Inngest, and more. This application helps users manage their finances, track expenses, set budgets, and get AI-powered insights.
- User authentication with Clerk
- Dashboard with financial insights and visualizations
- Transaction management with AI receipt scanning
- Account management
- Budget tracking and alerts
- Recurring transactions
- Monthly financial reports
- Responsive design with Tailwind CSS and Shadcn UI
- Node.js 18.17.0 or later
- PostgreSQL database
- Clerk account for authentication
- Google Gemini API key for AI features
- Resend account for email functionality
- ArcJet account for security
git clone <repository-url>
cd ai-finance-platform
To install dependencies, use one of the following commands:
# Option 1: Using legacy peer dependencies flag (recommended for this project)
npm install --legacy-peer-deps
# Option 2: Using force flag
npm install --force
Note: This project requires specific versions of React and React DOM (19.0.0-rc-66855b96-20241106) to work with Next.js 15.0.3. The flags above help resolve dependency conflicts.
Create a .env
file in the root directory with the following variables:
# Database Configuration
DATABASE_URL=postgresql://username:password@localhost:5432/finance_platform
DIRECT_URL=postgresql://username:password@localhost:5432/finance_platform
# Clerk Authentication
NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY=pk_test_***
CLERK_SECRET_KEY=sk_test_***
NEXT_PUBLIC_CLERK_SIGN_IN_URL=/sign-in
NEXT_PUBLIC_CLERK_SIGN_UP_URL=/sign-up
NEXT_PUBLIC_CLERK_AFTER_SIGN_IN_URL=/dashboard
NEXT_PUBLIC_CLERK_AFTER_SIGN_UP_URL=/dashboard
# AI Features
GEMINI_API_KEY=your_gemini_api_key
# Email Service
RESEND_API_KEY=your_resend_api_key
# Security
ARCJET_KEY=your_arcjet_key
Run the following command to create and apply database migrations:
npx prisma migrate dev
This will create the necessary tables in your PostgreSQL database.
npx prisma generate
This command is also automatically run during the installation process.
npm run dev
The application will be available at http://localhost:3000.
npm run build
npm start
-
Email Development: To test email templates locally
npm run email
-
Linting: To check code quality
npm run lint
- Frontend: Next.js, React, Tailwind CSS, Shadcn UI
- Backend: Next.js API Routes, Prisma ORM
- Database: PostgreSQL
- Authentication: Clerk
- AI Features: Google Gemini AI
- Email: Resend
- Background Jobs: Inngest
- Security: ArcJet
/app
: Next.js application routes and components/components
: Reusable UI components/lib
: Utility functions and shared code/prisma
: Database schema and migrations/public
: Static assets/actions
: Server actions for data operations