C-MacD / system-design-cruisine

System Design CMPT 330 project. Colin MacDonald, Erin Alvarico, Elizabeth Bellissimo, Melissa Aguilar.
https://c-macd.github.io/system-design-cruisine/
2 stars 0 forks source link

CRUISINE

The Groceries You Need, Delivered Your Way System Design CMPT 330 Project under the supervision of Professor Jim Crowley.

Designed and created by Team Platinum: Colin MacDonald, Erin Alvarico, Elizabeth Bellissimo, Melissa Aguilar.


What is Cruisine?

Nationwide, many college students have difficulty gaining access to a variety of healthy food options while attending classes at their universities. A couple of these limitations that students face are limited means of transportation, and rationing time to go grocery shopping between homework, sports obligations, or extracurricular activities. Some institutions that provide on-campus dining are expensive and do not provide healthy or desirable options for individuals wishing to follow a diet or have food allergy issues.

In most recent events, COVID-19 has also greatly impacted the availability of diverse and nutritious food options due to the newly enforced safety protocols. Thus, Platinum Inc. created Crusine, a non-contact way to order groceries and have it directly delivered from the store of your choosing to any college campus.

Crusine is an online delivery service where users can log-in and build a shopping cart of items available from any of our partner stores in their local area. Working similarly to Grubhub and Doordash, orders made are paid online after selecting their delivery location and a time window for delivery that can be convenient for the user.

Behind the scenes, while the user can attend to other errands, our employees will shop for the items specified, package them, and transport them at the time window asked for pickup. This eliminates the time, resources, and energy the user would need to plan and use for each trip to the grocery store. Now at your fingertips, you can pick up your groceries from the safety of your campus!

Ideally, if Crusine is proven successful when implemented with college campuses, Platinum Inc. hopes to expand to a larger audience where grocery delivery services can be accessible to not only college students but families and the elderly as well.


What is Required of the User to Use Crusine?

Crusine is meant to be as easy-to-use as possible, in which we had decided to simplify the information needed to place an order whilst accounting for the safety of our workers and users.

Users will be asked to sign-up once utilizing:

Once the user has created their profile, they are allowed to customize:

All customizations are optional, additional information for the convenience of the user. If not customized, the user will manually need to input their address and payment type for every order made.


How Do I Place an Order?

Crusine pulls up stores near the user (Utilizing either Location Services, an Address, or Search for Store) and they can place an order with the items available. Orders may be placed with only one store at a time. The users can alternatively search for a certain product and find a store that provides it.

From selecting that product, they are now locked to shopping within the contents of that store.

Once the user has found all the items that they desire, they can checkout. If customizations are enabled, the following fields will be filled with the user's preferred information, but can be changed:

From there, the user then can check up periodically on their order to see any updates on their shopping or delivery. Cruisine will send an update to the user once their groceries have been delivered. Similarly to Uber or Lyft, a license plate number, name of our employee, and a visible sticker of our Crusine logo should help the user identify where their grocery delivery worker is.

If the user has provided a number and consented to receive updates and calls, the employee will call or send an update upon arrival.

Tips and payments were processed before delivery, so after retrieving the goods, no further interaction is needed from the client.