D1. Specifications

User stories

Person with Food Allergies

  • As a person with food allergies, I want to see the menu items free of my specified allergens separated from the rest of the menu items, so that I can quickly see which items I can order.
    • As a person with food allergies, I want to see menu items that can be modified to exclude my specified allergens, so that I can order items that may usually include my allergens.
    • As a person with food allergies, I want to see the rest of the menu items (or all), so that I am able to order for a friend without food allergies.
  • As a person with food allergies, I want to separately specify my food allergies and dietary preferences in my profile, so that I can personalize my food needs.
  • As a person with food allergies, I want to rate my experiences at restaurants based on their handling of food allergies, so that I can inform others of my experience.
    • As a person with food allergies, I want to see ratings for restaurants based on their handling of food allergies, so that I can make an informed decision about choosing a restaurant.
  • As a person with food allergies, I want to make online food orders through an online ordering system through the app, so that it is a convenient experience for me.
  • As a person with food allergies, I want to search for specific restaurants, so that I can quickly see its menu items.
  • As a person with food allergies, I want to see listings of menu items that are separated by my specifications for food allergies and dietary preferences, so that I am able to meet my different level of needs with food.
  • As a person with food allergies, I want to identify menu items that meet one or more of my profile specifications, so that I can meet my multiple needs.

Person that has a loved one with food allergies

  • As a person that has a loved one with food allergies, I want to set up profile specifications for a loved one, so I can see food options that are safe to order for them.

Administrator

  • As an administrator, I want to message users, so that I can communicate any concerns or questions.
  • As an administrator, I want to make announcements, so that I can broadly notify users.
  • As an administrator, I want to delete reviews, so that I can keep the reviews relevant and appropriate.
  • As an administrator, I want to add restaurants, so that I can expand the selection of restaurants.
  • As an administrator, I want to delete restaurants, so that I can maintain an up-to-date list of included restaurants.

Restaurant Vendor

  • As a restaurant vendor, I want to see the reviews from customers, so that I can address any comments or concerns as needed.
  • As a restaurant vendor, I want to report reviews, so that the Administrator can address inappropriate and/or unfair reviews that can harm the restaurant’s rating.
  • As a restaurant vendor, I want to update menu items and their ingredients in the application, so that customers are ordering what they expect.
  • As a restaurant vendor, I want to update the restaurant’s information, so that the information is accurate.

Requirements

Functional Requirements

Definite

  • The application must allow users to create an account.
  • The application must allow users to create different profiles.
  • The application must allow users to specify and save food allergies and dietary preferences.
  • The application must allow users to search for restaurants by name.
  • The application must allow users to filter restaurant choices.
  • The application must separately list menu items that meet profile specifications.
  • The application must separately list all menu items from the restaurant.
  • The application must differentially label menu items based on meeting the three different profile specifications.
  • The application must allow restaurant vendors to update menu items and their ingredients.
  • The application must allow the administrator to add new restaurants.
  • The application must allow the administrator to delete restaurants.

Perhaps

  • The application should allow users to post a review on their experiences.
  • The application should display ratings with reviews.
  • The application should allow the administrator to delete reviews.
  • The application should allow the administrator to make announcements.
  • The application should allow restaurant vendors to comment on reviews.
  • The application should allow restaurant vendors to report reviews.
  • The application should allow restaurant vendors to edit their restaurant information.

Improbable

  • The application could recommend modifiable menu items.
  • The application could allow users to make online food orders through the app.
  • The application could include rare dietary restrictions.
  • The application could allow the administrator to message all users.

Non-functional Requirements

Definite

  • The application must be compatible with iOS and android devices.
  • The application must work on Wi-Fi and cellular data.
  • The application must give the user a disclaimer on responsibility and legality.

Perhaps

  • The application should connect with other food delivery applications.
  • The application should inform the user of steps to handle errors.

Improbable

  • The application could work without Wi-Fi or cellular connection.