A comprehensive personal finance analytics platform built with Next.js 15, featuring real-time data visualization, intelligent insights, and modern financial management tools.
FinanceFlow transforms complex financial data into actionable insights through beautiful, interactive dashboards. Whether you're tracking daily expenses, planning long-term goals, or analyzing investment performance, FinanceFlow provides the tools you need to make informed financial decisions.
- Real-time KPI Monitoring: Track balance, income, expenses, and savings rate with live updates
- Interactive Visualizations: Donut charts, bar graphs, calendar heatmaps, and trend lines
- AI-Powered Insights: Smart recommendations based on spending patterns and financial goals
- Comparative Analysis: Month-over-month and year-over-year financial comparisons
- Smart Categorization: Automatic transaction categorization with custom rules
- Advanced Search & Filtering: Fuzzy search with date range, amount, and category filters
- Bulk Operations: Edit, categorize, or export multiple transactions at once
- Receipt Management: Upload and link receipts to transactions
- Visual Progress Tracking: Animated progress rings and milestone indicators
- Smart Budget Allocation: AI-suggested budget categories based on spending history
- Goal Templates: Pre-built templates for common financial goals
- Achievement System: Gamified experience with badges and rewards
- Portfolio Overview: Real-time portfolio performance and allocation charts
- Asset Tracking: Individual stock, bond, and cryptocurrency monitoring
- Performance Analytics: ROI calculations, risk assessment, and diversification analysis
- Market Insights: Trend analysis and investment recommendations
- Payment Scheduling: Automated reminders for upcoming bills
- Payment History: Complete audit trail of all bill payments
- Budget Integration: Bills automatically integrated with budget planning
- Subscription Tracking: Monitor and manage recurring subscriptions
- Theme System: Light, Dark, and Fun themes with system preference detection
- Multi-language Support: English, French, and Arabic with RTL support
- Notification Preferences: Customizable alerts and reminders
- Data Export: CSV, PDF, and JSON export options for all financial data
- Responsive Layout: Optimized for all screen sizes and devices
- Touch-Friendly Interface: Gestures and interactions designed for mobile
- Offline Capability: Core features available without internet connection
- Progressive Web App: Install as native app on mobile devices
- Next.js 15 - React framework with App Router and Server Components
- TypeScript - Type-safe development with strict mode
- React 18 - Latest React features including Suspense and Concurrent Rendering
- Tailwind CSS 4 - Utility-first CSS framework with custom design system
- Radix UI - Unstyled, accessible component primitives
- Framer Motion - Production-ready motion library for React
- Recharts - Composable charting library built on React components
- Custom Chart Components - Specialized financial data visualizations
- ESLint & Prettier - Code linting and formatting
- Husky - Git hooks for quality assurance
- TypeScript Path Mapping - Clean import paths with
@/alias
- Node.js 18.0 or later
- npm, yarn, pnpm, or bun
# Clone the repository
git clone https://github.com/yourusername/financeflow.git
cd financeflow
# Install dependencies
npm install
# Start development server
npm run devOpen http://localhost:3000 in your browser to see the application.
financeflow/
βββ src/
β βββ app/ # Next.js App Router
β β βββ analytics/ # Advanced analytics page
β β βββ bills/ # Bill management
β β βββ goals/ # Financial goals
β β βββ investments/ # Portfolio tracking
β β βββ settings/ # User preferences
β β βββ support/ # Help & documentation
β β βββ transactions/ # Transaction management
β β βββ layout.tsx # Root layout
β β βββ page.tsx # Dashboard homepage
β βββ components/
β β βββ ui/ # Base UI components
β β βββ AppShell.tsx # Navigation & layout
β β βββ DashboardOverview.tsx
β β βββ AnalyticsPanels.tsx
β β βββ GoalsAndBudgets.tsx
β β βββ TransactionsAndReports.tsx
β βββ lib/
β β βββ utils.ts # Utility functions
β β βββ hooks/ # Custom React hooks
β βββ types/ # TypeScript definitions
βββ public/ # Static assets
βββ package.json
- Dashboard (
/) - Main financial overview with KPIs and charts - Transactions (
/transactions) - Detailed transaction management - Goals (
/goals) - Financial goal setting and tracking - Investments (
/investments) - Portfolio management - Bills (
/bills) - Bill tracking and payment scheduling - Analytics (
/analytics) - Advanced financial analytics - Settings (
/settings) - Application preferences - Support (
/support) - Help center and documentation
βKorCtrl+K- Open command paletteTab/Shift+Tab- Navigate between elementsEnter/Space- Activate buttons and controlsEsc- Close modals and overlays
Toggle between three professionally designed themes:
- Light - Clean, professional appearance for daytime use
- Dark - Eye-friendly design for extended sessions
- Fun - Vibrant, engaging colors for a playful experience
# Development
npm run dev # Start development server
npm run build # Build for production
npm run start # Start production server
npm run lint # Run ESLint
npm run type-check # Run TypeScript compiler
# Testing
npm run test # Run test suite
npm run test:watch # Run tests in watch mode
npm run test:coverage # Generate coverage reportCreate a .env.local file in the root directory:
# Optional: Analytics and monitoring
NEXT_PUBLIC_ANALYTICS_ID=your_analytics_id
# Optional: Error reporting
SENTRY_DSN=your_sentry_dsnWe maintain high code quality standards:
- TypeScript strict mode enabled
- ESLint with Next.js and accessibility rules
- Prettier for consistent code formatting
- Husky pre-commit hooks for quality checks
- Conventional Commits for clear commit messages
FinanceFlow uses a custom design system built on Tailwind CSS:
- Primary: Teal (
#2ed3b7) for main actions and highlights - Secondary: Warm orange (
#f0b289) for accents and secondary actions - Success: Green (
#22c55e) for positive financial indicators - Warning: Yellow (
#f4c76b) for alerts and cautionary messages - Danger: Red (
#ef5a7a) for negative values and critical alerts
- Headings: Plus Jakarta Sans (600, 700 weights)
- Body: Inter (400, 500, 600, 700 weights)
- Optimized for readability across all screen sizes
- WCAG 2.1 AA compliant color contrast ratios
- Keyboard navigation for all interactive elements
- Screen reader optimized with proper ARIA labels
- Reduced motion support for users with motion sensitivity
We welcome contributions from the community! Please read our Contributing Guide for details on our development process and code of conduct.
- Fork the repository
- Create a feature branch:
git checkout -b feature/amazing-feature - Make your changes with tests
- Commit using conventional commits:
git commit -m 'feat: add amazing feature' - Push to your branch:
git push origin feature/amazing-feature - Submit a pull request
- Write tests for new features
- Update documentation for API changes
- Follow the existing code style and patterns
- Ensure accessibility compliance
- Test across different browsers and devices
FinanceFlow is optimized for performance:
- Lighthouse Score: 95+ across all metrics
- Bundle Size: Optimized with code splitting and tree shaking
- First Contentful Paint: < 1.5s on 3G networks
- Time to Interactive: < 3s on average hardware
- No sensitive data stored in localStorage
- XSS protection with Content Security Policy
- Secure headers configured in Next.js
- Input validation on all user inputs
- HTTPS enforced in production
This project is licensed under the MIT License. See the LICENSE file for details.
Special thanks to the open source community and these amazing projects:
- Next.js - The React framework for production
- Tailwind CSS - Utility-first CSS framework
- Radix UI - Low-level UI primitives
- Framer Motion - Motion library for React
- Recharts - Charting library for React
- π§ Email: stylebenderkh@gmail.com
- π Website: https://finflow-dashboard.vercel.app/
Built with β€οΈ by Khaldi Yacine
Making personal finance accessible, intelligent, and enjoyable for everyone.