APICulture: Generación dinámica de servicios web con funcionalidades CRUD

Descripción del proyecto y objetivo a conseguir

En muchas ocasiones es necesario implementar APIs sencillas para almacenar y consultar datos de un tipo determinado. Aunque ya existen plantillas y herramientas de scaffolding, al final termina siendo obligatoria la implementación de determinados componentes: handlers/controllers, conversores de datos, repositorios para almacenar dichos datos, filtros, etc.

El Trabajo Fin de Grado consiste en el desarrollo de una aplicación web (tanto backend como frontend) que permita la creación dinámica de otros servicios web en base a unos datos determinados, unas operaciones que se deseen realizar sobre ellos (ejemplo: leer = GET, crear = PUT, borrar = DELETE) y unas fuentes de datos y almacenaje (como pueden ser bases de datos relacionales, no relacionales o simples archivos en disco). El nuevo servicio no se generará en código para su ejecución independiente, sino que, una vez almacenada su configuración, se interpretará de forma dinámica y se servirá a través de una ruta anidada del dominio principal.

El usuario configurará a través de la interfaz qué datos quiere almacenar en su servicio, cómo quiere almacenarlos y qué operaciones se pueden realizar sobre ellos. Asimismo, sería deseable poder establecer filtros adicionales para algunas operaciones (ejemplo: “dame los compradores cuyo nombre empiece por la letra A”), y además poder securizar determinados endpoints mediante una operación de login + un token proporcionado por los llamantes.

Funciones a realizar

  • Investigar las tecnologías que se usarán.
  • Desarrollar el análisis, diseño, implementación, pruebas y puesta en funcionamiento de la aplicación.

Tecnologías a utilizar

  • Go
  • .Net
  • GraphQL
  • Angular
  • React
  • SQL
  • NoSQL

Palabras clave

  • Web Development, web services, databases

Tutores

  • Guillermo Ménguez Álvarez (HP SCDS)
  • Raquel Blanco Aguirre (Universidad de Oviedo)

Volver al listado