Skip to content

rich1richard/finflow

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

2 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸ’Έ FinFlow β€” Modern Collaborative Finance Manager

FinFlow is a production-quality, installable Progressive Web App (PWA) designed for modern personal and shared finance management. Built with a focus on rich aesthetics, offline-first performance, and collaborative simulation.

FinFlow Logo

✨ Key Features

  • πŸ“± Full PWA Support: Installable on iOS, Android, and Desktop with offline caching via Service Workers.
  • 🀝 Collaboration Simulation: Switch between multiple local profiles to simulate shared accounts and money requests.
  • πŸ“Š Advanced Analytics: Interactive charts using Recharts for category distribution, monthly trends, and spending patterns.
  • ❀️ Financial Health Score: A dynamic 0–100 score based on savings rate, budget adherence, income regularity, and account diversity.
  • πŸ’‘ Smart Insights Engine: Automatically generates recommendations based on spending habits, budget thresholds, and positive streaks.
  • πŸ›‘οΈ Multi-Account Logic: Supports Bank, Wallet, Crypto, Card, Savings, Investment, and Cash accounts with specific modes (Locked, Input-only, Excluded from total).
  • πŸ“ Transaction CRUD: Full management of income, expenses, transfers, and reimbursements with tag support and atomic balance calculations.
  • 🎨 Premium UI/UX: Sleek dark mode, glassmorphism effects, smooth animations, and a curated color palette.

πŸ› οΈ Technology Stack

  • Core: React 18, TypeScript, Vite
  • Styling: Tailwind CSS (Class-based dark mode)
  • State Management: Zustand + Persist Middleware (localStorage)
  • Visualization: Recharts
  • Icons: Lucide React
  • Date Handling: date-fns
  • PWA: vite-plugin-pwa
  • Utilities: uuid, clsx

πŸš€ Getting Started

Prerequisites

  • Node.js (v18 or higher)
  • npm or yarn

Installation

  1. Clone the repository

    git clone https://github.com/rich1richard/finflow.git
    cd finflow
  2. Install dependencies

    npm install
  3. Run in development mode

    npm run dev

    The app will be available at http://localhost:5173.

Production Build

To build the project for production (and test PWA features):

npm run build
npm run preview

πŸ“‚ Project Structure

finflow/
β”œβ”€β”€ src/
β”‚   β”œβ”€β”€ components/       # Reusable UI components (Layout, Common, Feature-specific)
β”‚   β”œβ”€β”€ data/             # Seed data and constants
β”‚   β”œβ”€β”€ pages/            # Main route views (Dashboard, Analytics, etc.)
β”‚   β”œβ”€β”€ store/            # Zustand global state and CRUD logic
β”‚   β”œβ”€β”€ types/            # TypeScript interfaces and enums
β”‚   β”œβ”€β”€ utils/            # Calculations, formatters, and recommendations engine
β”‚   └── App.tsx           # Router and theme provider
β”œβ”€β”€ public/               # Static assets and PWA icons
└── tailwind.config.js    # Design system configuration

βš–οΈ License

Distributed under the MIT License. See LICENSE for more information.

About

πŸš€ A modern, collaborative, offline-first personal finance PWA built with React 18, TypeScript, and Tailwind CSS. Features full transaction CRUD, multi-account support, shared finances, financial health scoring, and a smart insights engine.

Topics

Resources

License

Stars

Watchers

Forks

Contributors

Languages