Sprint 2 - Moviles-G45/FlutterApp GitHub Wiki

🧾 Sprint 2 – Deliverable Wiki

πŸ“Œ 1. Business Questions (BQs)

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.


βœ… 2. List of Implemented Features (IF)

a. Functionality Using a Phone Sensor

πŸ“ 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.

b. Functionality Answering a Type 2 Question

πŸ“Š 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.

c. Context-Aware Functionality

πŸŒ™ Weekend Night Spending Reminder

  • Detects weekend nights (Friday–Saturday after 8 PM) and sends a proactive alert to help users control entertainment spending.

d. Smart Feature

πŸ€– AI-Powered Automatic Expense Categorization

  • The app uses an AI assistant to predict and automatically categorize expenses based on description, merchant, and user history.

e. User Authentication Feature

πŸ” Secure Login with Multi-Factor Authentication (MFA)

  • Users can log in via email/password

f. Functionality Using External Services

πŸ“© Automated Monthly Expense Report

  • Generates a detailed monthly financial report and sends it to the user via email, using a backend cloud service.
  • g. Functionality Name: Nearby Shopping Notification

    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.


πŸ“Š 3. Analytics Pipeline (AP)

πŸ“Œ Analytics Stack Pipeline Diagram

Description of the Pipeline:

  1. Data Collection – User activity: expenses, logins, GPS location.
  2. Preprocessing (Backend) – Cleansing, transformation, enrichment.
  3. Storage – Cloud SQL, Firebase and Cloud Storage.
  4. Analytics Engine – Runs queries and aggregates data to answer BQs using BigQuery.
  5. Visualization – Answers are shown through banners, charts, and reports in Power BI.

πŸ—οΈ 4. Architecture Design (AD)

πŸ“Œ 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.

πŸŽ₯ 5. Ethic Video

πŸ“Œ 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

⚠️ **GitHub.com Fallback** ⚠️