Track โข Manage โข Analyze Your Expenses
TrackIt is a modern Android application designed to help users track, manage, and analyze their daily expenses efficiently.
Built using Kotlin and Jetpack Compose, the app focuses on simplicity, clarity, and performance while following clean MVVM architecture.
Android โข Kotlin โข Jetpack Compose โข MVVM โข Firebase Auth โข Room (Planned)
๐ฅ Download APK โข โจ Features โข ๐ธ Screenshots โข ๐ฅ Demo โข โ๏ธ Installation
TrackIt helps users maintain a clear overview of their daily spending by allowing them to record, categorize, and review expenses in a simple and intuitive way.
The app includes secure authentication (Email/Password & Google Sign-In) and is designed with scalability in mind, making it suitable for future enhancements such as cloud sync and analytics.
This project was built as a resume-grade / internship assignment project, focusing on modern Android best practices rather than just UI implementation.
- Login & Sign-up using Email & Password
- Google Sign-In using Firebase Authentication
- Secure and user-friendly onboarding flow
- Add, update, and delete expense records
- Category-wise expense tracking:
- Food
- Travel
- Shopping
- Bills
- Others
- View total spending at a glance
- Clean list of expenses
- Category-based organization
- Real-time UI updates using state management
- Fully built with Jetpack Compose
- Uses Material Design 3
- Responsive layout for different screen sizes
- Clean spacing, typography, and consistent colors
| Login Screen | Sign Up Screen | Empty State |
|---|
| Home Screen | Add Expense |
|---|
๐บ Watch TrackIt in action:
Demo includes:
- App launch & authentication flow
- Adding an expense
- Expense list updates
- Category selection
- Overall app walkthrough
| Component | Technology |
|---|---|
| Language | Kotlin |
| UI | Jetpack Compose |
| Design System | Material 3 |
| Architecture | MVVM |
| State Management | State Hoisting / UDF |
| Authentication | Firebase Auth (Email & Google) |
| Navigation | Navigation Compose |
| Local Storage | Room Database (Planned) |
| Build System | Gradle (Kotlin DSL) |
TrackIt follows Clean MVVM architecture with a clear separation between UI, data, and navigation layers. The structure is designed to be scalable, testable, and easy to maintain.
TrackIt/
โโโ app/
โ โโโ src/
โ โ โโโ main/
โ โ โ โโโ kotlin/
โ โ โ โ โโโ com/
โ โ โ โ โโโ practice/
โ โ โ โ โโโ trackit/
โ โ โ โ
โ โ โ โ โโโ component/
โ โ โ โ โ โโโ GoogleButton.kt
โ โ โ โ
โ โ โ โ โโโ data/
โ โ โ โ โ โโโ model/
โ โ โ โ โ โ โโโ Expense.kt
โ โ โ โ โ โโโ repository/
โ โ โ โ โ โโโ ExpenseRepository.kt
โ โ โ โ
โ โ โ โ โโโ ui/
โ โ โ โ โ โโโ auth/
โ โ โ โ โ โ โโโ AuthState.kt
โ โ โ โ โ โ โโโ AuthViewModel.kt
โ โ โ โ โ โ โโโ LoginScreen.kt
โ โ โ โ โ โ โโโ SignupScreen.kt
โ โ โ โ โ โ โโโ SplashScreen.kt
โ โ โ โ โ โ
โ โ โ โ โ โโโ dashboard/
โ โ โ โ โ โ โโโ DashboardScreen.kt
โ โ โ โ โ โ โโโ DashboardViewModel.kt
โ โ โ โ โ โ โโโ EmptyExpenseStateScreen.kt
โ โ โ โ โ โ
โ โ โ โ โ โโโ expense/
โ โ โ โ โ โ โโโ AddExpenseScreen.kt
โ โ โ โ โ โ
โ โ โ โ โ โโโ navigation/
โ โ โ โ โ โ โโโ AppNavGraph.kt
โ โ โ โ โ โ โโโ AppRoutes.kt
โ โ โ โ โ โ
โ โ โ โ โ โโโ theme/
โ โ โ โ โ โโโ Color.kt
โ โ โ โ โ โโโ Theme.kt
โ โ โ โ โ โโโ Type.kt
โ โ โ โ
โ โ โ โ โโโ MainActivity.kt
โ โ โ โ
โ โ โ โโโ res/
โ โ โ โโโ AndroidManifest.xml
โ โ โ
โ โ โโโ androidTest/
โ โ โโโ test/
โ โ
โ โโโ build.gradle.kts
โ โโโ proguard-rules.pro
โ
โโโ gradle/
โโโ gradle.properties
โโโ gradle-wrapper.properties
โโโ settings.gradle.kts
โโโ libs.versions.toml
โโโ local.properties
- Clear separation of concerns
- Lifecycle-aware UI
- Easy to test and maintain
- Scalable for future backend integration
- Input validation for expense amount and category
- Graceful empty states (no expenses yet)
- User-friendly error messages
- Loading indicators for async operations
- No unnecessary permissions
- App respects user privacy
- Authentication handled securely via Firebase
- ๐พ Offline storage using Room Database
- โ๏ธ Cloud sync with backend
- ๐ Expense analytics with charts
- ๐ Dark mode support
- ๐ค Export expenses as PDF / CSV
git clone https://github.com/CodeWithSangeeta/TrackIt
cd trackit




