(https://drive.google.com/drive/folders/1VG2Ji5vwvJSC1kK86bzp-p-vV-WDMzRm?usp=sharing)
The SmarteX Expense Tracker is a mobile application designed to help users track, analyze, and manage their personal finances efficiently.
It provides manual and automatic expense tracking, allowing users to input their expenses manually or extract transaction details automatically using Machine Learning (ML) from SMS notifications.
The app offers data visualization tools like pie charts and line graphs to provide users with insights into their spending habits.
By integrating budgeting tools, it promotes better financial discipline and helps users achieve their financial goals.
Built using Flutter, it ensures smooth performance on Android devices.
git clone https://github.com/Anandboy/project-SmarteX
cd project-SmarteX/personal-expense-trackerNOTE-The folder code represents our individual contributions and integrated one is the folder personal-expense-tracker so navigate to that folder
Ensure you have Flutter installed. Then, install dependencies using:
flutter pub getAlternatively, you can manually install dependencies by downloading requirements.txt and adding the following dependencies inside pubspec.yaml:
dependencies:
flutterfire:
firebase_core: ^3.10.1
firebase_auth: ^5.4.1
cloud_firestore: ^5.6.2
cupertino_icons: ^1.0.8
permission_handler: ^11.0.1
shared_preferences: ^2.2.2
intl: ^0.18.0
fl_chart: ^0.67.0
flutter_local_notifications: ^17.0.0Run the following command after adding dependencies:
flutter pub get- Open Android Studio.
- Select Open an Existing Project.
- Navigate to the
personal_expense_trackerfolder and open it. - Ensure Flutter and Dart plugins are installed.
- Open Android Studio's AVD Manager.
- Create and launch an Android Virtual Device (AVD).
- Ensure USB debugging is enabled if using a real device.
Run the following command in the terminal:
flutter runYou can also select the device and run it via Run > Run 'main.dart' inside Android Studio.
- Manual Entry: Users can manually log expenses with details like amount, category, and description.
- Automated SMS Extraction: Uses Machine Learning (ML) to extract expense details from bank SMS notifications.
- Pie Chart: Displays expense distribution across categories.
- Users can set financial goals and track budgets.
- Alerts notify users when they exceed budget limits.
- Firebase Authentication for secure login.
- Encrypted data storage to protect financial information.
personal_expense_tracker/lib/
│── main.dart # Entry point of the app
│── login_screen.dart # Login screen UI
│── sign_up.dart # User registration screen
│── auth_service.dart # Firebase authentication logic
│── auth_gate.dart # Handles auth-based navigation
│── firebase_options.dart # Firebase configuration
│── homescreen.dart # Main dashboard
│── manualscreen.dart # Manual expense entry screen
│── automaticscreen.dart # Automated SMS expense extraction
│── chartsscreen.dart # Visualization of expenses
│── alertsscreen.dart # Alerts and notifications
│── appvalidator.dart # Input validation logic
For issues and contributions, visit the GitHub Repository.
- Flutter – Frontend UI development.
- Firebase Firestore – Cloud database for storing user expenses.
- Firebase Authentication – Secure user login.
- Machine Learning (ML) – Extracts transaction details from SMS.
- fl_chart Library – Generates pie charts & line graphs for visual analytics.
- ML Model for SMS classification.
- Firebase for real-time database management.