This study aims to provide customers with an easy, fast, and convenient shopping experience. Within the scope of the research, I developed an object detection model using my own dataset with YOLOv5 deep learning network. After that, I created a mobile application to utilize this model.
! Please visit my other repository for dataset creation, preparation and model creation processes.
- Firebase Authentication
- Sign In and Sign Up functionalities
Firebase Cloud Firestore
- The database consists of three tables. One of them is the “products” table, which stores detailed information about the products, such as their name, price, description, and image.
- When a user makes a purchase, the shopping details are recorded in the database with the user UID provided by Firebase Authentication integration of current logged-in user. The “orders” and “orderDetails” tables are used to store the users’ purchase history.
- The "orders" table contained general information about the orders. It included details such as the user who placed the order, the total amount, and the date of the order. On the other hand, the "orderDetails" table stored information about the quantities of each product purchased, specifying which products were included in the order and how many of each were bought.
Expo Camera
- As the user continues with their shopping, the application asynchronously captures frames at regular intervals in the background. To capture these frames, the takePictureAsync() method of Expo Camera is called every 2 seconds.
- The captured frames sent as requests to the model prepared using Roboflow's Hosted API.
- The response from the API is processed, and the information of the detected products from the Firebase products table is obtained. These products are then displayed on the screen for the user to see.
- The home screen features a horizontally scrollable view that showcases the working principles of the application. Users can swipe through the cards to learn how to use the app effectively.
- In the products section, users can find a list where they can access images, detailed information, prices of products available in the store. Information about these products is retrieved from the database and provided on the home screen.
-
When the customer enters the profile screen, they encounter a button to view their orders and a button to sign out. When the customer presses the “Sign Out” button, they are directed to the Sign In screen.
-
When the customer presses on the “Orders” button, they can view their past orders.
- Once the customer in the Cart Screen, all they need to do is to proceed with the shopping.
- the captured images from the camera start to be processed in the background without the user's awareness. The processes described in the Frame Detection System section are applied in the background in sequence. The response obtained from this system is reflected on this screen.