https://github.com/subhadro/financeflow
https://github.com/subhadro/financeflow
Last synced: 9 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/subhadro/financeflow
- Owner: Subhadro
- Created: 2025-09-14T15:11:29.000Z (9 months ago)
- Default Branch: main
- Last Pushed: 2025-09-15T06:16:23.000Z (9 months ago)
- Last Synced: 2025-09-15T06:28:46.841Z (9 months ago)
- Language: JavaScript
- Size: 1.94 MB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# 💰 FinanceFlow - AI-Powered Personal Finance Management Platform

**A comprehensive full-stack personal finance management platform with AI-powered insights, real-time analytics, and intelligent budget tracking.**
[](https://nextjs.org/)
[](https://reactjs.org/)
[](https://www.typescriptlang.org/)
[](https://www.prisma.io/)
[](https://tailwindcss.com/)
---
## 🎯 Project Overview
**FinanceFlow** is a modern, AI-powered personal finance management platform designed to help users take control of their financial lives. Built with cutting-edge technologies, it combines intuitive user experience with powerful backend processing to deliver real-time financial insights and automated budget management.
### 🌟 Key Highlights
- **🤖 AI-Powered Insights**: Leverages Google's Gemini AI for intelligent receipt scanning and financial recommendations
- **📊 Real-time Analytics**: Dynamic dashboards with interactive charts and financial metrics
- **�� Smart Notifications**: Automated budget alerts and financial insights via email
- **🔐 Enterprise Security**: Built-in protection against common web vulnerabilities
- **⚡ High Performance**: Optimized for speed with Next.js 15 and Turbopack
- **📱 Responsive Design**: Seamless experience across all devices
---
## ✨ Features
### 🏠 **Dashboard & Analytics**
- **Real-time Financial Overview**: Live updates of account balances and transaction summaries
- **Interactive Charts**: Beautiful visualizations using Recharts for spending patterns
- **Quick Actions**: One-click access to common financial tasks
- **Customizable Widgets**: Personalized dashboard layout
### �� **Account Management**
- **Multiple Account Types**: Support for checking, savings, and investment accounts
- **Transaction History**: Comprehensive transaction tracking with search and filtering
- **Account Analytics**: Detailed insights into spending patterns per account
- **Balance Tracking**: Real-time balance updates and historical trends
### 💰 **Transaction Management**
- **Smart Categorization**: AI-powered transaction categorization
- **Receipt Scanning**: Upload receipts for automatic transaction extraction using Gemini AI
- **Recurring Transactions**: Set up and manage recurring payments
- **Transaction Search**: Advanced filtering and search capabilities
### 📈 **Budget & Planning**
- **Intelligent Budgeting**: AI-suggested budget categories and limits
- **Spending Alerts**: Real-time notifications when approaching budget limits
- **Monthly Reports**: Comprehensive financial reports with AI-generated insights
- **Goal Tracking**: Set and monitor financial goals
### 🔐 **Security & Authentication**
- **Secure Authentication**: Powered by Clerk for enterprise-grade security
- **Data Protection**: Built-in security measures with Arcjet
- **Privacy First**: Your financial data stays private and secure
---
## ��️ Tech Stack
### **Frontend**
- **Framework**: Next.js 15.5.3 with App Router
- **UI Library**: React 18.3.1 with TypeScript
- **Styling**: Tailwind CSS 3.4.17
- **Components**: Radix UI + Shadcn/ui
- **Charts**: Recharts for data visualization
- **Icons**: Lucide React
### **Backend & Database**
- **Database**: PostgreSQL with Prisma ORM
- **Authentication**: Clerk for user management
- **API**: Next.js API Routes with Server Actions
- **Background Jobs**: Inngest for async processing
- **Email Service**: Resend for notifications
### **AI & External Services**
- **AI Processing**: Google Gemini AI for receipt scanning
- **Security**: Arcjet for web application security
- **Email**: Resend for transactional emails
- **Deployment**: Vercel (recommended)
### **Development Tools**
- **Package Manager**: npm
- **Code Quality**: ESLint + Prettier
- **Database Management**: Prisma Studio
- **Type Safety**: TypeScript throughout
---
## �� Quick Start
### Prerequisites
- Node.js 18+
- npm or yarn
- PostgreSQL database (or use provided Docker setup)
### Installation
1. **Clone the repository**
```bash
git clone https://github.com/yourusername/financeflow.git
cd financeflow
```
2. **Install dependencies**
```bash
npm install
```
3. **Set up environment variables**
```bash
cp .env.example .env.local
```
Fill in your environment variables:
```env
# Database
DATABASE_URL="postgresql://username:password@localhost:5432/financeflow"
DIRECT_URL="postgresql://username:password@localhost:5432/financeflow"
# Authentication (Clerk)
NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY=your_clerk_publishable_key
CLERK_SECRET_KEY=your_clerk_secret_key
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 Services
GEMINI_API_KEY=your_gemini_api_key
# Email Service
RESEND_API_KEY=your_resend_api_key
# Security
ARCJET_KEY=your_arcjet_key
```
4. **Set up the database**
```bash
npx prisma generate
npx prisma db push
```
5. **Start the development server**
```bash
npm run dev
```
6. **Open your browser**
Navigate to [http://localhost:3000](http://localhost:3000)
---
## �� Screenshots
### Dashboard Overview

### Transaction Management

### AI Receipt Scanning

---
## ��️ Architecture
```mermaid
graph TB
A[Client - Next.js 15] --> B[API Routes]
B --> C[Prisma ORM]
C --> D[PostgreSQL Database]
B --> E[Clerk Authentication]
B --> F[Inngest Background Jobs]
F --> G[Resend Email Service]
B --> H[Google Gemini AI]
B --> I[Arcjet Security]
J[User Interface] --> K[React Components]
K --> L[Tailwind CSS]
K --> M[Radix UI]
K --> N[Recharts]
```
---
## �� API Documentation
### Authentication Endpoints
- `POST /api/auth/signin` - User sign in
- `POST /api/auth/signup` - User registration
- `POST /api/auth/signout` - User sign out
### Transaction Endpoints
- `GET /api/transactions` - Get user transactions
- `POST /api/transactions` - Create new transaction
- `PUT /api/transactions/:id` - Update transaction
- `DELETE /api/transactions/:id` - Delete transaction
### Account Endpoints
- `GET /api/accounts` - Get user accounts
- `POST /api/accounts` - Create new account
- `PUT /api/accounts/:id` - Update account
---
## 📊 Performance Metrics
- **Lighthouse Score**: 95+ across all categories
- **First Contentful Paint**: < 1.5s
- **Largest Contentful Paint**: < 2.5s
- **Cumulative Layout Shift**: < 0.1
- **Time to Interactive**: < 3.0s
---
## 👨💻 Author
**Subhadro Samaddar**
- GitHub: [@subhadrosamaddar](https://github.com/Subhadro)
- LinkedIn: [Your LinkedIn](https://linkedin.com/in/subhadro-samaddar)
- Email: subhadrosamaddar@gmail.com
---
## 🙏 Acknowledgments
- [Next.js](https://nextjs.org/) for the amazing React framework
- [Clerk](https://clerk.com/) for authentication services
- [Prisma](https://www.prisma.io/) for database management
- [Tailwind CSS](https://tailwindcss.com/) for styling
- [Radix UI](https://www.radix-ui.com/) for accessible components
- [Google Gemini](https://ai.google.dev/) for AI capabilities
---
**⭐ Star this repository if you found it helpful!**
[⬆ Back to top](#-financeflow---ai-powered-personal-finance-management-platform)