sprint 1 - mobile-dev-16/S1-G16-planning GitHub Wiki
Food waste is a significant issue that affects both businesses and consumers. Many businesses in the food industry, such as restaurants, cafes, and bakeries, often produce more food than is needed to meet customer demand, resulting in surplus food that may go unsold. This excess food typically goes to waste, leading to financial losses for businesses and contributing to environmental issues such as increased carbon emissions and landfill use. On the consumer side, people often miss out on opportunities to purchase high-quality food at discounted prices due to a lack of awareness about where these deals are available.
The solution we have chosen to implement is an application that allows users to find and reserve surplus food from local businesses. The application aims to reduce food waste by connecting consumers with restaurants, cafes, and other food establishments that have excess food inventory nearing its expiration or left over at the end of the day. Users can search for available deals, reserve food items at a discounted price, and pick them up from the store. This approach not only helps reduce the environmental impact of food waste but also provides users with access to affordable, high-quality food.
The application is designed to be simple and intuitive, featuring a main page with a search bar, filter options, and essential tabs for navigation. Users can filter their searches based on distance, type of food, and other preferences, making it easy to find surplus food that meets their needs. Each food item listed on the app includes a short description, price, and an image, allowing users to make informed decisions. Additionally, the app integrates a cart system where users can add selected items, review their choices, and proceed to checkout. Once the reservation is confirmed, users can visit the respective store to pick up their food.
To ensure a seamless user experience, the app also includes a profile section where users can manage their personal information, payment methods, and order history. Preferences such as dietary restrictions and notification settings can be customized to enhance the user experience. By providing a practical solution to food waste, our application has the potential to make a significant impact on both consumers and businesses, fostering a more sustainable food ecosystem in Bogotá.
The app charges businesses a small fee for each transaction made through the platform. This fee is a percentage of the total sale amount. By helping businesses reduce food waste and recoup costs on unsold inventory, the fee model aligns with their interests while generating revenue for the app.
The subscription model involves offering premium features to users for a monthly or yearly fee. Premium features might include early access to deals, personalized notifications, or book a specific food deal.
Businesses could pay to have their surplus food items featured more prominently within the app, or third-party companies might advertise related products and services.
The app provides a platform to reduce food waste, allowing businesses to recover some of their costs on unsold inventory while also enhancing their sustainability image. By offering real-time promotions on surplus food, businesses can reach a broader audience and turn potential waste into revenue.
The app offers consumers access to high-quality food at discounted prices, making it easier for them to find affordable meals while contributing to environmental sustainability. The app's convenience, personalized features, and cost savings make it a valuable tool for budget-conscious and eco-friendly consumers.
By reducing food waste, the app contributes to lowering environmental impacts, such as carbon emissions and landfill use, promoting a more sustainable food ecosystem in Bogotá and potentially beyond.
Problem | Alternative | Solution |
---|---|---|
Business Owner (Restaurant Owner Persona): Food nearing its expiration date leads to waste and financial loss. | Offer discounts in-store or to regular customers, which limits reach and doesn't always result in sales. | The Food Waste app allows businesses to list near-expiry items in real-time, reaching a broader audience of eco-conscious consumers, reducing waste and recovering some of the costs. |
Consumer (Budget-Conscious Persona): Consumers are unaware of where to find deals on food that is about to expire, missing out on saving opportunities. | Visit stores manually or rely on sporadic in-store deals, which is time-consuming and inefficient. | The Food Waste app sends real-time notifications about nearby food deals, ensuring consumers don’t miss the chance to save on food that would otherwise go to waste. |
Restaurant Manager Persona: Restaurants and cafes often have unsold food at the end of the day, leading to waste and lost revenue. | Donate unsold food to shelters or food banks, which is noble but doesn’t recoup any costs. | The Food Waste app allows restaurants to sell leftover food at discounted rates at the end of the day, reducing waste while generating revenue, and attracting budget-conscious consumers. |
Consumer (Student Persona): Finding affordable, good-quality food is difficult and time-consuming. | Manually search for deals at local stores, often finding limited options. | The Food Waste app aggregates discounted food offerings from nearby businesses, providing an easy way for students to find affordable, high-quality food in one place. |
Business Owner Persona: Businesses lose money on food inventory that spoils or is left unsold. | Reduce production to minimize waste, risking running out of stock during high-demand periods. | The Food Waste app helps businesses manage surplus by offering real-time promotions on excess inventory, balancing supply and demand more effectively without the risk of overproduction. |
Consumer (Eco-Friendly Persona): Consumers are unaware of sustainable options to acquire food that would otherwise go to waste. | Rely on word-of-mouth or local community groups, which limit accessibility and consistency. | The Food Waste app centralizes information about surplus food from nearby businesses, making it easier for eco-conscious consumers to find and reserve food that supports sustainable consumption. |
Restaurant Manager Persona: Managing unsold inventory is time-consuming for businesses, especially when trying to sell it quickly. | Implement manual markdowns or in-store promotions, which take staff time and are limited in reach. | The Food Waste app automates the listing of unsold items, allowing businesses to quickly and efficiently reach a wider audience, saving time and reducing waste. |
Consumer (Quality-Conscious Persona): Consumers are concerned about the quality of food nearing its expiration date, leading them to avoid it, causing waste. | Avoid purchasing near-expiry food, leading to more waste and missed opportunities for savings. | The Food Waste app includes detailed descriptions and images of surplus items, helping consumers make informed choices about food quality and feel confident in purchasing discounted items. |
Business Owner Persona: Businesses may face reputational risks if seen as selling “leftover” or low-quality food. | Avoid selling surplus food, which leads to increased waste. | The Food Waste app positions the sale of surplus food as a positive, eco-friendly action, helping improve the business's image while reducing waste and offering sustainable food options. |
Consumer (Busy Professional Persona): Consumers may forget to pick up reserved food, leading to further waste and missed opportunities. | Charge penalty fees for missed pickups, which may discourage future participation. | The Food Waste app sends timely reminders and notifications to users, ensuring they pick up reserved items, reducing the likelihood of missed pickups and further waste. |
Type 1: App's Telemetry
- What is the distribution of platforms where our app is installed?
- What percentage of users access the app during peak hours (e.g., lunch and dinner times) compared to off-peak times?
Type 2: User experience
- How many taps does it take the user to create an order?
- How frequently are users using the distance filter?
- How often do users engage with the "Recommended Deals" section?
- What percentage of users abandon their order process after selecting items but before completing the purchase?
Type 3: Feature Analysis
- How frequently do users complete a purchase through the "Buy Now" button in the restaurant section of the app?
- Which filter options (e.g., price, cuisine type, distance) are most frequently used by users when searching for deals?
- How often do users use the "Order Again" feature to repeat previous purchases?
- How often do users interact with the "Push Notifications", and what percentage of users choose to disable them?
Type 4: Benefit from Data
- Which types of food deals are most likely to be reserved by users?
- In which geographical areas are users most concentrated when reserving food deals?
Type 5: Multi-type
- How does the app's performance (loading times, crash rates) correlate with user retention rates?
- What is the correlation between the frequency of push notifications and the user’s engagement with the app (measured in completed orders)?
- As a User, I want to find food deals near me so that I can choose the closest options. (Swiping through the list of deals)
- As a User, I want to filter food deals by cuisine type so that I can easily find Italian restaurants. (Tapping the cuisine filter and selecting "Italian")
- As a User, I want to reserve a specific food deal so that I can ensure it's available when I arrive. (Tapping on the deal and selecting "Reserve")
- As a User, I want to reorder from my history so that I can quickly purchase my favorite items again. (Tapping on the "Order Again" button in my order history)
- As a User, I want to customize my notification settings so that I can receive alerts for new deals from my favorite restaurants. (Tapping on the profile icon and selecting notification settings)
- As a User, I want to view recommended deals so that I can discover new food options that match my preferences. (Swiping through the "Recommended Deals" section)
- As a User, I want to receive notifications about nearby discounted food items so that I can purchase high-quality food at lower prices. (Receiving and interacting with notifications)
- As a Business Owner, I want to list near-expiration food items on the app so that I can sell all of my inventory before it expires. (Adding and managing food listings)
Scenario Name | App Behavior During Background Operations |
---|---|
Quality Attributes | Performance, Resilience |
App Status and Context | The app is running in the background while the user is using other apps. |
Changes in the Context | The user receives a notification while the app is in the background. |
System Reaction | The app processes the notification in the background and ensures that when the user returns to the app, the relevant information is readily available without relaunching the app. |
Scenario Name | App Usage with Limited Connectivity |
---|---|
Quality Attributes | Resilience, Availability |
App Status and Context | The app is being used with intermittent mobile data connectivity. |
Changes in the Context | The user is on a bus with spotty mobile data while trying to reserve a food deal. |
System Reaction | The app caches data locally and retries network requests to ensure the reservation process completes once the connection is stable. |
Scenario Name | App Security During Payment Processing |
---|---|
Quality Attributes | Security, Data Integrity |
App Status and Context | The app is processing a payment for a reserved food deal. |
Changes in the Context | The user’s device encounters a security warning or potential threat during payment. |
System Reaction | The app immediately halts the payment process, displays a security alert to the user, and prompts them to verify their payment method. The app also logs the incident for further investigation. |
Scenario Name | Handling High Traffic Loads |
---|---|
Quality Attributes | Scalability, Performance |
App Status and Context | The app is experiencing a sudden spike in user activity during a promotional event. |
Changes in the Context | The server load increases significantly as multiple users attempt to reserve food deals simultaneously. |
System Reaction | The app uses load balancing and scales server resources dynamically to maintain performance and prevent crashes. |
Scenario Name | App Usage by Visually Impaired Users |
---|---|
Quality Attributes | Accessibility, Usability |
App Status and Context | The app is being used by a visually impaired user with screen reader software enabled. |
Changes in the Context | The user, who is visually impaired, navigates the app to find and reserve a food deal. |
System Reaction | The app provides clear, descriptive text for all UI elements and ensures full compatibility with screen readers. |
Scenario Name | App Handling of Network Timeouts |
---|---|
Quality Attributes | Resilience, Availability |
App Status and Context | The app is attempting to connect to the server to reserve a food deal. |
Changes in the Context | The network connection is unstable, leading to repeated timeouts. |
System Reaction | The app retries the connection with exponential backoff and provides the user with a progress update, eventually caching the request locally if the connection fails consistently. |
Scenario Name | Synchronization After Offline Usage |
---|---|
Quality Attributes | Eventual Connectivity, Data Integrity |
App Status and Context | The app was used offline to browse and add items to the cart. |
Changes in the Context | The user comes back online after being offline and attempts to complete their reservation. |
System Reaction | The app synchronizes the offline data with the server, merges any conflicting information, and prompts the user to confirm their reservation. |
Scenario Name | Multilingual Support for Diverse User Base |
---|---|
Quality Attributes | Accessibility, Usability |
App Status and Context | The app is being used by a diverse user base, including non-native speakers. |
Changes in the Context | Users with different language preferences are trying to navigate the app and reserve food deals. |
System Reaction | The app detects the user's preferred language and automatically provides localized content, including instructions, notifications, and user interface elements, in multiple languages to ensure an inclusive and seamless experience. |