Track your daily spending, monitor income vs expenses, and gain clear insights into your financial habits — all in one place.
🚀 Getting Started • ✨ Features • 🛠️ Tech Stack • 📁 Project Structure • 🤝 Contributing
| Feature | Description |
|---|---|
| 🏠 Home Dashboard | See total balance, income vs expenses at a glance with recent transactions |
| ➕ Add Expense | Log any expense with amount, category, date, notes & payment method |
| 💳 Payment Methods | Supports Cash, Credit Card, Debit Card, and Online payments |
| 📊 Spending Summary | Visual spending overview with month-over-month chart and category breakdown |
| 🗂️ Category Tracking | Auto-categorized spending (Food, Shopping, Transport, and more) |
| 🔐 Secure Auth | Email/Password login + Sign in with Google via Firebase Auth |
| 👤 User Profile | View your profile with name, email and one-tap logout |
| ☁️ Cloud Sync | Real-time data sync across devices powered by Firebase |
| 🌙 Dark Theme | Sleek, eye-friendly dark UI throughout the entire app |
| 📅 Date & Range Filter | Filter transactions by date range and category |
├── Language → Java
├── Platform → Android (Native)
├── Backend → Firebase (Authentication + Realtime Database / Firestore)
├── Build System → Gradle (Kotlin DSL)
└── Min SDK → Android 5.0+ (Lollipop)
Libraries & Tools:
- 🔥 Firebase Auth — User registration & login
- ☁️ Firebase Firestore / Realtime Database — Cloud data storage
- 🎨 Material Components — Modern Android UI
- 📦 JitPack — Third-party library resolution
- ⚙️ Google Services Plugin — Firebase integration
ExpenseTracker/
│
├── app/
│ └── src/
│ ├── main/
│ │ ├── java/ # Java source files (Activities, Adapters, Models)
│ │ ├── res/ # Layouts, drawables, strings, styles
│ │ └── AndroidManifest.xml
│ └── test/ # Unit tests
│
├── build.gradle.kts # Root Gradle config
├── settings.gradle.kts # Project settings & dependencies
└── gradle.properties # Gradle properties
- ✅ Android Studio (Hedgehog or later recommended)
- ✅ JDK 11 or above
- ✅ A Firebase project set up at console.firebase.google.com
1. Clone the repository
git clone https://github.com/Hemanshu4949/ExpenseTracker.git
cd ExpenseTracker2. Open in Android Studio
File → Open → Select the cloned folder
3. Configure Firebase
- Go to Firebase Console and create a new project
- Add an Android app with your package name
- Download
google-services.jsonand place it in theapp/directory
4. Sync & Run
Sync Gradle → Run on Emulator or Physical Device
⚠️ Make sure you have Google Play Services installed on your emulator/device for Firebase to work.
To point the app to your own Firebase backend:
- Replace
app/google-services.jsonwith your own from Firebase Console - Enable Email/Password Authentication in Firebase Auth settings
- Set up Firestore or Realtime Database rules as needed
Contributions, issues, and feature requests are welcome!
# Fork the repo, then:
git checkout -b feature/your-feature-name
git commit -m "Add: your feature description"
git push origin feature/your-feature-name
# Open a Pull Request 🎉Please make sure your code follows standard Java/Android conventions and is tested before submitting.
This project is open source. Feel free to use, modify, and distribute it.
Hemanshu Sojitra — @Hemanshu4949
⭐ If you found this project helpful, give it a star!
Made with ❤️ and Java for Android