Smart Shopping System with Android Application and Integrated BillingRussel Abreo Department of Computer Engineering Don Bosco Institute of Technology Mumbai, India abreorussel@gmail.com Briclad Dsouza Department of Computer Engineering Don Bosco Institute of Technology Mumbai, India bricladdsouza@gmail.com Harshada Patil Department of Computer Engineering Don Bosco Institute of Technology Kalyan, India harshadapatil463@gmail.com Ditty Varghese Department of Computer Engineering Don Bosco Institute of Technology Mumbai, India dittyvarghese01@gmail.com Amiya Tripathy Department of Computer Engineering Don Bosco Institute of Technology Mumbai, India amiya.dbit@dbclmumbai.org Abstract—In metro cities there is a presence of a huge rush at shopping malls on holidays and weekends. This increases even more when huge offers and discounts are present. People buy a variety of items and place them in the trolley. The traditional approach that is used for billing which involves people standing in a queue and scanning each item of every customer with the help of a barcode scanner is time consuming. Every item has to be brought in the line of sight of the barcode scanner. There are times when the cashier has to enter the barcode number manually due to an error in scanning. Following such an approach results in long queues at the billing counters which discomforts the customers. This work presents an idea to develop a system in shopping malls to overcome the above problem. In order to achieve this ,we have implemented an application that assists every customer and a server side website to assist the retailers. This approach will benefit each and every individual especially the disabled and senior citizens. By using this approach, a lot of time and man power can be saved. Keywords- QR/barcode Scanner, IOT-Internet Of Things, Xampp, A* Search, Smart Shopping System, Android application I. INTRODUCTION According to the present scenario ,nowadays shopping at malls has become a daily activity in metro cities. There is a huge rush at the malls especially on public holidays and weekends. Once the customers are done with their purchase, the cashier prepares the bill at the billing counter using a barcode reader which is a time consuming process thus resulting in long queues. With respect to the above problem, we have implemented an application and server side website which can be used in shopping malls to solve the rush at billing counter. This application explores rising versatile innovations as an approach to expand the customer esteem and to enhance the nature of administrations given by retailers consequently permitting to save time and cash. The main objective of this system is to benefit senior citizens as they can skip long queues and enjoy shopping. [1] II. RELATED WORK In the current scenario shopping is quite difficult .This is due to the fact that one would have to stand in long queues in order to get all their items in the cart scanned and then pay the bill. Such a tedious process results in more time consumption and unhappy customers. As of now in all the retail stores ,the technology being used universally are barcodes since 1970s. The barcode readers enable the employees of the retail store to read the barcode as well as print them on the products. The restriction faced in a barcode reader is that it has to be in the Line of Sight with the barcode of the item. This tends to increase the time consumption. [2] The recent couple of years have observed explosive interest in RFID and supporting technologies .But there is disadvantage of using such hardware as they are not cost effective. Equipping each and every cart with such hardware would require a huge investment which would also include their maintenance costs. The system which we are proposing will include an application and a server side website . The application will be able to access the phone camera and with it’s help , the customer can scan the QR code/barcode of the product.The speed of the scanner is extremely fast thus making our system userfriendly. The interface of adding the the items to the bill is very simple for a layman to understand. The library used for scanning the QR code/barcode is Zxing. Zxing is a popular open-source library for barcode/QR code decoding .ZXing (“zebra crossing”) is implemented in Java, with ports to other languages. It has support for 2D barcodes ,1D industrial and 1D product. ZXing is used to make millions of barcodes on the web .This library also forms the basis of Android’s barcode Scanner. [3] Quick Response code is a two dimensional matrix code Electronic copy available at: https://ssrn.com/abstract=3683282
that is designed by keeping two points under consideration. It is used as it can store a large amount of data as compared to 1D barcodes. QR code provides high data storage capacity, fast scanning and many other advantages including error- correction and different type of versions.Barcodes are a machine-readable representation of numerals and characters which consist of bars and spaces. The bars and spaces are of varying width and can be read with an optical barcode scanner. The type of barcode we have used in our database is CODE128 . All 128 characters of ASCII can be encoded by it . It comprises of three code sets. [4] This application consists of an additional module that helps the customer to find the shortest path within the shopping mart from his/her initial position to the item he/she wishes to buy. The algorithm used for this purpose is A StarAlgorithm. This path finding algorithm is better than the others because it doesn’t traverse the whole graph to acquire the shortest path. It expands a particular node only if it finds it promising. It’s main objective is to reach the goal node from the initial node without traversing each and every node. The time complexity is quite less in comparison to the other algorithms. [5] A server side billing will also be included in this system. This module will include the interaction between the application and the local server. Here, the local server used will be Xampp server. The bill generated in the application is submitted to the server for verification and security purpose. A tabular view of all the bills with unique identification for each customer will be displayed on the server side. Each bill displayed on the screen will be verified by the employee of the mart with the customer’s bill generated on the application. III. EXISTING SYSTEM Nowadays human lifestyle has changed and has become even more hectic than it used to be. The fact that people have very less time to spend for shopping which is quite inevitable. Hence they prefer shopping in the malls as each and every item is available in one place. This helps them save time from going to different shops which have only a limited type of items. Though shopping in such malls gives the benefit of saving time ,people only have the weekends free to visit these malls. This results in a problem at the billing counter due to the increasing number of consumers. Observing the general Indian population and their way of thinking, in the existing system, every individual takes product puts into the trolley. After the shopping is done ,the customers stand in a queue for billing. During this process only a single individual scans the barcode of each and every product and generates the final bill. This process consumes a lot of time and it gets worse on holidays, special offers or weekends. It also seems quite hectic to wait in the long queues for senior citizens. [6] Considering the barcode scanners in the existing malls,are able to read barcodes that are graphic images featuring a series of lines or bars, of varying thickness, positioned parallel to each other in such a manner that a scanner when passed along the image , it will translate their thickness and spacing with relation to each other as a series of numbers or code. A customized software is used to interpret this code to produce stocking and pricing information in an effort to assist in the automation of the retail sales and stocking processes. When there are discounts , there are times when the store employees tend to forget to code in the discount price. This tends to lead to delays and confusion at the checkout counter , discomforting the customer, the employees, and other customers waiting in line. There are times when the clerk reads the numeric code present on the barcode and enters it manually when the barcode isn’t getting scanned. Retailers are used to the barcode scanning process and perform it quickly and automatically, without putting any extra effort on their part, due to which their lack of practice in manual code entries may potentially slow them down or lead to entering inaccurate information , further delaying the checkout process. [7] For businesses that lack the availbility of a barcode checkout system , the cost of the equipment necessary to implement the new system can be prohibitive. Employees have to be trained to adapt to a new equipment and expensive printers. These printers must be purchased to print labels for any merchandise that doesn’t come with barcode prepackaged on it. The recent couple of years have observed explosive interest in RFID and supporting technologies .But there is disadvan- tage of using such hardware as they are not cost effective. Equipping each and every cart with such hardware would require a huge investment which would also include their maintenance costs. IV. PROPOSED SYSTEM The proposed system for smart shopping is based on an android application which includes a server side as well a java application for the client side. As shown in Figure 1, the shopping system includes a client side application for search, scan and delete operations which will use the local database followed by billing and sending the bill to the server side java based payment application which will use and update the central database. Proposed System is shown in Figure 1 Fig. 1. Proposed System Electronic copy available at: https://ssrn.com/abstract=3683282
V. METHODOLOGY Considering the existing system and its drawbacks, the smart shopping system uses an android application for scan- ning using the device’s camera for scanning barcode to get the details of the scanned item and adding it to the list. Searching an item in the system is also performed in the application. The list can be converted to the bill and sent to the employee server for payment. This saves the time taken to stand in a line for billing as well as helps the user see the details of each scanned item. It even lets the user have a shopping experience where the user doesn’t have to worry about the bill going over the users budget as they can view the bill at anytime and decide what to purchase as well as what they do not need and can delete unwanted items from the list saving them time. The existing smart shopping systems are expensive to implement and costly to maintain. Using an application will drastically reduce the implementation as well as maintenance cost. Using the systems search operation to search items even saves the time wasted for searching for a specific item. VI. SYSTEM OVERVIEWFigure 2 shows the overview of the system that is imple- mented. The system uses the android application for searching an item or scanning a barcode to add an item in the list which is a local database stored in the android device which converts into the bill. The bill can be updated to delete unwanted products previously added by the user. The bill is then sent to the server which processes it and then waits till the payment is done by the user and confirmed by the employee to make changes in the central database. Fig. 2. System Overview The system consists of modules for each operation. These modules include the client application that provides scanning, adding the scanned items to the bill, searching for items, updating the bill and a server side application for payment purpose. A. ANDROID APPLICATION 1) Scanning: To scan an item the user has to open the application and scan the product using the scanner created using ZXing by google, and then pointing the camera towards the items barcode which scans the item and displays its details. 2) Add to Bill: After scanning the item the displayed item can be added to the bill using this module. Adding is done using following steps. • Step 1:To add an item the customer has to scan the item. • Step 2:Once the item is scanned the user can see its details and add it to the bill. • Step 3:Once the user is done adding, the bill can be printed using a button. Flowchart is shown in Figure 3 Fig. 3. Adding Item to Bill 3) Updating the Bill: The bill can be updated if the user wants to remove any item previously added to the bill. The bill once updated can be sent to the server. Flowchart is shown in Figure 4 To update the bill the user should; • Step 1:First search and select an item. • Step 2:Once the item is selected the user can view it and delete it from the bill. • Step 3:The local database is then updated after deletion. • Step 4:Once the user is done updating, the bill can be sent to the server using a button. 4) Item Search: The user will be able to search for the item he/she wishes to purchase. An item can be searched by the following steps. • Step 1:The customer has to select an item. • Step 2:Once the item is selected the database is checked for availability. • Step 3:If item is available The path is calculated using A* algorithm with weighted nodes. • Step 4:The shortest path is displayed on screen. Flowchart is shown in Figure 5 This system uses A* algorithm to perform item search within the shopping mart. Using this algorithm with inputs of Electronic copy available at: https://ssrn.com/abstract=3683282
Fig. 4. Deleting Item from BillFig. 5. Searching an Item size and item to be searched the program gives the shortest path to the item. A* Algorithm A* is a best-first search or an informed search algorithm. It is formulated in terms of weighted graphs: starting from a specific starting node of a graph, it aims to find a path to the given goal node which has the least cost (least distance travelled, shortest time, etc.). For every iteration of its main loop, A* has to determine which of its paths to extend. It does so, based on the cost of the path as well as the estimate of the cost required to extend the path all the way to the goal. f (n) = g(n) + h(n) − (1) Where n is the next node on its path, g(n) is the cost of the path from the start node to n, and h(n) is a heuristic function which estimates the cost of the path that is cheapest from n to the goal.[10] Node will be represented as co-ordinates which is used for searching. [8] Pseudo Code public void { 1) Inputs • size • start location and end location 2) Internal Data • fringe - a list of map locations to be evaluated, in ascending order of estimated distance. • closedList - a list of map locations that have been fully evaluated. 3) Data Structure Route Node contains• a map location. • pointer to this node’s parent node. • d, the actual distance traveled to reach this node. • dPlusL2, which is d + linear distance to goal. 4) Search() • Put start node onto fringe. • endNode = findRoute() 5) findRoute() • if fringe is empty – // No route exists between start and goal. – return 0 • else – node = remove first fringe node (it will have the shortest estimated distance to the goal). – if node’s location is the goal ∗ return RouteNode data for current location. – else ∗ if node’s location is not on the closedList. · add node to closedList. · addChildrenToFringe(node) ∗ return findRoute() 6) addChildrenToFringe(parentNode) • for all children of parentNode – if child’s location is not on closedList. ∗ childNode = new RoutNode() ∗ childNode.parent = parentNode Electronic copy available at: https://ssrn.com/abstract=3683282
∗ childNode.d = parent.d + linearDis- tance(parent, child) ∗ L2 = linearDistance(childNode, goal) ∗ childNode.dPlusL2 = childNode.d + L2 – Add childNode to fringe, maintaining ascending dPlusL2 order. } public void (Rendering the path from the Closed List) { After all the iterations, and the goal has been reached, the path is then rendered by backtracking from the goal to start. This is often done by iterating backward through the closedlist, going from the goal node’s parent node to each preceding node’s parent until the start is found. } [9] B. SERVER-SIDE APPLICATION This module includes the interaction between the user application and the central server while updating the central database.The bill is sent to the server-side application and stored using a unique ID which be given to the user. The module uses a login page for the employees and the bills received appear on the page once the payment is done these bills are stored in a database and the changes are reflected on the central database. The library used for connecting android application with local server is volley. It is a Http asynchronous request API, which provides a request queue, with better cache mechanism, allowing network access toAndroid applications easier and more efficient. [10] 1) Login Page: Employee has to login to the website in order to view the bills.This login page is created using PHP session management.He has to enter valid username and password to login into the page where a session is created on each login until an employee logs out. 2) Bill Confirmation and Database Update: Once the em- ployee logs in the employee can view all unpaid bills on the screen and once the bill is paid using the unique ID the bill is stored in the database and the items bought will be updated on the central database. VII. IMPLEMENTATION A. SOFTWARE USED 1) Android Studio: Android Studio is the official integrated development environment which is IDE for Android applica- tion development. It is based on the IntelliJ IDEA , a Java IDE for software which incorporates its code editing and developer tools.[1] Our work involves developing an application that would be able to scan items and generate the bill. 2) JAVA 8: Java 8 (codename: Spider) was released on March 18, 2014 and included some features is considered to be the world’s number 1 development platform.[1] 3) Xampp Server: XAMPP is a free and open source cross-platform web server solution stack package developed by Apache friends for scripts written in the PHP and Perl programming languages.It is used in server side billing system where the interaction between application and local server takes place.For connecting android application with xampp server volley library is used. [11] 4) PHP: PHP is a server side scripting language for making dynamic and interactive Web pages. Website for server side billing is created using PHP and HTML languages. B. DESIGN The user application is created using android studio. The application consist of the scanning and billing systems. The server side application uses php for login and connection. 1) Scanning System: The android application opens a startup page on which button appears to go the scanning page which includes the barcode scanner. Once the barcode is scanned the details is displayed on the screen on an alert dialogue box. Figure 6 shows the opening as well as scanning page and the alert dialogue box which displays the details. Fig. 6. Scanning System 2) Database Structure: The local database is used for getting the details for the scanned items and to store the bill. Figure 7 shows the database design for retrieving the data. Fig. 7. Database Design 3) Billing Page: The Billing page displays the items added to the list and stored in the database. The bill can be updated by deleting the unwanted scanned items which reflects in the local database. Figure 8 displays the bill page design along with the alert box for the bill and database update. 4) Item Search: This interface is present in the application. The customer has to provide two inputs , the current location and the name of the item to be searched. The A* algorithm then determines the shortest path to the aisle in which the item is present. Figure 9 shows the output. Electronic copy available at: https://ssrn.com/abstract=3683282
Fig. 8. Billing Page Fig. 9. Shortest Path Output 5) Employee Login Page: Employee has to login to view the sent bill along with a unique ID with the employee’s login credentials in a session based login management. Once logged in the employee has to complete user payments and once payment is done the bill is stored in the server and is reflected in the central database. Figure 10 shows the login page for the employee’s login. Fig. 10. Employee Login Page VIII. CONCLUSIONThe proposed model is straightforward to use, cheap and doesn’t need any special coaching thus making it customer friendly. It keeps an account and uses of the present develop- ments and numerous sorts of identification and detection tech- nologies that square measure used for item recognition, charge and inventory update. Since the whole system is changing into good, the requirement of force can decrease, therefore benefit- ing the retailers. The time potency can increase phenomenally since this method can eliminate the waiting queues. A lot more customers will be served in same time therefore benefiting the retailers and customers. IX. FUTURE SCOPE In this research, the domain was kept restricted with an assumption that the system is used in a safe environment. Con- sidering the fact that the products won’t be tallied manually at the counter , technologies like computer vision ,deep learning and sensor fusion can be used to improve the security aspect of this system. The ceiling can be installed with cameras and weight sensors can be used in the shelves to detect which item is picked by a customer, thus making a record of the items in the shelf. This reduces the risk factor of theft. Online payment can be added as a feature in the application which will provide faster shopping experience. R EFERENCES [1] K Prasiddhi and Dhanashri H Gawali. Innovative shopping cart for smart cities. In 2017 2nd IEEE International Conference on Recent Trends in Electronics, Information & Communication Technology (RTEICT) , pages 1067–1071. IEEE, 2017. [2] S Yadav, S Aggarwal, M Yadav, N Gupta, and S Karkra. Ingenious shopping cart: Rfid enabled for automated billing. Int J Comput Sci Mob Comput , 5(5):209–214, 2016. [3] Nivedan Bhardwaj, Ritesh Kumar, Rupali Verma, Alka Jindal, and Amol P Bhondekar. Decoding algorithm for color qr code: a mobile scanner application. In 2016 international conference on recent trends in information technology (ICRTIT) , pages 1–6. IEEE, 2016. [4] Sumit Tiwari. An introduction to qr code technology. In 2016 International Conference on Information Technology (ICIT) , pages 39– 44. IEEE, 2016. [5] D. slant and b. search, ”slant - dijkstra’s algorithm vs a* algorithm detailed comparison as of 2020”, slant, 2020. [online]. available: https://tinyurl.com/r2c869e. [accessed: 19- feb- 2020]. [6] P Chandrasekar and T Sangeetha. Smart shopping cart with automatic billing system through rfid and zigbee. In International Conference on Information Communication and Embedded Systems (ICICES2014) , pages 1–4. IEEE, 2014. [7] You-Chiun Wang and Chang-Chen Yang. 3s-cart: a lightweight, interac- tive sensor-based cart for smart shopping in supermarkets. volume 16, pages 6774–6781. IEEE, 2016. [8] A* search algorithm explained”, tinyurl.com, 2020. [online]. available: https://tinyurl.com/urpggk8. [accessed: 22- feb- 2020]. [9] ”introduction to the a* algorithm”, mnemstudio.org, 2020. [online]. available: http://mnemstudio.org/path-finding-a-star.htm. [accessed: 19- feb- 2020]. [10] Yang Shulin and Hu Jieping. Research and implementation of web services in android network communication framework volley. In 2014 11th International Conference on Service Systems and Service Management (ICSSSM) , pages 1–3. IEEE, 2014. [11] Sanya Patel, Aliya Sayyed, and PP Bastawade. Smart attendance application using android and php. International Journal of Advanced Research in Computer and Communication Engineering , 6(3), 2017. Electronic copy available at: https://ssrn.com/abstract=3683282
Share with your friends: |