An open API service indexing awesome lists of open source software.

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.

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).