A comprehensive expense tracking web application built with vanilla JavaScript and Firebase, designed specifically for Indian users with full INR currency support.
- Smart Authentication: Email/Password login
- Real-time Transactions: Add, edit, and delete income/expense transactions
- Budget Management: Set category-wise budgets with real-time tracking
- Visual Insights: Interactive charts and analytics with Chart.js
- Indian Currency Support: Full ₹ INR formatting and localization
- Responsive Design: Works perfectly on desktop, tablet, and mobile
- Secure: Firebase Authentication with user data isolation
- Frontend: HTML5, CSS3, Vanilla JavaScript
- Backend: Firebase (Authentication + Firestore)
- Charts: Chart.js
- Icons: Font Awesome 6.1.1
- Fonts: Google Fonts (Poppins & Inter)
git clone <your-repo-url>
cd FinMate- Go to Firebase Console
- Create a new project or use an existing one
- Enable Authentication (Email/Password)
- Create a Firestore database
- In your project, open
js/firebase-config.jsand paste your Firebase config object as provided by Firebase.
Since this is a client-side only application, you can:
Option 1: Simple HTTP Server
# If you have Python installed
python -m http.server 8000
# If you have Node.js installed
npx serve .
# If you have PHP installed
php -S localhost:8000Option 2: VS Code Live Server
- Install "Live Server" extension in VS Code
- Right-click on
index.html - Select "Open with Live Server"
- Landing Page: Visit
index.htmlto see the landing page - Sign Up: Create an account with your email address
- Dashboard: View your financial overview
- Transactions: Add/manage your income and expenses
- Budgeting: Set monthly budgets for different categories
- Insights: View charts and analytics of your spending
- Profile: Manage your account and view advanced analytics
- Firebase security rules for user data isolation
- Client-side input validation
- Secure authentication with Firebase Auth
FinMate/
├── index.html # Landing page
├── assets/
│ └── logo.svg
├── css/ # Stylesheets
├── html/ # Application pages
├── js/
│ ├── firebase-config.js # Firebase setup
│ └── utils.js # Utility functions
└── README.md
- Sign up or log in to Vercel at vercel.com.
- Import your repository:
- Click "New Project" and select your GitHub repo.
- Configure the project:
- For "Framework Preset" select Other.
- Set the output/public directory to the project root (leave blank if
index.htmlis in the root).
- Deploy:
- Click Deploy and wait for the build to finish.
- Vercel will provide a live URL (e.g.,
https://finmate-yourname.vercel.app).
All Firebase Authentication and Firestore features will work as expected after deployment.
# Install Firebase CLI
npm install -g firebase-tools
# Login to Firebase
firebase login
# Initialize Firebase in your project
firebase init hosting
# Deploy
firebase deployOther supported deployment options:
- Netlify
- GitHub Pages
- Any static hosting service
- Fork the repository
- Create a feature branch
- Make your changes
- Test thoroughly
- Submit a pull request
This project is licensed under the MIT License.
Built with ❤️ for smart financial management