project-proposal-2025

GroceryMate

Abstract

Grocery shopping can sometimes feel like a stressful or a time-consuming task. It’s very easy to forget what you need or maybe get confused about what is already at home, eventually ending up buying unnecessary and unhealthy items. This not only leads to frustration but also adds to food waste. That’s where GroceryMate comes in. GroceryMate untangles the shopping experience, making it easier and hassle-free. With features like inventory tracking, personalised shopping lists, and recipe suggestions, you’ll never buy duplicate items again. Plus, it helps you make healthier choices by suggesting nutritious meals based on what you already have in your pantry.

Author

Name: Manandeep Singh

Student number: 48239259

Functionality

  1. Barcode Scanning: Users can scan their grocery items or manually add in their items into the application. The app will automatically update the grocery list based on the previous action and keep track for the same.
  2. Grocery Lists: The app will generate a shopping list based on the user’s past purchases or items which are running low so that users never forget any important item.
  3. Store Integration: The app would automatically sync with selected grocery store, which would allow the user to order directly or match their list with the availability in the store.
  4. Recipe Suggestion: The app will insist meal ideas based on the available list of items in the user’s pantry.
  5. Nutritional Tips: The app will help users to see healthy-alternatives of everyday meals they consume and the app would also help to track their nutritional value.
  6. Expiry Tracking: It would send reminders when items that are about to expire, to avoid food wastage.
  7. Group Integration: It would allow multiple users to share and update grocery lists, making it easy for families or roommates to buy and share the items together.

Scope

  1. Editable Grocery List: Users can manually add, remove, or edit items to customise their shopping list based on personal preferences and needs.
  2. Reminder Alerts: Notifications will alert users when essential grocery items are running low.
  3. Simple Recipe Search: Users can search for meals based on available ingredients and the app will match these ingredients with a recipe datasets , making meal planning easier and reducing the need for extra grocery trips.
  4. Basic Barcode Scanning: A simple scanning feature will allow users to add grocery items to their inventory by scanning barcodes, ensuring accurate stock tracking.

Quality Attributes

  1. Availability: The app will be designed so that users can access their grocery lists, recipes, and inventory information at any time, without interruptions. This is important because users may choose to go to the grocery store at any hour of the day or plan meals whenever they wish. The app will also have offline functionality, storing essential data such as shopping lists, so users can continue using it in case of network outages.
  2. Scalability: GroceryMate needs scalability because as more users adopt the app over time, it must be able to handle an increasing number of users without affecting performance. The app should be able to meet the needs of both individual users and larger groups (e.g., families or communities). Additionally, during peak hours, such as early mornings or evenings, the app should efficiently handle varying user loads.
  3. Extensibility: Over time, GroceryMate will likely need new features like recipe recommendations based on health goals, integration with fitness apps, or partnerships with local grocery stores.Having a flexible and extensible architecture will allow new features to be added easily.
  4. Reliability: The app should run without any failure because users will rely on it to organise and manage their grocery shopping lists and receive regular notifications to avoid food wastage. So, GroceryMate must consistently perform its functions without any interruptions or errors.

    Evaluation

  5. Availabilty: The app’s availability will be monitored using AWS CloudWatch to track system uptime and performance. . It will also be tested during peak hours to assess how it manages high user traffic. AWS AutoScaling will be used to evaluate how the app manages to varying demand. Additionally, regular tests will be conducted to check how the app functions offline, making sure that essential data, such as shopping lists and recipes, remain accessible without an internet connection.
  6. Scalability: AWS Auto Scaling will be tested to ensure that the app scales resources dynamically without impacting performance.Additionally, Amazon RDS will be used to scale the app’s database, to check it can efficiently handle an increasing number of users.
  7. Extensibility: AWS Lambda will be used to test how easily new features, such as advanced recipe suggestions based on inventory or user preferences, can be added.Also , Amazon API Gateway will allow easy integration with third-party serviceslike local grocery stores or external recipe database.
  8. Reliability: To maintain reliability, the app will use AWS Elastic Load Balancer (ELB) to distribute traffic evenly across servers in high demand. AWS CloudFormation will be used to create consistent environments for updates and deployments. AWS X-Ray will be used to track any issues with the app and diagnose them quickly.