Next.js 14 application providing intelligent financial management with AI-powered insights, multi-account tracking, and real-time analytics.
- Key Features
- Tech Stack
- Getting Started
- Environment Variables
- Project Structure
- Deployment
- Contributing
- License
-
🤖 AI Financial Insights
- ✨ Receipt scanning with Google Gemini Vision API
- 🏷️ Automatic transaction categorization using ML models
- 📈 Predictive budget forecasting
- 🔍 Natural language query support
-
💸 Financial Management
- 📊 Real-time dashboard with interactive charts
- 🏦 Multi-account aggregation & reconciliation
- 🎯 Customizable budget categories and limits
- 🔎 Advanced transaction search/filter
- 📆 Recurring expense detection
- ⏱️ Instant spending notifications
-
🔒 Enterprise Security
- 🔑 Clerk authentication with JWT & MFA
- 🛡️ Role-based access control (RBAC)
- ⏲️ API rate limiting via ArcJet
- 🔄 Background processing with Inngest
- 📧 Secure notifications via Resend
- 🔐 End-to-end data encryption
-
🎨 Premium UX
- 📱 Mobile-first responsive design
- 🌓 Dark/light theme support
- ⚡ Instant search with debounced queries
- 📥 Bulk transaction imports (CSV/Excel)
- 🎛️ Customizable dashboard widgets
- 🔊 Sonner toast notifications
- Node.js 18+ & npm 9+
- PostgreSQL 15+
- Clerk account for authentication
- Google Gemini API key
- Resend API key for email
# Clone repository
git clone https://github.com/your-repo/ai-finance-platform.git
cd ai-finance-platform
# Install dependencies
npm install
# Setup environment
cp .env.example .env.local
Edit .env.local
with your credentials:
# Clerk Authentication
NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY=your_clerk_pub_key
CLERK_SECRET_KEY=your_clerk_secret_key
# Database
DATABASE_URL="postgresql://user:pass@localhost:5432/ai_finance?schema=public"
DIRECT_URL="postgresql://user:pass@localhost:5432/ai_finance"
# AI Services
GEMINI_API_KEY=your_google_ai_key
# Email
RESEND_API_KEY=your_resend_key
# Security
ARCJET_KEY=your_arcjet_key
# Run migrations
npx prisma migrate dev --name init
# Generate Prisma client
npx prisma generate
# Seed sample data (optional)
npm run seed
- Database setup:
npx prisma migrate dev --name init
- Seed initial data (optional):
npm run seed
- Start development server:
npm run dev
Variable | Description |
---|---|
DATABASE_URL |
PostgreSQL connection string |
DIRECT_URL |
Direct DB connection |
NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY |
Clerk frontend key |
CLERK_SECRET_KEY |
Clerk backend secret |
GEMINI_API_KEY |
Google AI API credentials |
RESEND_API_KEY |
Email service API key |
ARCJET_KEY |
Rate limiting service key |
Development mode:
npm run dev
Production build:
npm run build && npm start
ai-finance-platform/
├── app/ # Next.js app router routes
│ ├── (auth)/ # Authentication pages
│ ├── (main)/ # Authenticated user routes
│ ├── api/ # API endpoints
│ └── lib/ # Shared utilities
├── components/ # Reusable UI components
├── hooks/ # Custom React hooks
├── lib/ # Server-side libraries
├── prisma/ # Database schema & migrations
├── public/ # Static assets
└── actions/ # Server actions
MIT License - see LICENSE for details
Contributions welcome! Please follow:
- Fork the repository
- Create feature branch (
git checkout -b feature/AmazingFeature
) - Commit changes (
git commit -m 'Add some AmazingFeature'
) - Push to branch (
git push origin feature/AmazingFeature
) - Open a Pull Request