A modern, responsive expense tracking web application built with React and Firebase. Manage your personal finances, track expenses, and visualize your spending patterns with an intuitive user interface.
- 🔐 User authentication (Sign up/Login)
- 💰 Add, edit, and delete expenses
- 📊 Visualize expenses with interactive charts
- 📱 Fully responsive design
- 🔄 Real-time data synchronization
- 📂 Categorized expenses
- 📅 Filter expenses by date
- 📈 Monthly/Yearly expense reports
- Frontend: React.js
- State Management: React Context API
- Styling: CSS Modules
- Authentication: Firebase Authentication
- Database: Firebase Firestore
- Animation: GSAP (GreenSock Animation Platform)
- Build Tool: Vite
-
Clone the repository
git clone https://github.com/your-username/expense-tracker-web.git cd expense-tracker-web/expense -
Install dependencies
npm install
-
Set up Firebase
- Create a new Firebase project at Firebase Console
- Enable Authentication (Email/Password)
- Create a Firestore database
- Create a
.envfile in the root directory and add your Firebase config:VITE_FIREBASE_API_KEY=your-api-key VITE_FIREBASE_AUTH_DOMAIN=your-project-id.firebaseapp.com VITE_FIREBASE_PROJECT_ID=your-project-id VITE_FIREBASE_STORAGE_BUCKET=your-project-id.appspot.com VITE_FIREBASE_MESSAGING_SENDER_ID=your-messaging-sender-id VITE_FIREBASE_APP_ID=your-app-id
-
Run the development server
npm run dev
-
Open in browser The application should be running at http://localhost:5173
src/
├── components/ # Reusable UI components
├── context/ # React context providers
├── firebase/ # Firebase configuration and utilities
├── gsap/ # Animation configurations
├── hooks/ # Custom React hooks
├── pages/ # Page components
├── styles/ # Global styles and themes
└── utils/ # Utility functions
Run the test suite with:
npm testnpm run buildThis will create an optimized production build in the dist directory.
The app is ready to be deployed to Firebase Hosting:
-
Install Firebase CLI if you haven't already:
npm install -g firebase-tools
-
Login to Firebase:
firebase login
-
Initialize Firebase Hosting:
firebase init
-
Deploy to Firebase:
npm run build firebase deploy
Contributions are welcome! Please feel free to submit a Pull Request.
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add some amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
Your Name - @yourtwitter - your.email@example.com
Project Link: https://github.com/your-username/expense-tracker-web