A modern, responsive web application for tracking personal expenses with data visualization and budget management features.
- Dashboard Overview: Real-time spending insights and budget progress
- Expense Management: Add, edit, and delete expenses with categorization
- Budget Tracking: Set monthly budgets with progress monitoring and alerts
- Data Visualization: Interactive charts showing spending patterns by category and time
- Offline Support: Local storage for data persistence without internet connection
- Responsive Design: Works seamlessly on desktop and mobile devices
- React - UI framework
- TypeScript - Type safety
- Tailwind CSS - Styling and design system
- Vite - Build tool and development server
- Recharts - Data visualization
- Radix UI - Accessible UI components
- Local Storage - Data persistence
- Node.js (v18 or higher)
- npm or yarn
- Clone the repository:
git clone <YOUR_GIT_URL>
cd <YOUR_PROJECT_NAME>- Install dependencies:
npm install- Start the development server:
npm run dev- Open your browser and navigate to
http://localhost:5173
- Set Your Budget: Click "Manage Budget" to set your monthly spending limit
- Add Expenses: Use the "Add Expense" button to record your spending
- Track Progress: Monitor your budget progress and spending patterns on the dashboard
- Analyze Spending: View charts to understand your spending habits by category
- Manage Data: Edit or delete expenses as needed
- Monthly spending summary
- Budget progress indicator
- Average expense calculation
- Quick access to recent transactions
- Food & Dining
- Transportation
- Shopping
- Entertainment
- Bills & Utilities
- Healthcare
- Other
- Pie chart for spending by category
- Bar chart for daily expense trends
- Budget progress bars
- Budget exceeded notifications
- Visual indicators for spending status
npm run dev- Start development servernpm run build- Build for productionnpm run preview- Preview production buildnpm run lint- Run ESLint
src/
├── components/
│ ├── ui/ # Reusable UI components
│ ├── Dashboard.tsx # Main dashboard
│ ├── ExpenseChart.tsx
│ ├── ExpenseList.tsx
│ └── ...
├── hooks/
│ └── useExpenseStore.ts # State management
├── pages/
│ └── Index.tsx
└── ...
The app uses the browser's local storage to persist data, ensuring your expense data remains private and accessible offline. Data includes:
- Expenses with amounts, categories, descriptions, and dates
- Budget settings
- Category preferences
This app can be deployed to any static hosting service:
- Build the project:
npm run build- Deploy the
distfolder to your hosting provider
- Fork the repository
- Create a feature branch
- Make your changes
- Submit a pull request
This project is open source and available under the MIT License.