Welcome to Thriftly, expense tracker app designed to help you manage and analyze your expenses with ease. This app is built using Flutter, incorporating BLoC for state management, adhering to Clean Architecture principles, and utilizing Isar DB for efficient local storage and Firebase for cloud integration and authentication.
- Organize your expenses into customizable categories for better financial insight.
- Easily track where your money is going by grouping transactions into categories such as Food, Transportation, Entertainment, and more.
- Daily, Weekly, and Monthly tracking of all your expenses.
- Add transactions with an intuitive interface.
- View past transactions filtered by date and category for comprehensive oversight.
- Visual analysis tools to help you understand your spending habits.
- Compare daily, weekly, and monthly expenses through charts and graphs to make informed financial decisions.
- Flutter: Cross-platform framework for building iOS and Android applications.
- BLoC: Business Logic Component (BLoC) pattern for reactive state management.
- Isar DB: A fast, efficient local NoSQL database for offline storage.
- Firebase: Used for cloud storage, authentication, and other backend services.
The design for Thriftly is inspired by a Figma community design: Finance Management Mobile App UI/UX Kit for Budget Tracker & Financial Prototype Design (Community). This modern and user-friendly design serves as the foundation for the app's UI/UX, ensuring a smooth user experience.
Before you can run the app, ensure you have the following tools installed:
- Flutter SDK
- Dart
- Isar CLI
- Firebase configuration (you will need to set up Firebase for your project)
-
Clone the repository:
git clone https://github.com/rishabdhar12/Thriftly.git cd thriftly
-
Install the required dependencies:
flutter pub get
-
Set up Firebase:
- Follow the instructions to connect your Firebase project for both Android and iOS.
-
Run the app:
flutter run
- lib/core: Contains core utilities, services, and base classes.
- lib/features: Organized by feature (e.g., transactions, categories, analysis).
- lib/features/data: Repositories and models that handle data storage and retrieval.
- lib/features/domain: Business logic and entities following the Clean Architecture structure.
- lib/features/presentation: UI components like screens, widgets, and styles.
Contributions are welcome! If you'd like to contribute to Thriftly, feel free to submit a pull request, or open an issue for suggestions and improvements.
This project is licensed under the MIT License. See the LICENSE file for details.
Happy tracking with Thriftly!