A modern, responsive expense management application for tracking expenses, budgets, categories, and financial insights.
- React 19 + TypeScript
- Vite
- Tailwind CSS v4
- React Router DOM v6
- Axios
- React Hook Form + Zod
- Recharts
- Redux
- react-hot-toast (toast notifications)
- lucide-react (icons)
- Backend Repository: Expense Tracker API
npm installVITE_API_BASE_URL=http://localhost:8080
npm run devThe app will be available at http://localhost:5173.
- Login and signup pages backed by
/api/auth/loginand/api/auth/signup - JWT stored in
localStorage, attached to every request via an Axios request interceptor - Auto-login on page refresh (session restored from
localStorageon app load) - Global 401 handling: expired/invalid tokens clear the session and redirect to
/login ProtectedRoutecomponent guards all authenticated pages
- Total expense, current-month expense, and total transaction stat cards (
/api/analytics/summary) - Quick navigation cards to Expenses, Budgets, Analytics, Profile
- Paginated table (
/api/expenses) - Search by title (
/api/expenses/search) - Filter by category (
/api/expenses/category/{categoryId}) - Filter by date range (
/api/expenses/filter) - Budget-exceeded alerts surfaced as toasts when returned by the API
- List all budgets (
/api/budget) as cards showing category, month/year, and amount - Create new budgets, scoped to a category
- Category breakdown pie chart (
/api/analytics/category) - Monthly expense bar chart (
/api/analytics/monthly) - Summary stat cards (
/api/analytics/summary)
- View current user (
/api/users/me) - Update name, email, and optionally password (
PUT /api/users/me)
Built by Utkarsh Rastogi
⭐ Star the repository if you found it useful.