ECS2 Offline Expense Tracking and Graphical Analysis - ISIS3510-MOBILE-T34/T34-Wiki-SpendiQ GitHub Wiki
Attribute | Details |
---|---|
Title/ID | F2 - Offline Expense Tracking and Graphical Analysis |
Event Description | When the user is offline, they attempt to view graphs and information about their expenses over days, weeks, and months within the SpendiQ app. |
System Response | - Data Access: - The app retrieves detailed expense and income data for the last 7 days stored locally in the device's secondary storage. - Graph Generation: - Generates graphs and provides analytical information about the user's spending behavior using the locally stored data. - Data Synchronization: - As soon as the device regains internet connectivity, the app automatically synchronizes the locally stored expense data with the cloud database in Firebase. - Synchronization attempts occur immediately upon reconnection to ensure that both local and remote data are up to date. |
Possible Antipatterns | - Stale Data Presentation: Risk of presenting outdated financial information if local data isn't updated regularly. - Data Overload: Storing excessive amounts of data locally could consume significant device storage space. - Synchronization Conflicts: Potential for data inconsistencies or conflicts during synchronization if changes occur both locally and remotely while offline. - Ignoring Connectivity Changes: Failing to detect the restoration of internet connectivity promptly, delaying data synchronization. |
Caching and Retrieving Strategy | - Caching: - Store detailed daily expense and income records for the last 7 days in the device's secondary storage. - Regularly update the local cache with new expense entries as they are recorded by the user. - Retrieving: - Access the local storage to retrieve expense data when generating graphs and reports while offline. - Monitor network connectivity status to trigger immediate synchronization upon reconnection. |
Storage Type | - Local Storage: - Device's secondary storage (e.g., internal storage or local database) for offline access to recent expense data. - Remote Storage: - Firebase cloud database for long-term storage and backup of all expense and income data. |
Stored Data Type | - Financial Transaction Data: - Detailed records of expenses and incomes, including: - Amounts - Categories (e.g., food, transportation, entertainment) - Dates and timestamps - Descriptions or notes - Any attached receipts or documents (if applicable) - Analytical Data: - Summaries or aggregates calculated from the detailed records for quick access during graph generation. |
Justification |
Justification:
Providing offline access to expense tracking and graphical analysis is vital for user engagement and satisfaction. Users often need to review their financial data on the go, regardless of internet connectivity. By storing detailed expense and income data for the last 7 days locally, SpendiQ empowers users to access their financial information and insights at any time.
This strategy enhances the user experience by offering continuous availability of key features, such as viewing spending behavior through graphs, which supports informed financial decision-making. It adheres to business rules focused on delivering timely and accessible financial information. Ensuring these features work correctly offline strengthens the app's reliability and user dependency. Additionally, synchronizing this data with the cloud when connectivity is restored maintains data accuracy and consistency, which is crucial for both users and the app's analytical capabilities.