Sprint 2 - Moviles-G45/FlutterApp GitHub Wiki
| Type | Question | Implemented | Rationale |
|---|---|---|---|
| 1 | What are the main challenges students face when managing their money independently? | β | User research insight |
| 1Β° | How long does it take to open the application? | β | Monitors app performance |
| 2Β° | How many days have passed since the last record of expenses of a user? | β | Tracks user engagement |
| 2Β° | Which expense categories has the user exceeded their allocated budget for this month, and by what percentage? | β | Enables proactive budgeting alerts |
| 2Β° | How many consecutive months has the user successfully stayed within their monthly spending limit? | β | Encourages positive financial habits |
| 2 | Which debt has the user not paid this month? | β | Useful for financial reminders |
| 2 | How much has the user contributed to a saving goal this month? | β | Tracks saving consistency |
| 3 | What new tools can make it faster and easier for students to track their daily expenses? | β | Helps define product improvements |
| 3 | What app features can encourage users to save money more effectively? | β | Supports feature prioritization |
| 3 | What system performance or usability issues contribute to users abandoning financial management apps? | β | Helps improve user retention |
| 4Β° | What are the common financial spending patterns in the youth? | β | Helps with user segmentation |
| 4 | What are the months in which the users spend the most? | β | Supports tailored recommendations |
| 5Β° | What percentage of reported bugs directly affect core business functionality? | β | Prioritizes critical bug fixes |
| 5 | How does app performance impact user retention over time? | β | Measures long-term technical impact |
Note: All type 2 questions were updated from Sprint 1. The bold ones with a Β° are already implemented.
π ATM Locator with Integrated GPS
- The app uses the deviceβs GPS sensor to display a real-time map of nearby Servibanca ATMs, helping users withdraw cash efficiently.
π Budget Exceeding Alerts with Dynamic Notification Banner
- Analyzes monthly expenses to detect overspending per category, displays a banner with the overspending percentage, and suggests budget adjustments.
π Weekend Night Spending Reminder
- Detects weekend nights (FridayβSaturday after 8 PM) and sends a proactive alert to help users control entertainment spending.
π€ AI-Powered Automatic Expense Categorization
- The app uses an AI assistant to predict and automatically categorize expenses based on description, merchant, and user history.
π Secure Login with Multi-Factor Authentication (MFA)
- Users can log in via email/password
π© Automated Monthly Expense Report
- Generates a detailed monthly financial report and sends it to the user via email, using a backend cloud service.
Description:
This feature automatically detects when a user is near a shopping mall or commercial center and sends a personalized push notification reminding them to log any recent purchases. The notification acts as a real-time prompt, helping users maintain accurate expense tracking and stay within their budget goals.
Example Notification:
ποΈ "You're near Parque La Colina Mall β Did you spend on food or shopping? Log your transaction now to stay on budget!"
Context Awareness:
The app uses geolocation services to determine proximity (within ~150 meters) to a curated list of over 20 major shopping malls in BogotΓ‘.
If a user is detected near one of these places, a notification is triggered with relevant context.
π Analytics Stack Pipeline Diagram
- Data Collection β User activity: expenses, logins, GPS location.
- Preprocessing (Backend) β Cleansing, transformation, enrichment.
- Storage β Cloud SQL, Firebase and Cloud Storage.
- Analytics Engine β Runs queries and aggregates data to answer BQs using BigQuery.
- Visualization β Answers are shown through banners, charts, and reports in Power BI.
π Used Patterns:
- MVVM β Separation of View, ViewModel, and Model for better testability.
- Singleton β Manages session and global app state.
- Facade β Provides unified access to services (e.g., API, sensors).
- DAO (Data Access Object) β Encapsulates data access logic (local DB).
- DTO (Data Transfer Object) β Secure data exchange between layers.
- Observer β Updates UI in real-time based on data changes.
π Architecture Diagrams:
(Add component/class/data flow diagrams here)
π Design Rationale:
The MVVM pattern was chosen to promote clean separation of concerns and enhance code maintainability. Singleton ensures consistent state across the app. Facade simplifies interaction with APIs and hardware. DAO and DTO improve data modularity. Observer enables real-time UI updates.
π Ethical Considerations:
This video highlights the main ethical principles considered during the development of the project, such as data privacy, and the importance of financial inclusion for students.
π Watch the Video:
π Click here to view the Ethic Video