An open API service indexing awesome lists of open source software.

https://github.com/subhadro/financeflow


https://github.com/subhadro/financeflow

Last synced: 9 months ago
JSON representation

Awesome Lists containing this project

README

          

# 💰 FinanceFlow - AI-Powered Personal Finance Management Platform

![FinanceFlow Logo](https://img.shields.io/badge/FinanceFlow-AI%20Finance%20Platform-blue?style=for-the-badge&logo=react)

**A comprehensive full-stack personal finance management platform with AI-powered insights, real-time analytics, and intelligent budget tracking.**

[![Next.js](https://img.shields.io/badge/Next.js-15.5.3-black?style=flat-square&logo=next.js)](https://nextjs.org/)
[![React](https://img.shields.io/badge/React-18.3.1-blue?style=flat-square&logo=react)](https://reactjs.org/)
[![TypeScript](https://img.shields.io/badge/TypeScript-5.0-blue?style=flat-square&logo=typescript)](https://www.typescriptlang.org/)
[![Prisma](https://img.shields.io/badge/Prisma-6.16.1-2D3748?style=flat-square&logo=prisma)](https://www.prisma.io/)
[![Tailwind CSS](https://img.shields.io/badge/Tailwind_CSS-3.4.17-38B2AC?style=flat-square&logo=tailwind-css)](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
![Dashboard](https://via.placeholder.com/800x400/1e40af/ffffff?text=Dashboard+Overview)

### Transaction Management
![Transactions](https://via.placeholder.com/800x400/059669/ffffff?text=Transaction+Management)

### AI Receipt Scanning
![AI Features](https://via.placeholder.com/800x400/7c3aed/ffffff?text=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)