A modern, responsive web application for tracking personal finances with dark mode support and advanced data visualization.
- Modern UI with Dark Mode: Sleek interface with light/dark theme support
- Transaction Management: Add, view, and delete income and expense transactions
- Dashboard Overview: Visual summary of income, expenses, and balance
- Daily Highlights: See today's spending compared to daily averages
- Time Filters: View transactions by day, week, month, or all time
- Category Analysis: Visualize spending patterns by category
- PDF Reports: Generate and download detailed financial reports
- Responsive Design: Works on desktop, tablet, and mobile devices
- Local Storage: Data persists between sessions using browser storage
- Next.js: React framework for production
- TypeScript: Type-safe JavaScript
- Tailwind CSS: Utility-first CSS framework
- jsPDF: PDF generation library
- Local Storage API: Browser-based data persistence
finance-manager/
├── src/
│ ├── app/
│ │ ├── globals.css # Global styles and design system
│ │ ├── layout.tsx # Root layout with theme provider
│ │ └── page.tsx # Main application page
│ │
│ ├── components/
│ │ ├── Dashboard.tsx # Main dashboard component
│ │ ├── DashboardOverview.tsx # Financial overview section
│ │ ├── Header.tsx # App header with theme toggle
│ │ ├── ReportGenerator.tsx # PDF report generation
│ │ ├── Summary.tsx # Financial summary cards
│ │ ├── ThemeProvider.tsx # Dark/light mode context
│ │ ├── ThemeToggle.tsx # Theme switcher button
│ │ ├── TransactionFilters.tsx # Time-based filters
│ │ ├── TransactionForm.tsx # Form for adding transactions
│ │ └── TransactionList.tsx # List of transactions with delete
│ │
│ └── env.d.ts # TypeScript environment declarations
│
├── public/ # Static assets
├── tailwind.config.js # Tailwind CSS configuration
├── package.json # Project dependencies and scripts
└── README.md # Project documentation
- Node.js (v16 or later)
- npm
-
Clone the repository
git clone https://github.com/JoyTarafder/finance-manager.git cd finance-manager -
Install dependencies
npm install
-
Run the development server
npm run dev
-
Open in browser Open http://localhost:3000 in your browser to see the application
The application uses a comprehensive design system with:
- Color Variables: Primary, accent, success, error, and warning colors
- Dark/Light Mode: Complete theme support with custom CSS variables
- Component Classes: Reusable UI components like cards, buttons, and badges
- Animations: Subtle animations for improved user experience
- Glass Morphism: Modern glass effect for UI components
- Add transactions with description, amount, category, and date
- View transactions in a chronological list
- Delete transactions as needed
- Data persists in browser's local storage
- View total income, expenses, and current balance
- See recent transactions at a glance
- Analyze top spending categories with percentage breakdown
- Visual representation of financial data
- Filter transactions by:
- All time (default)
- Today
- This week
- This month
- Dashboard updates dynamically based on selected filter
- Generate three types of reports:
- Summary Report: High-level overview of finances
- Detailed Transactions: Complete list of transactions
- Category Analysis: Breakdown of spending by category
- Choose time period for reports:
- Current filter
- This month
- This year
- Download professional PDF documents with tables and insights
- User adds transactions via the transaction form
- Transactions are stored in local storage
- Dashboard components read transaction data and display summaries
- User can filter data by time periods
- User can generate PDF reports based on all or filtered data
- Manages dark/light mode state
- Detects system preference on initial load
- Persists theme preference in local storage
- Provides UI for selecting time periods
- Filters transaction data based on selection
- Updates all dashboard components with filtered data
- Creates PDF reports using jsPDF and jspdf-autotable
- Formats financial data into professional tables
- Adds financial insights based on data analysis
- Manages report generation state
- Cloud Sync: Add user accounts and cloud storage
- Recurring Transactions: Support for automated recurring entries
- Budgeting: Set and track spending budgets by category
- Data Import/Export: Support for CSV import and export
- Financial Goals: Set and track savings goals
- Advanced Analytics: More charts and financial projections
- Multi-Currency Support: Handle multiple currencies and conversions
This project is licensed under the MIT License - see the LICENSE file for details.
Built with ❤️ using Next.js and Tailwind CSS
