Mobile platform for selling used items with recommendations and an image-based system for recognizing similar items - Távora, Miguel (2024)
The purpose of this report is to describe the whole process that led to the final product obtained, which is the e-commerce mobile application and the recommendation system of products based on images. The methodologies used in this project are divided into two important key factors. The first one is the impact of software architecture and how it can be applied to explore components like infrastructure needed, technologies, and programming languages. The second one is the importance of the recommendation system in an e-commerce application and how it might en hance the user experience of the application. The software architecture has the objective of creating the whole system from the ground up, utilizing the software engineering principles. The main objective of software engineering should be to develop a system as simple as possible with minimal entropy possible. To achieve this, it is necessary to create the software architecture to use it as a guideline to build the project and also to expand it in the future. This was achieved through the requirement specification, logical and detailed architecture using a top down approach.Despite the time-consuming nature of creating the architecture and its diagrams, in the long run, it helps to reduce the entropy of the system facilitating the development of good quality code with a good organization. The recommendations system proposed is based on searching for similar images. The user uploads one or more images, then the system will use deep learning using a multi class classifier and a distance metric. To evaluate the quality of the system several tests were conducted, obtaining a MAP of 0.897. However, this methodology has some key limitations related to the images themselves. For example, if a user wants a red item but the image has poor illumination or the photo is taken at a bad angle, it might affect the search results.