https://github.com/siddiqui145/expense_tracker
A comprehensive expense management application built with Firebase integration for secure data storage and user authentication. Includes a bar chart visualization for categorizing spending and a responsive interface to add, edit, and remove expenses across predefined categories. Authentication and secure storage of expense data, Add, remove, etc.
https://github.com/siddiqui145/expense_tracker
bar-chart cloud-firestore dart expense-tracker firebase-auth flutter responsive-layout simple-app
Last synced: 3 days ago
JSON representation
A comprehensive expense management application built with Firebase integration for secure data storage and user authentication. Includes a bar chart visualization for categorizing spending and a responsive interface to add, edit, and remove expenses across predefined categories. Authentication and secure storage of expense data, Add, remove, etc.
- Host: GitHub
- URL: https://github.com/siddiqui145/expense_tracker
- Owner: Siddiqui145
- License: mit
- Created: 2024-12-18T18:47:32.000Z (6 months ago)
- Default Branch: main
- Last Pushed: 2024-12-19T17:01:09.000Z (6 months ago)
- Last Synced: 2025-05-17T07:40:47.814Z (about 1 month ago)
- Topics: bar-chart, cloud-firestore, dart, expense-tracker, firebase-auth, flutter, responsive-layout, simple-app
- Language: Dart
- Homepage:
- Size: 749 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Flutter Expense Tracker
A feature-rich expense tracking application built using Flutter. This app enables users to authenticate using Firebase Authentication, manage their expenses, categorize them, and visualize expenditure trends through bar charts.
## Features
- **Authentication**: User login, signup, password reset powered by Firebase Authentication.
- **Expense Management**: Add, edit, and delete expenses with smooth user interactions.
- **Categorization**: Expenses are categorized as food, travel, leisure, or work.
- **Visualization**: Bar charts to display the total expenses by category for better insights.
- **Firebase Firestore Integration**: Securely store and fetch expense data in real-time.
- **Responsive Design**: Works seamlessly on multiple devices and screen sizes.## Demo
https://github.com/user-attachments/assets/ab36897f-481d-4c73-b3c9-5a5a3eea5718
## Installation and Usage
Follow these steps to run the project on your local machine:
### Prerequisites
- Flutter SDK installed. ([Install Guide](https://flutter.dev/docs/get-started/install))
- Firebase project setup with Firestore and Authentication enabled. ([Firebase Guide](https://firebase.google.com/docs/flutter/setup?platform=android))
- A code editor, e.g., [Android Studio](https://developer.android.com/studio) or [VS Code](https://code.visualstudio.com/).### Steps
1. Clone this repository:
```bash
git clone https://github.com/Siddiqui145/expense_tracker.git
cd expense_tracker
```2. Install dependencies:
```bash
flutter pub get
```3. Set up Firebase:
- Replace the `google-services.json` file in the `/android/app` folder with your Firebase project's configuration file.
- Make necessary adjustments to Firebase configuration in `main.dart`.4. Run the project:
```bash
flutter run
```## Project Structure
```
lib/
├── models/
│ ├── expense.dart # Expense model
│ ├── expense_bucket.dart # Category-based expense aggregation
├── screens/
│ ├── login.dart # User login screen
│ ├── register.dart # User registration screen
├── widgets/
│ ├── chart.dart # Bar chart for visualizations
│ ├── expenses_list.dart # List view of all expenses
│ ├── new_expense.dart # Add expense modal
│ ├── expenses.dart # Existing Expenses
├── main.dart # App entry point
```## Firebase Configuration
### Firestore Structure
- **Collection Name**: `expenses`
- Fields:
- `Title`: (String) Title of the expense.
- `Amount`: (Number) Expense amount.
- `Date`: (Timestamp) Expense date.
- `Category`: (String) Expense category (food, travel, leisure, work).### Authentication
Enable email/password authentication in Firebase Authentication.## Future Enhancements
- Adding filtering features for expense dates and ranges.
- User profile management.
- Exporting expenses to a downloadable CSV file.
- Notifications for high expense warnings.## License
This project is licensed under the [MIT License](LICENSE).