Constructed using the following tools and technologies:
Remind-Wallet is an innovative expense-tracking and budget management tool designed to help users monitor their financial activities and achieve their savings goals. The project features a mobile-first interface for usability across various screen sizes, and supports categories like “to pay,” “to receive,” “expenses,” and “income,” along with account types such as "bank" and "wallet." Users can also create custom categories for more personalized tracking. Firebase is used for encrypted cloud storage, while Hive ensures offline updates through local storage. The project was built using Flutter, Firebase, Dart, and Hive for seamless and secure financial management.
-
Expense Tracking: Allows users to categorize and track their financial activities, including expenses, income, and pending transactions.
-
Customizable Categories: Users can create custom categories such as “to pay,” “to receive,” “expenses,” and “income,” and can also define their own account types (e.g., “bank” and “wallet”).
-
Mobile-First Interface: Designed with a mobile-first approach, ensuring a seamless and user-friendly experience on various screen sizes.
-
Encrypted Cloud Storage: Uses Firebase for secure cloud storage, keeping user data safe with encryption.
-
Offline Storage: Hive is integrated for local storage, enabling offline updates and ensuring data availability even without an internet connection.
-
Savings Goal Tracking: Allows users to set and track savings goals, helping them stay on top of their financial objectives.
-
Real-Time Updates: Automatically syncs financial data across devices when internet access is available, keeping everything up to date.
-
User-Friendly Interface: Simple and intuitive design ensures ease of use for users of all technical backgrounds.
Remind-Wallet/
├── README.md
├── assets/
│ ├── lottie/
│ │ ├── expense_tracker.json
│ │ ├── budget_tracker.json
│ │ └── wallet.json
│ ├── riv/
│ │ ├── dog-loader.riv
│ │ ├── money_phone.riv
│ │ └── dash_flutter_muscot.riv
│ ├── ScreenShots/
│ │ ├── 7.jpg
│ │ ├── 3.jpg
│ │ ├── GooglePixel2XL-14.png
│ │ ├── 5.jpg
│ │ ├── 1.jpg
│ │ ├── 4.jpg
│ │ ├── GooglePixel2XL-2.png
│ │ ├── GooglePixel2XL-12.png
│ │ ├── GooglePixel2XL-11.png
│ │ ├── GooglePixel2XL-9.png
│ │ ├── 8.jpg
│ │ ├── GooglePixel2XL-4.png
│ │ ├── 6.jpg
│ │ ├── GooglePixel2XL-8.png
│ │ ├── GooglePixel2XL-13.png
│ │ ├── GooglePixel2XL-1.png
│ │ ├── GooglePixel2XL-7.png
│ │ ├── GooglePixel2XL-5.png
│ │ ├── GooglePixel2XL-10.png
│ │ ├── 2.jpg
│ │ ├── GooglePixel2XL-3.png
│ │ └── GooglePixel2XL-6.png
│ ├── app_logo.png
│ ├── logo-white.png
│ └── Logo/
│ ├── eps/
│ │ ├── logo-color.eps
│ │ ├── logo-no-background.eps
│ │ ├── logo-white.eps
│ │ └── logo-black.eps
│ ├── png/
│ │ ├── logo-black.png
│ │ ├── logo-color.png
│ │ ├── logo-no-background.png
│ │ └── logo-white.png
│ ├── pdf/
│ │ ├── logo-no-background.pdf
│ │ ├── logo-white.pdf
│ │ ├── logo-color.pdf
│ │ └── logo-black.pdf
│ └── svg/
│ ├── logo-black.svg
│ ├── logo-white.svg
│ ├── logo-color.svg
│ └── logo-no-background.svg
├── web/
│ └── ....
├── test/
│ └── widget_test.dart
├── lib/
│ ├── API/
│ │ ├── database.dart
│ │ └── firebase_databse.dart
│ ├── notifications/
│ │ └── notification_manager.dart
│ ├── Pages/
│ │ ├── account_detail_page.dart
│ │ ├── authentication/
│ │ │ ├── forgot_password.dart
│ │ │ ├── add_user_data_entry_page.dart
│ │ │ └── signIn_signOut_page.dart
│ │ ├── web.html
│ │ ├── home_pages/
│ │ │ ├── dashboard.dart
│ │ │ ├── show_user_detail.dart
│ │ │ └── bottom_navigation_bar.dart
│ │ ├── add_account.dart
│ │ ├── transaction_detail_page.dart
│ │ ├── edit_account.dart
│ │ ├── add_transaction.dart
│ │ ├── show_to_receive_page.dart
│ │ ├── starting_pages/
│ │ │ ├── check_page.dart
│ │ │ ├── ask_permission_page.dart
│ │ │ └── splash_screen.dart
│ │ ├── show_income_page.dart
│ │ ├── edit_user_detail.dart
│ │ ├── introduction_pages/
│ │ │ ├── introduction_pages.dart
│ │ │ ├── pages_list.dart
│ │ │ └── terms_condition_page.dart
│ │ ├── show_expenses_page.dart
│ │ ├── edit_transaction.dart
│ │ └── show_to_pay_page.dart
│ ├── constant.dart
│ ├── Componet/
│ │ ├── input_filed.dart
│ │ ├── dropdown_button.dart
│ │ ├── date_Input_field.dart
│ │ ├── account_card.dart
│ │ ├── toggle_button.dart
│ │ ├── logo_viewer.dart
│ │ ├── custom_button.dart
│ │ ├── custom_drawer.dart
│ │ ├── balance_card.dart
│ │ ├── menu_clicked_action.dart
│ │ ├── custom_snackbar.dart
│ │ ├── custom_alert_dialog.dart
│ │ ├── Transaction.dart
│ │ ├── riv_animation.dart
│ │ └── check_internet_connection.dart
│ ├── firebase_options.dart
│ ├── main.dart
│ ├── extras/
│ │ ├── dummy_firebase.dart
│ │ ├── amount_list.dart
│ │ ├── transaction_list.dart
│ │ ├── loading.dart
│ │ ├── firebase_all_options.dart
│ │ └── account_api.dart
│ ├── Provider/
│ │ └── provider.dart
│ └── Encryption/
│ └── substitution.dart
├── pubspec.lock
├── windows/
│ └── .....
├── app-release.aab
├── .metadata
├── android/
│ └── ....
├── ios/
│ └── .....
├── macos/
│ └── .....
├── app-release.apk
├── .gitignore
├── pubspec.yaml
├── linux/
│ └── .....
└── analysis_options.yaml
80 directories, 237 files
Welcome to Remind-Wallet, a Flutter-based mobile application. This guide will walk you through the installation process for setting up and running the project locally.
Before you begin, make sure you have the following installed:
- Flutter (version 2.0 or higher)
- Dart (comes with Flutter)
- Firebase CLI for setting up Firebase
- Hive for local storage
-
Clone the repository:
git clone https://github.com/Eemayas/Remind-Wallet.git cd Remind-Wallet
-
Install dependencies:
Run the following command to install the necessary dependencies:
flutter pub get
-
Configure Firebase:
- Go to the Firebase Console.
- Create a new Firebase project.
- Set up Firebase for your Flutter app (follow the official Firebase setup guide).
- Download the
google-services.json
(Android) orGoogleService-Info.plist
(iOS) and place it in the respective folder in your project (android/app
for Android orios/Runner
for iOS).
-
Set up Hive for local storage:
Make sure the necessary Hive dependencies are included in your
pubspec.yaml
. The default setup should work, but verify it as per the Hive setup documentation. -
Install the APK (for Android users):
If you prefer to install the app directly on your Android device, you can download the
app-release.apk
from the releases section on the GitHub repository. Once downloaded, enable Install from Unknown Sources in your device's settings and install the APK.
-
Run on Android/iOS:
Ensure your emulator or device is connected and running, then execute:
flutter run
-
Run on a Web Browser (Optional):
You can also run the project in your web browser using:
flutter run -d chrome
-
Enjoy the app: Open the app on your device and start tracking your expenses!
Common issues that may arise during installation include:
- Flutter not installed: Ensure you have Flutter installed on your machine. You can download it from https://flutter.dev/docs/get-started/install.
- Dependencies not installed: Run
flutter pub get
to reinstall dependencies. - Environment variables not set: Create a new file named
.env
in the project root directory with the necessary environment variables.
If you encounter any issues during installation or running the project, refer to the official Flutter documentation for troubleshooting tips and solutions: https://flutter.dev/docs/troubleshoot
Contributions are welcome! Here are several ways you can contribute:
- Submit Pull Requests: Review open PRs, and submit your own PRs.
- Join the Discussions: Share your insights, provide feedback, or ask questions.
- Report Issues: Submit bugs found or log feature requests for Remind-Wallet.
- Fork the Repository:
- Start by forking the project repository to your GitHub account.
- Clone the Repository:
- Clone your forked repository to your local machine using the command:
git clone https://github.com/your-username/Remind-Wallet.git
- Replace
your-username
with your GitHub username.
- Create a New Branch:
- Create a new branch for your changes using the command:
git checkout -b your-branch-name
- Make Your Changes:
- Edit, add, or delete files as needed. Ensure your changes align with the project's contribution guidelines.
- Commit Your Changes:
- Stage your changes and commit them with a descriptive message:
git add . git commit -m "Your descriptive message"
- Stage your changes and commit them with a descriptive message:
- Push Your Changes:
- Push your branch to your forked repository:
git push origin your-branch-name
- Push your branch to your forked repository:
- Create a Pull Request (PR):
- Go to the original repository on GitHub and click “Compare & pull request.” Provide a clear description of the changes and submit the PR.
Once your PR is reviewed and approved, it will be merged into the main branch.
Avatar | Contributor | GitHub Profile | No of Contributions |
---|---|---|---|
Eemayas | @Eemayas | 53 |
This project is licensed under the MIT License - see the LICENSE file for details.