Thanks to visit codestin.com
Credit goes to github.com

Skip to content

mjawaids/financeflow

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

17 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

FinanceFlow - Personal Finance Manager

A modern, feature-rich personal finance application built with React, TypeScript, and Tailwind CSS. Track expenses, manage budgets, and achieve your financial goals with an intuitive interface that works offline.

FinanceFlow

โœจ Features

๐Ÿ” Authentication

  • Email/password authentication
  • Secure user registration and login
  • Protected routes and user sessions

๐Ÿ’ฐ Financial Management

  • Multiple Account Types: Bank accounts, cash, mobile wallets, credit cards, investments
  • Transaction Types: Expenses, income, and transfers between accounts
  • Smart Categories: Pre-built expense and income categories with custom icons
  • Budget Wallets: Create wallets with spending limits (monthly or one-time)
  • Real-time Balance Updates: Account balances update automatically with transactions

๐Ÿง  Smart Input

  • Natural Language Processing: Enter transactions like "200 #Cash @Grocery eggs bread today"
  • Auto-parsing: Extracts amount, account, category, description, and date from natural text
  • Date Recognition: Supports "today", "tomorrow", "2nd June", "June 1st" formats
  • Quick Entry: Dropdown suggestions for accounts (#) and categories (@)

๐Ÿ“Š Analytics & Insights

  • Dashboard Overview: Monthly income/expense stats, total balance, account summaries
  • Visual Charts: Beautiful graphs and statistics
  • Historical Data: View balance at any point in time
  • Monthly Reports: Track spending patterns and financial health

๐Ÿ“ฑ Progressive Web App (PWA)

  • Offline Support: Full functionality without internet connection
  • Installable: Add to home screen on mobile and desktop
  • Background Sync: Automatically syncs data when connection is restored
  • Service Worker: Caches resources for optimal performance

๐ŸŽจ Modern UI/UX

  • Beautiful Design: Modern aesthetics with gradients and smooth animations
  • Dark/Light Mode: Toggle between themes with system preference detection
  • Responsive: Optimized for all screen sizes
  • Accessibility: Built with accessibility best practices

๐Ÿ”ง Advanced Features

  • Multi-currency Support: Handle different currencies for international accounts
  • Data Export/Import: CSV import/export functionality
  • Transaction Templates: Save frequently used transaction patterns
  • Recurring Transactions: Set up automatic recurring payments
  • Search & Filter: Find transactions quickly with advanced filtering

๐Ÿš€ Getting Started

Prerequisites

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

Installation

  1. Clone the repository

    git clone https://github.com/yourusername/financeflow-app.git
    cd financeflow-app
  2. Install dependencies

    npm install
  3. Start the development server

    npm run dev
  4. Open your browser Navigate to http://localhost:5173

Building for Production

npm run build

The built files will be in the dist directory.

๐Ÿ—๏ธ Tech Stack

  • Frontend: React 18, TypeScript
  • Styling: Tailwind CSS
  • Icons: Lucide React
  • Routing: React Router DOM
  • Build Tool: Vite
  • PWA: Service Worker, Web App Manifest
  • State Management: React Context API
  • Storage: LocalStorage (with future database integration planned)

๐Ÿ“ Project Structure

src/
โ”œโ”€โ”€ components/          # React components
โ”‚   โ”œโ”€โ”€ Dashboard.tsx    # Main dashboard
โ”‚   โ”œโ”€โ”€ TransactionForm.tsx # Transaction entry form
โ”‚   โ”œโ”€โ”€ AccountsPage.tsx # Account management
โ”‚   โ”œโ”€โ”€ CategoriesPage.tsx # Category management
โ”‚   โ”œโ”€โ”€ WalletsPage.tsx  # Wallet/budget management
โ”‚   โ”œโ”€โ”€ SettingsPage.tsx # User settings
โ”‚   โ””โ”€โ”€ ...
โ”œโ”€โ”€ contexts/           # React contexts
โ”‚   โ”œโ”€โ”€ AuthContext.tsx # Authentication state
โ”‚   โ”œโ”€โ”€ DataContext.tsx # Application data
โ”‚   โ””โ”€โ”€ ThemeContext.tsx # Theme management
โ”œโ”€โ”€ utils/             # Utility functions
โ”‚   โ””โ”€โ”€ transactionParser.ts # Natural language parsing
โ””โ”€โ”€ ...

๐ŸŽฏ Usage Examples

Natural Language Transaction Entry

"200 #Cash @Grocery eggs bread today"
โ†’ Amount: 200, Account: Cash, Category: Grocery, Description: eggs bread, Date: today

"2nd June @Salary #Bank 5000 monthly salary"
โ†’ Amount: 5000, Account: Bank, Category: Salary, Description: monthly salary, Date: June 2nd

"50 @Food lunch yesterday"
โ†’ Amount: 50, Category: Food, Description: lunch, Date: yesterday

Account Types

  • Bank Account: Traditional bank accounts
  • Cash: Physical cash management
  • Mobile Wallet: Digital wallets (PayPal, Venmo, etc.)
  • Credit Card: Credit card tracking
  • Investment: Investment account monitoring

Transaction Types

  • Expense: Money going out
  • Income: Money coming in
  • Transfer: Moving money between your accounts

๐Ÿ”ฎ Roadmap

  • Database integration (Supabase/Firebase)
  • Social authentication (Google, Apple)
  • Advanced analytics and reporting
  • Bill reminders and notifications
  • Receipt scanning and OCR
  • Investment tracking
  • Multi-user support (family accounts)
  • API integrations (bank connections)

๐Ÿค Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

  1. Fork the project
  2. Create your feature branch (git checkout -b feature/AmazingFeature)
  3. Commit your changes (git commit -m 'Add some AmazingFeature')
  4. Push to the branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

๐Ÿ“„ License

This project is licensed under the MIT License - see the LICENSE file for details.

๐Ÿ‘จโ€๐Ÿ’ป Author

Created by Jawaid - Jawaid.dev

๐Ÿ™ Acknowledgments

  • Icons by Lucide
  • UI inspiration from modern fintech applications
  • Built with love for the open-source community

FinanceFlow - Take control of your finances with style! ๐Ÿ’ฐโœจ