Project Topics

Engineering Projects

Android Grocery Shopping List

Published on Sep 16, 2019


Shopping is an intrinsic part of everyday life. The purpose of creating shopping lists is to efficiently manage time and resources while shopping and not forget something important to buy. These shopping lists could range from grocery shopping to shopping clothes, accessories, jewelry, gifts for special occasions, etc. The paper-pen based approach is no longer the only or effective means of creating shopping lists.

With the advent of the mobile phone era and the frequent use of mobile apps to perform everyday tasks, the trend to use apps for creating and managing shopping lists is becoming more popular by the day. There are hundreds of “Shopping List” apps for both Android phones and iPhone. Also, the design of the mobile app interface contributes a significant share in human computer interaction (HCI) research. The goal of this paper is to study the transformation from paper-pen based approach to the mobile app approach, analyze user experience with the most popular shopping list apps for both Android and iPhone; and suggest new ways to improve this experience both in terms of usability of app and user interface improvements.

Before going to the grocery, it is very important to list the things you need to buy. You don't want to end up purchasing goods in the grocery and later realize that you forgot an item or two. Making a list can also help you sort out and prioritize the items you need to buy.

Hardware Interfaces

SmartCart operates similarly on various mobile devices with different physical characteristics that run on Android operating system. Since the Android client will be implemented as a thin client, meaning the most of the computing and data storing will be done on the server side, the mobile application will not consume a lot of CPU or phone memory. The GPS will be needed for the purpose of locating the user and getting the nearest store or stores around him in a radius specified by use. It provides the exact location all the time and will be integrated with Google Maps, so the users can see their location and the location of the stores on the map. The phone camera functionality will be used for barcode recognition and scanning.

Communication Interfaces

The communication interface between the Android phone and web server is achieved through the web service (JSON / REST). REST permits many different data formats and one of them is JSON, which can be relatively easily consumed by an Android application. Another advantage is that REST has good performance and scalability.

Mobile application graphic user interface

The main graphic content will be implemented using embedded basic layouts and widgets which ADT provides. One of the design decisions is that the user‟s screen orientation will be locked in a portrait mode view. The user will start the application by selecting the SmartCart icon in the application menu. Error and help messages pop up when they have initially occurred.

A good GUI has to be:

 Intuitive

 User-friendly

 Fast
The following figures illustrate just an example for a possible GUI for the SmartCart application.

The application GUI is made to be simple which is shown in Figure 2.1. On the main screen there are just 3 essential buttons which lead on other views: Products, Shopping list and Stores.

Android Grocery Shopping List

Figure 2.2 illustrates the „Product‟s view will list all available products with possibility of manually adding new products to the list.

Software Architecture

Our system is implemented using Service oriented Architecture. The Figure 3.1 provides an abstract overview of the whole system. SmartCart server is a web based server, whose client is the Android application. The server processes and handles the client‟s data requests. The Android client and SmartCart server will communicate over the Internet, using a web service and the data format being exchanged between the client and server will be JSON based which has many advantages including reduced communication and parsing overhead.

We can see that there are three building blocks of our software.

1. Android Client

The client application exposes the system functionalities to the users. The client communicates with the server and consumes the web services offered by the server. The android application will be implemented as a thin client, which means that most of the computing and the data will be stored on the server side of the system. In the future that will enable faster, easier and consistent development of the SmartCart mobile application for other mobile platforms such as the Windows Phone 7.

Android Grocery Shopping List

2. SmartCart Server

The server application encapsulates the major functionalities of the system. These functionalities include web services management, storage management, and user authentication.

3. Web Services

The web services function as a middleware of our system. The client requests are sent to the server through the Internet and handled by the server. SmartCart will be using JSON based web services because of the reduced overhead related to parsing responses/requests as compared to the SOAP/XML.

Related Projects