{"id":15110725,"url":"https://github.com/selvamuthukumaranrajan/spendwise","last_synced_at":"2026-02-17T23:01:28.619Z","repository":{"id":252686356,"uuid":"841136851","full_name":"SelvamuthukumaranRajan/SpendWise","owner":"SelvamuthukumaranRajan","description":"SpendWise helps users easily track expenses and income. With a user-friendly interface, users can log and categorize transactions to stay organized. Local notifications remind users to update their finances, ensuring they never miss a transaction.","archived":false,"fork":false,"pushed_at":"2024-08-14T19:07:37.000Z","size":63752,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-10-14T01:42:42.138Z","etag":null,"topics":["android-app","animations","dart","firebase","firebase-auth","flutter","flutter-app","ios-app","kotlin","localnotifications","mvvm","mvvm-architecture","provider","provider-state-management","realm","realm-database","realmdb","swift"],"latest_commit_sha":null,"homepage":"","language":"Dart","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/SelvamuthukumaranRajan.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-08-11T18:41:05.000Z","updated_at":"2024-08-14T19:23:18.000Z","dependencies_parsed_at":"2024-09-26T00:01:10.974Z","dependency_job_id":"c58da6f1-1af2-426b-93d7-5d9e732b561c","html_url":"https://github.com/SelvamuthukumaranRajan/SpendWise","commit_stats":null,"previous_names":["selvamuthukumaranrajan/spendwise"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/SelvamuthukumaranRajan/SpendWise","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SelvamuthukumaranRajan%2FSpendWise","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SelvamuthukumaranRajan%2FSpendWise/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SelvamuthukumaranRajan%2FSpendWise/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SelvamuthukumaranRajan%2FSpendWise/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/SelvamuthukumaranRajan","download_url":"https://codeload.github.com/SelvamuthukumaranRajan/SpendWise/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SelvamuthukumaranRajan%2FSpendWise/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29561782,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-17T21:50:49.831Z","status":"ssl_error","status_checked_at":"2026-02-17T21:46:15.313Z","response_time":100,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["android-app","animations","dart","firebase","firebase-auth","flutter","flutter-app","ios-app","kotlin","localnotifications","mvvm","mvvm-architecture","provider","provider-state-management","realm","realm-database","realmdb","swift"],"created_at":"2024-09-26T00:00:58.186Z","updated_at":"2026-02-17T23:01:28.585Z","avatar_url":"https://github.com/SelvamuthukumaranRajan.png","language":"Dart","funding_links":[],"categories":[],"sub_categories":[],"readme":"# SpendWise\n\n\u003ch3\u003e\nTurn Your Expenses into Insights!\n\u003c/h3\u003e\n\nThis application empowers users to effortlessly manage their finances by tracking both income and\nexpenses. It offers a comprehensive summary of all transactions, enabling users to seamlessly\nmonitor and stay on top of their financial activities.\n\n## Features\n\n- **Transaction Management:** Users can add, edit, and delete transactions, categorizing them as\n  either\n  income or expense.\n- **Summary Overview:** The app offers a clear and concise summary of all transactions, helping\n  users\n  understand their financial status at a glance.\n- **Filtering Options:** Users can apply multiple filters to view specific transactions based on\n  categories, dates, or types (income/expense), making it easier to analyze spending patterns.\n- **Daily Reminders:** The app includes a notification feature that reminds users to add their daily\n  transactions, ensuring that no expense or income is overlooked.\n- **User-Friendly Interface:** Designed with simplicity and efficiency in mind, the app offers a\n  seamless user experience, making financial tracking easy for everyone.\n- **Architecture:** Follow MVVM pattern for clear separation of concerns.\n- **Authentication with Firebase:** Secure user authentication using Firebase, supporting multiple\n  sign-in methods to protect user data.\n- **Light and Dark Dynamic Theming:** Enjoy a visually appealing interface with both light and dark\n  themes that dynamically adjust to user preferences.\n- **Efficient CRUD Operations with Realm:** Leverages Realm database for fast and reliable Create,\n  Read,\n  Update, and Delete operations on transactions.\n- **Unit Testing with Mockito:** Ensures code reliability through unit tests using Mockito,\n  maintaining a high standard of app performance and stability.\n\n### Prerequisites\n\n- Flutter SDK\n- Dart SDK\n\n## Getting Started\n\nTo run this application locally, follow these steps:\n\n1. Make sure you have Flutter installed. For installation instructions, refer to\n   the [Flutter documentation](https://flutter.dev/docs/get-started/install).\n2. Clone this repository to your local machine.\n3. Navigate to the project directory and run `flutter pub get` to install dependencies.\n4. Connect a device or start an emulator.\n5. Run the app using the command `flutter run`.\n\n## Dependencies\n\nThis project uses several third-party dependencies. Some of the key dependencies include:\n\n- `provider`: Simplifies state management by allowing easy access to and updates of state across the\n  app.\n- `realm`: Provides local database storage with real-time syncing capabilities, enabling efficient\n  data management.\n- `flutter_local_notifications`: Allows scheduling and displaying local notifications on Android and\n  iOS.\n- `firebase_core`: Initializes and configures Firebase services in the app.\n- `firebase_auth`: Manages user authentication with various sign-in methods.\n- `cloud_firestore`: A NoSQL cloud database for real-time data storage and syncing.\n\nFor a full list of dependencies, refer to the `pubspec.yaml` file.\n\n## Directory Structure\n\n      lib/\n        |-- data/\n              |-- models/ # Contains data models used throughout the application.\n              |-- repositories/ # Manages data operations and interfaces with data sources.\n        |-- generated/\n              |-- (auto-generated files) # Stores auto-generated files. Avoid manual modifications.\n        |-- utils/\n              |-- configs/ # Configuration settings used across the application.\n              |-- core/ # Core functionalities and utilities essential for the app's functionality.\n              |-- routes/ # Handles navigation and route management within the app.\n        |-- viewModels/\n              |-- (ViewModel classes) # Contains ViewModel classes for business logic and state management.\n        |-- views/\n              |-- (UI components) # Houses the UI components and screens that form the application's interface.\n        |-- widgets/\n              |-- (custom widgets) # Custom widgets that are reusable across different parts of the application.\n      main.dart\n        |-- (entry point) # The main entry point of the application.\n\n## License\n\nDistributed under the MIT License. See LICENSE for more information.\n\n## Contact\n\nTwitter - https://x.com/iamSmkz\nLinkedIn - https://www.linkedin.com/in/iamsmk\n\n## Acknowledgements\n\nFlutter\nProvider\nFirebase\nRealm DB\n\n\n## Screenshots\n\n\u003ch3\u003e\nDark Mode\n\u003c/h3\u003e\n\n\n| Splash Screen                             | Auth Screen                             | Auth Screen                              |\n|-------------------------------------------|-----------------------------------------|------------------------------------------|\n| ![Screenshot](screenshots/SplashDark.png) | ![Screenshot](screenshots/AuthDark.png) | ![Screenshot](screenshots/LoginDark.png) |\n\n\n| Auth Screen                               | Home Screen                             | Home Screen                              |\n|-------------------------------------------|-----------------------------------------|------------------------------------------|\n| ![Screenshot](screenshots/SignupDark.png) | ![Screenshot](screenshots/HomeDark.png) | ![Screenshot](screenshots/Home2Dark.png) |\n\n\n| Summary Screen                             | Summary Screen                              | Summary Screen                              |\n|--------------------------------------------|---------------------------------------------|---------------------------------------------|\n| ![Screenshot](screenshots/SummaryDark.png) | ![Screenshot](screenshots/Summary2Dark.png) | ![Screenshot](screenshots/Summary3Dark.png) |\n\n\u003ch3\u003e\nLight Mode\n\u003c/h3\u003e\n\n| Splash Screen                              | Auth Screen                              | Auth Screen                               |\n|--------------------------------------------|------------------------------------------|-------------------------------------------|\n| ![Screenshot](screenshots/SplashLight.png) | ![Screenshot](screenshots/AuthLight.png) | ![Screenshot](screenshots/LoginLight.png) |\n\n\n| Auth Screen                                | Home Screen                              | Home Screen                               |\n|--------------------------------------------|------------------------------------------|-------------------------------------------|\n| ![Screenshot](screenshots/SignupLight.png) | ![Screenshot](screenshots/HomeLight.png) | ![Screenshot](screenshots/Home2Light.png) |\n\n\n| Summary Screen                              | Summary Screen                               | Summary Screen                               |\n|---------------------------------------------|----------------------------------------------|----------------------------------------------|\n| ![Screenshot](screenshots/SummaryLight.png) | ![Screenshot](screenshots/Summary2Light.png) | ![Screenshot](screenshots/Summary3Light.png) |\n\n\n## ScreenRecordings\n\nAvailable in 'screenrecords' directory.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fselvamuthukumaranrajan%2Fspendwise","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fselvamuthukumaranrajan%2Fspendwise","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fselvamuthukumaranrajan%2Fspendwise/lists"}