Project Template
Team Name
UTA STeam
Timeline
Fall 2021 – Spring 2022
Students
- Uyen Do
- Patrick Faulkner
- Andrew Hands
- Kiran Karki
- Hozefa Tankiwala
Sponsor
Tim Dockins
Abstract
Technology has revolutionized all platforms including shopping. Furthermore, the thriving of mobile applications has significantly changed the way people shop today. Shoppers do not just go to the store and buy what is available there anymore. Now, they have an option to go online and check for availability and prices before they go. Many applications help with grocery shopping; however, because the shoppers have many choices, it could be overwhelming and time-consuming since they have to look through many deals to compare and decide. There is also a high chance that the selected one might not be the best deal. This is when this application becomes helpful and necessary. The application will take into consideration of time, distance, and cost to suggest the optimal choice. By doing this, the application will help users to save money, time and avoid frustration such as going through bad traffic just to arrive at the store that do not carry the products that they want. Because this application will greatly benefit users, it will soon attract a lot of users, sponsors, and investors. It can also be expanded to get subscriptions, referral marketing, advertising, collect and sell data.
Groco is a grocery shopping web application that is accessible on PC, smartphones, and tablets. The user of Groco will be able to search for the grocery items and based on the user’s preference, the system will suggest the optimal grocery items. The system also allows users to search for recipes, add their recipes and meal plans into their shopping list to perform the optimization and navigation route.
Background
The client, Tim Dockins, is an alumnus of the University of Texas at Arlington. Tim was trying to buy ingredients for his weekly meals and after going to a couple of stores, he still could not buy all of the ingredients he needed. That was when Tim realized that it would be very helpful if there is a groceries shopping application that can tell him where he can get what he needs with the most savings and shortest trips.
Currently, Tim uses the Alexa application to keep his shopping list but he does not use any shopping application to help with comparing prices or distances. Tim acknowledged that many shopping applications help to find sales and coupons; however, no application can combine all aspects and suggest the optimal choice regarding both savings and distance. Therefore, this is a good opportunity for the team to build an application that can solve the problem, gain users and bring value to the community. The client does not have a preference for technical requirements such as a platform or database. However, the client wants to be able to access the application on multiple platforms. The application will allow manual entry to search for items and have a shopping list component. A user will have an account to save his or her shopping list and other settings. The application can access multiple stores and has a map component to navigate users to the stores. The client does not have a preference for the favorite stores, any nearby stores that have the items are accepted. Searching items by brands is not the client’s priority. The desired component is to have in-application recipes to pick from or recipes imported from another website. Regarding the documentation and manual, Tim prefers the in-application manual and wants to have access to source code and documents but does not have a preference of how they should be done
Project Requirements
- The application must allow user to search grocery items
- The application must present user with the best grocery item
- The application must allow users to create grocery lists
- The application must search for all items in the shopping list
- The application must allow users to choose references that define optimal items
- The application must search for optimal items from more than one store
- The application must provide the most optimal route to the user
- The application must allow users to view and share recipes
- The application must allow users to add all ingredients from a recipe to their shopping list
- The application must allow users to keep a list of favorite grocery items
- The application must allow users to create Meal Plan.
System Overview
Groco consists of four main layers: the front-end (the client), the back-end (the server), the database, and the data collector.
The front-end layer includes all software that is part of the product interface. The software is the code that is executed on the client-side (typically HTML, CSS, and JavaScript) that runs in the user’s browser to create the user interface. Users interact directly with different components of the front-end, including user-entered data, buttons, links, and other features.
The back-end layer is the code that runs on the server. The back-end receives requests from the front-end (client) and contains the logic of the application to process each request and return appropriate data to the client. The back-end can directly interact with the database and data collector to retrieve the required data to fulfill each request.
The database layer stores and retrieves data. The database is also responsible for managing updates. The database layer includes multiple data tables that correspond with different functionalities of the product such as a table for users, meal plan, shopping list, item, item-brand, brands, recipes, and recipe ingredients.
The data collector layer is responsible for retrieving data from multiple sources. There is one subsystem in the data collector layer, the API Manager. This layer will also allow for the capability to add web scrappers. The data collector retrieves data from various stores through their respective APIs and returns it to the backend layer.
Results
Future Work
For future work, the actual stores’ API access should be obtained as well as the direct map navigation, the iOS and Android mobile app should be developed, the app should also allow users to rate recipes and report violations, the app can also generate revenue such as from partnerships with other parties to provide more services.
Project Files
Project Charter (link)
System Requirements Specification (link)
Architectural Design Specification (link)
Detailed Design Specification (link)
Poster (link)