Skip to content

Sprint_Planning

Didier Reyes Castro edited this page Oct 19, 2024 · 3 revisions

Here you will find a detailed breakdown of what each team member have done (or will have to do) along the creation of this Project.


🛒 Sprint 1: Basic Grocery List Management 🥘

Goals:

  • Develop a basic user interface for managing grocery lists.
  • Implement functionality to add, remove, and categorize grocery items.

Key Concepts:

  • Activity and Fragments: UI creation using activities and fragments.
  • RecyclerView: Display a list of grocery items.
  • Data Persistence: Store grocery lists with SharedPreferences or SQLite.

Tasks and Responsibilities:

  • Member A: UI Design

    • Design the main interface (XML layout).
    • Create mockups for user experience.
  • Member B: Data Management

    • Implement data persistence using SharedPreferences or SQLite.
    • Develop methods to add and remove items from the list.
  • Member C: RecyclerView Implementation

    • Implement RecyclerView to display the grocery list.
    • Manage item clicks to remove items.

🥩 Sprint 2: Meal Planning and ... (TBD)

Goals:

  • Introduce meal planning functionality.

Key Concepts:

  • Networking: Usage of Firebase to gather Meals from Cloud.
  • Fragments: Separate screens for meal planning using fragments.
  • ViewModel: Manage UI-related data with ViewModel.

Tasks and Responsibilities:

  • Member A: Meal Planning UI

    • Design the meal planning interface.
    • Create a layout for displaying meal options.
  • **Member B: TBD

  • Member C: ViewModel Implementation

    • Implement ViewModel to manage data related to meal plans.
    • Integrate meal planning with the grocery list functionality.

⚠️ Sprint 3: Expiry Notifications and ... TBD

Goals:

  • Implement expiry notifications for pantry items.

Key Concepts:

  • AlarmManager: Set notifications for expiry dates.
  • BroadcastReceiver: Handle notifications with BroadcastReceiver.

Tasks and Responsibilities:

  • Member A: Notification System

    • Implement the notification system using AlarmManager.
    • Set up logic for tracking expiry dates.
  • **Member B: TBD

  • Member C: Testing and Optimization

    • Test the app for bugs and usability.
    • Optimize performance based on user feedback.

🚀 Future Features (from Sprint 2):

  • Meal planning: Choosing a meal, adding automatically a new grocery list with ingredients. Show ingredients and all sort of info about meal (time, number of people, ...). See: RecetasWeb
  • Expiry Notifications: Notify when a product is going to expire.
  • Barcode Scanning: Add or Search items by scanning barcodes. Connection to other pages such as Amazon.
  • Map of Supermarkets near you.
  • Filter products by category.
  • Inventory Management: Track pantry inventory and suggest restocks.

Other features if time and complexity allows:

  • Price comparison: Let user check how prices of its different products have been fluctuating along time.
  • Shopping History: View past purchases and trends.
  • Recipe Suggestions: Suggest recipes based on pantry items.
  • List Sharing: Share grocery lists with others.
  • Dietary Preferences: Filter items by dietary needs (e.g., vegan, gluten-free).
  • Gamification: Challenges or rewards for completing lists or meal planning.
  • Automatic photos: Ability to add photos automatically for regular items like bread, water, milk, ...
  • Price tracking charts: Apart from setting a price for an item. It would be beneficial to see charts on the fluctuation of price along time.
  • Add products through Voice Recognition.