Ponto de Venda autónomo em dispositivo móvel (offline e online) - Francisco de Sousa Gomes Ferreira do Couto (2017)
A point of sale (POS) is a device with which is possible to register and conclude a sale. Due to the wide array of functionalities they provide, these devices can be part of a broader valorisation of the business world, allowing things such as real-time management of processed sales and product stock changes. Due to the latest shift in the business world to treat the business as a service, delivering it directly to the client, there's the urge to bring in tools that distinguish themselves by their portability and easiness of access to business related data. Taking this into account, Gestware, a portuguese company dedicated to the development and distribution of software for managerial purposes, suggested the creation of a proof of concept that emulated some of their web based product functionalities on a cross platform mobile application. The goal of this thesis is to present an architecture based on the mobile application built. The solution must be developed resorting to Xamarin's development environment allowing its usage on either Android, iOS, or UniversalWindows Platform. The whole architecture shall be based on Microsoft's cloud platform, Azure. The usage of state of the art technology isn't the sole differentiating aspect of the proposed solution. In order to be considered a disrupting product in the market, and to offer extra portability to its usage, it must be able to work even when there is no connection to the internet. It shall then be based in a system of distributed databases, which means there would be a main database in the server and a replica in each mobile device. This obviously brings great challenges concerning the consistency and integrity of data since its creation, update, and elimination in a local instance of the database needs to be synchronized in order to be reached a state of consistency between all copies but might lead, as a consequence, to the existence of conflicts if changes are made to different versions of the same data. That said, besides this synchronization mechanism that must deal, as mentioned, with conflicting changes in the databases, there will also exist a study on Data Mining methods that might be helpful to control the special case of stock ruptures. The goal is to try to avoid that, in the inexistence of a network connection, due to non-updated data, sales that are made cause the products' stock values to go below 0. As an analysis of the proposed solution it shall be evaluated how it meets the demanding requirements of the business world, namely in terms of its portability and usability. It must also be analysed how the proof of concept performance differs between scenarios with and without connection to the internet and if the quality standards concerned with its velocity and the integrity of the data are maintained or not and why. Finally, there must exist a thorough evaluation of the usage of the data mining algorithms, namely analysing their error rates, and inferring the true utility of this mechanisms for the architecture proposed in this master thesis as well as the company for which the proof of concept was developed.