A fully functional Expense Tracker built with React. This project covers React fundamentals and walks through building, managing, and deploying a real-world application.
This app allows users to:
- Add income and expense transactions
- Edit and delete transactions
- Reset all data
- View balance updates in real time
- Store data in Local Storage
- Fetch data from an API
- Visualize data using charts
- Navigate between multiple pages
- Deploy the project live on Vercel
- Add transactions (income/expense)
- Edit existing transactions
- Delete transactions
- Reset all data
- Automatic balance calculation
- Total income
- Total expenses
- Current balance
- Recent transactions list
- Data visualization with charts
- Multiple pages using React Router
- Active navigation highlight
- Custom 404 page
- useNavigate for programmatic navigation
- Local Storage integration
- API data fetching
- Form validation
- Null safety checks
- Dynamic UI updates
- Styled with CSS
- React Icons integration
- Modal implementation
- Clean and responsive layout
- Deployed on Vercel
- React
- React Router
- React Hooks (useState, useEffect)
- React Charts
- Local Storage
- JavaScript (ES6+)
- CSS
- Vercel (Deployment)
- React prerequisites
- JSX
- Virtual DOM
- Components
- Props & data flow
- State management with
useState - Lifecycle methods
useEffecthook
- API fetching
- Form handling & validation
- Conditional rendering
- Mapping arrays
- Programmatic navigation
- Charts integration
- Error handling
- App testing
- Deployment process
src/
│
├── components/
├── pages/
├── assets/
├── App.js
├── main.js
└── index.css
- Clone the repository:
git clone <your-repo-link>
- Navigate to the project folder:
cd expense-tracker
- Install dependencies:
npm install
- Start the development server:
npm run dev
- Open in browser:
http://localhost:5173
npm run build
The app is deployed using Vercel.
Steps:
- Push project to GitHub
- Import repository into Netlify
- Deploy
- Get live URL