FinanceFlow

Intelligent Personal Finance Assistant with AI & Subscription System

Thank you for purchasing FinanceFlow. This application is a state-of-the-art personal finance management tool styled with a premium UI and powered by Google's Gemini AI. It helps users track expenses, plan budgets, and get intelligent financial advice.

🔥 Key Features

🤖

AI Financial Assistant

Built-in AI Chatbot powered by Gemini to answer financial questions, analyze spending, and provide personalized tips.

💳

Subscription System

Complete SaaS flow with Stripe integration. Includes Basic, Pro, and Enterprise plans with feature gating.

📊

Smart Analytics

Beautiful interactive charts for income, expenses, net worth, and category breakdowns.

🎯

Budgets & Goals

Set monthly budgets and long-term savings goals. The AI Coach helps users stay on track.

📈

Investments

Track stocks, crypto, and assets. Get AI-driven portfolio analysis and risk assessments.

🔔

Smart Notifications

Automated alerts for bill reminders, budget overruns, and subscription expirations.

💻 Server Requirements

  • PHP >= 8.2
  • MySQL >= 5.7 or MariaDB >= 10.3
  • Composer >= 2.0
  • Node.js >= 18.0
  • BCMath PHP Extension
  • Ctype PHP Extension
  • JSON PHP Extension

🚀 Installation Guide

Follow these steps to get FinanceFlow running in minutes.

1. Unzip and Upload

Extract the downloaded zip file and upload the contents to your server.

2. Install Dependencies

composer install
npm install

3. Environment Setup

Copy the example environment file:

cp .env.example .env
php artisan key:generate

4. Database Setup

Create a database and update your .env file:

DB_DATABASE=your_database_name
DB_USERNAME=your_username
DB_PASSWORD=your_password

5. Migration & Seeding

php artisan migrate --seed
Note: The seeder creates a default admin account: admin@example.com / password

⚙️ Configuration

Gemini AI Setup

  1. Get your API key from Google AI Studio.
  2. Add it to your .env file:
GEMINI_API_KEY=your_api_key_here

Stripe Payment Setup

  1. Get your API keys from the Stripe Dashboard.
  2. Create 3 Products (Basic, Pro, Enterprise) in Stripe.
  3. Add the keys and Price IDs to .env:
STRIPE_KEY=pk_test_...
STRIPE_SECRET=sk_test_...
STRIPE_WEBHOOK_SECRET=whsec_...

STRIPE_BASIC_PRICE_ID=price_...
STRIPE_PRO_PRICE_ID=price_...
STRIPE_ENTERPRISE_PRICE_ID=price_...

⏰ Cron Jobs (Scheduler)

For bill reminders and subscription expiration emails to work, you must add the following Cron entry to your server:

* * * * * cd /path-to-your-project && php artisan schedule:run >> /dev/null 2>&1

This runs every minute and triggers the built-in Laravel scheduler.

🆘 Support

If you encounter any issues or have questions, please verify the following first:

  • Check the storage/logs/laravel.log file for errors.
  • Ensure all .env variables are set correctly (clear cache with php artisan config:clear).

For further assistance, please contact our support team via our Profile Page.