A personal finance dashboard to track income, expenses and spending patterns.
Built as part of the Zorvyn Frontend Developer Intern screening assignment.
- React (Vite)
- Plain CSS
- Recharts
- Overview dashboard with total balance, income and expenses
- Balance trend chart and spending breakdown by category
- Transactions list with search, filter by type and category, and sorting
- Add new transactions via a modal form (Admin only)
- Delete transactions (Admin only)
- Switch between Admin and Viewer role — Viewer gets read-only access
- Insights page with highest spending category, average monthly expense, largest transaction and monthly comparison chart
git clone https://github.com/Bhavishya07-Tech/FinFlow.git
cd finflow
npm install
npm run devOpen http://localhost:5173 in your browser.
src/ ├── App.jsx — all components, logic and state └── App.css — all styles
- All data is mock/static — no backend or API needed
- State is managed using React's built-in useState hook
- Role switching is frontend only — simulated for demonstration
- Tried to keep the code simple and readable