Desarrollo de una API REST para gestionar los recursos adaptados para la comunicación aumentativa: ARASAAC-API

García de la Faya, Alberto (2020). Desarrollo de una API REST para gestionar los recursos adaptados para la comunicación aumentativa: ARASAAC-API. Proyecto Fin de Carrera / Trabajo Fin de Grado, E.T.S.I. de Sistemas Informáticos (UPM), Madrid.

Description

Title: Desarrollo de una API REST para gestionar los recursos adaptados para la comunicación aumentativa: ARASAAC-API
Author/s:
  • García de la Faya, Alberto
Contributor/s:
Item Type: Final Project
Degree: Grado en Ingeniería de Computadores
Date: July 2020
Subjects:
Freetext Keywords: Trastorno del Espectro Autista (TEA); Sistemas Aumentativos y Alternativos de Comunicación (SAAC); Desarrollo web; Técnica en gestión de datos
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 TFG_ALBERTO_GARCIA_DE_LA_FAYA.pdf] PDF - Users in campus UPM only - Requires a PDF viewer, such as GSview, Xpdf or Adobe Acrobat Reader
Download (4MB)
[thumbnail of TFG_ALBERTO_GARCIA_DE_LA_FAYA_ANEXOS.zip] Archive (ZIP) - Users in campus UPM only
Download (11MB)

Abstract

El objetivo de este trabajo fue la construcción de una API RESTful que ayudase a organizar los recursos (pictogramas y locuciones) del Portal Aragonés de la Comunicación Aumentativa y Alternativa (ARASAAC). Actualmente el acceso a estos es complejo, por ello se realizó la labor de indexación y categorización de unos 11300 pictogramas. Gracias a esto, los desarrolladores tendrán más facilidades a la hora de crear sus aplicaciones ya que podrán acceder a los recursos de una manera más cómoda. La API se desarrolló para llevar a cabo funciones básicas. Algunas de estas funciones principales son: crear, obtener, actualizar o borrar los pictogramas, categorías y usuarios contenidos en la base de datos. Asimismo, se añadió una capa de seguridad a nuestra aplicación mediante el uso de JWT, que nos permitió autenticar a los usuarios y así, evitar que usuarios no autenticados pudieran acceder a rutas protegidas de la aplicación, evitando así cualquier problemática. El servicio web fue desarrollado en Node.js y se utilizó una base de datos MongoDB para la persistencia de los datos. Para el desarrollo de este servicio se tuvieron en cuenta aspectos muy importantes como pueden ser la disponibilidad, la escalabilidad y la auditoria. En cuanto a la disponibilidad, se crearon dos instancias de la base de datos. Una de ellas se utilizará para la escritura de los datos y replicará los cambios a la otra instancia. De esa, manera, ambas instancias tendrán los datos actualizados en todo momento para que el cliente pueda hacer lecturas. Se ha optado por usar la escalabilidad horizontal, así, tendremos varias instancias de nuestro servicio corriendo al mismo tiempo y, en caso de que una falle, no se detenga el servicio. Para la auditoria y mantenimiento, se han creado logs, tanto de acceso como a nivel funcional para, de esa manera, tener un control de los accesos y de los problemas que un mal uso puedan llegar a generar.
Abstract:
The aim of this work was the creation of a RESTful API that would help to organize the resources (pictograms and locutions) of the Aragonese Portal of Augmentative and Alternative Communication (ARASAAC). Currently, access to these is complex, so the task of indexing and categorizing some 11300 pictograms was performed. Therefore, the developers will have more facilities when creating their applications because they will be able to access the resources more comfortable. The API was developed to carry out basic functions. Some of these main functions are create, obtain, update or delete the pictograms, categories and users contained in the database. Likewise, a security layer was added to our application using JWT, which allowed us to authenticate users and thus, prevent unauthenticated users from accessing protected routes of the application, avoiding any problems. The web service was developed in Node.js and a MongoDB database was used for data persistence. For the development of this service, very important aspects such as availability, scalability and auditing were considered. Regarding availability, two instances of the database were created. One of them will be used to write the data and replicate the changes to the other instance. That way, both instances will always have the data updated so that the client can make readings. We have chosen to use horizontal scalability, so we will have several instances of our service running at the same time and, in case one fails, the service never stops. For the audit and maintenance, we have created logs, both access and functional level, so that we can control access and problems that may arise from incorrect use.

More information

Item ID: 63793
DC Identifier: https://oa.upm.es/63793/
OAI Identifier: oai:oa.upm.es:63793
Deposited by: Biblioteca Universitaria Campus Sur
Deposited on: 14 Sep 2020 13:45
Last Modified: 14 Sep 2020 13:45
  • 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