Realización del terminal de punto de venta : desarrollo y mejoras del back-end

Franco Gutiérrez, Eduardo (2017). Realización del terminal de punto de venta : desarrollo y mejoras del back-end. Thesis (Master thesis), E.T.S.I. de Sistemas Informáticos (UPM).

Description

Title: Realización del terminal de punto de venta : desarrollo y mejoras del back-end
Author/s:
  • Franco Gutiérrez, Eduardo
Contributor/s:
  • Bernal Bermúdez, Jesús
Item Type: Thesis (Master thesis)
Masters title: Ingeniería Web
Date: 1 July 2017
Subjects:
Freetext Keywords: Terminal punto de venta, TPV, Front-end, Back-end ,Travis, Swagger, Spring, Batch,Framework, Api, Angular, Token, metodología colaborativa, integración continua. Point of sale terminal, TPV, Front-end, Back-end ,Travis, Swagger, Spring, Batch,Framework, Api, Angular, Token, collaborative methodology, continuous integration.
Faculty: E.T.S.I. de Sistemas Informáticos (UPM)
Department: Sistemas Informáticos
Creative Commons Licenses: Recognition - No derivative works - Non commercial

Full text

[thumbnail of TFM_EDUARDO_FRANCO_GUTIERREZ.pdf]
Preview
PDF - Requires a PDF viewer, such as GSview, Xpdf or Adobe Acrobat Reader
Download (4MB) | Preview
[thumbnail of TFM_EDUARDO_FRANCO_GUTIERREZ_ANEXOS.zip] Archive (ZIP) - Personal Archivo Digital UPM only
Download (92MB)

Abstract

Se ha propuesto como proyecto la realización un Terminal Punto de Venta (TPV) que es un sistema informático que gestiona el proceso de venta mediante una interfaz
accesible para los vendedores o compradores. La finalidad de esta aplicación es realizar un único sistema informático que permite la creación e impresión del recibo ticket o
factura de venta —con los detalles de las referencias y precios— de los artículos vendidos, actualiza los cambios en el nivel de existencias de mercancías (STOCK) en la
base de datos. También permitirá realizar las operativas de gestión (búsqueda, eliminación y creación) en relación a los usuarios que puedan usar dicha aplicación. A su vez cada tipo de operativa estará restringida a determinados tipos de usuarios permitiendo así realizar operativas administrativas de manera segura como por ejemplo en relación a la base de datos. Dentro de la aplicación hay dos módulos bien
diferenciados: la parte del front-end y el back-end. El modulo de la parte del front-ent tiene como objetivo construir la parte visual de la aplicación además de gestionar las interacciones con el usuario. A la hora de la implementación se opta por un lenguaje de programación que hoy en día esta teniendo mucho éxito en todas las empresas punteras del mundo que es Angular 2. En el caso de la parte back-end tiene como objetivos implementar y publicar una serie de Apis que tiene como fin abastecer las peticiones
demandas por el front. Este modulo esta hecho empleando una de las plataformas más usadas y demandadas en el mercado laboral actual que es Spring.

A su vez esta aplicación esta desarrollada entre varios alumnos y para poder conseguir los objetivos de manera satisfactoria se aplica una metodología de trabajo de tipo
colaborativa para poder conseguir que cada alumno realice de manera independiente su proyecto y pueda convivir con los desarrollos por parte de otros alumnos. Cada alumno escoge tareas definidas previamente para la implementación del proyecto, en mi caso las tareas a realizar son las siguientes:

• Desarrollo de Api's relacionadas con la gestión de usuarios de la aplicación.

• Refactorización de la Apis creadas.

• Implementación de un proceso de eliminación de tokens caducados en Spring Batch además de la configuración necesaria para poder emplear dicho framework.

• Documentación de las Apis del proyecto por medio de la herramienta de Swagger.
Además para poder desarrollar correctamente la gestión de trabajo, todos los alumnos del proyecto se realizara una serie de iteraciones (hitos) de dos semanas de duración,
donde cada alumno escogerá que tareas a realizar para cada hito. Al finalizar cada iteración habrá una reunión con el tutor para revisar los avances conseguidos y proponer
los objetivos para las próximas iteraciones. A su vez para poder realizar los desarrollos correctamente, la aplicación está configurado de tal manera que cuando un alumno incorpora una mejora en el proyecto, éste automáticamente se despliega en Travis,ejecutando las pruebas unitarias y funcionales, facilitando la integración continua.

ABSTRACT

It has been proposed as project the realization of a Point of Sale Terminal (TPV) which is a computer system that manages the sales process through an interface accessible to
sellers or consumers.

The purpose of this application is to make a single computer system that allows the creation and printing of the receipt ticket or sales invoice - with the details of the references and prices of the items sold, updates the changes in the stock level of goods (STOCK ) in the database. It will also allow management (search, delete and create) operations related to the users who can use that application. In turn, each type of operation will be restricted to certain types of users allowing to perform administrative operations in a secure way, for example in relation to the database.

Within the application there are two well differentiated modules: the front-end and the back-end. The front-end side module aims to construct the visual part of the application
besides managing the interactions with the user. At the time of implementation we opted for a programming language that today is very successful in all the leading companies in the world which is Angular 2. The back-end part is to implement and publish a series of Apis that has as a Purpose to meet the demands by the front. This module is made using one of the most used and demanded platforms in the current job
market that is Spring.

This application is developed by several students and, in order to achieve the objectives in a satisfactory way, a collaborative type working methodology is applied, to enable
leading each student to independently perform their project and can coexist with developments of other students. Each student chooses previously defined tasks for the implementation of the project, in my case the tasks to be performed are the following:

• Development of Apis related to the management of users of the application.

• Refactoring of Apis created.

• Implementation of a process of expired tokens elimination in Spring Batch in addition to the configuration necessary to use this framework.

• Documentation of project Apis using the Swagger tool

In addition, in order to correctly develop the work management, all the students of the project will perform a series of two weeks iterations (milestones), where every student will choose which tasks to perform for each milestone. At the end of each iteration there will be a meeting with the tutor to review the progress made and propose the objectives for the next iterations. In order to be able to carry out the development correctly, the
application is configured in such a way that when a student incorporates an improvement to the project, it is automatically deployed in Travis, running unit tests and
functional test, facilitating continuous integration.

More information

Item ID: 48235
DC Identifier: https://oa.upm.es/48235/
OAI Identifier: oai:oa.upm.es:48235
Deposited by: Biblioteca Universitaria Campus Sur
Deposited on: 24 Oct 2017 06:41
Last Modified: 24 Oct 2017 06:41
  • Logo InvestigaM (UPM)
  • Logo GEOUP4
  • Logo Open Access
  • Open Access
  • Logo Sherpa/Romeo
    Check whether the anglo-saxon journal in which you have published an article allows you to also publish it under open access.
  • Logo Dulcinea
    Check whether the spanish journal in which you have published an article allows you to also publish it under open access.
  • Logo de Recolecta
  • Logo del Observatorio I+D+i UPM
  • Logo de OpenCourseWare UPM