A React + Vite expense tracking app with live currency conversion via Frankfurter.app. Live Demo: https://expense-tracker-drab-gamma-90.vercel.app/
expense-tracker/
├── index.html
├── package.json
├── vite.config.js
├── SUBMISSION_NOTE.md
└── src/
├── main.jsx
├── App.jsx
├── App.css
└── components/
├── ExpenseForm.jsx
├── ExpenseList.jsx
├── SummaryPanel.jsx
└── CurrencyConverter.jsx
- Node.js 18+ installed
# 1. Install dependencies
npm install
# 2. Start dev server
npm run dev
# 3. Open http://localhost:5173npm run build
# Output goes to /dist- Push this project to a GitHub repository.
- Go to vercel.com and click Add New Project.
- Import your GitHub repo.
- Vercel auto-detects Vite — leave all settings as default.
- Click Deploy. Your live URL will be ready in ~1 minute.
- Push to GitHub.
- Go to netlify.com → Add new site → Import from Git.
- Set build command:
npm run build - Set publish directory:
dist - Click Deploy site.
- Add expenses with name, amount (USD), and category
- Delete any expense entry
- Running total that updates live
- Category breakdown with proportional bars
- Live currency conversion (EUR, GBP, INR, JPY, CAD, AUD) via Frankfurter.app
- Graceful loading and error states for the currency API
- Fully responsive: 1600px desktop and 414px mobile
- React 18 with Vite
- Plain CSS (no UI library)
- Frankfurter.app for exchange rates
- React hooks only:
useState,useEffect