Universidad de Castilla-La Mancha
 
Escuela Superior de Ingeniería Informática

 

  cambiar a curso:   2022-23   2024-25



Grado en Ingeniería Informática


TRABAJOS FIN DE GRADO
curso: 2023-24

Desarrollo de un sistema back+front office de gran calado aplicado al comercio electrónico


Tecnologías Específicas

Tecnologías de la Información
 


Descripcion y Objetivos

El objetivo principal de este trabajo fin de grado es el diseño, desarrollo y puesta en producción de un backoffice + front + API basado en arquitectura hexagonal como servicio "Serverless" de gestión integral para una gran cuenta del sector del comercio online de bebidas.

Este sistema deberá soportar la afluencia de múltiples cuentas por cualquiera de los 3 caudales de entrada (front, back y API), permitiendo la entrada y gestión tanto a clientes, empleados del comercio y colaboradores / integradores para poder realizar toda la operativa diaria esperada:

  • Compras y ventas de producto.
  • Gestión de contenido CMS.
  • Automatizaciones de procesos para comunicaciones.
  • Gestión de pasarelas y canales de pago (con sus correspondientes integraciones).
  • Control de envíos (con su correspondiente integración con los servicers del cliente).
  • Reporting.
  • ..//..

El trabajo se realizará mediante el uso de un Framework de desarrollo propietario (escrito en PHP, Angular, Node) similar a otras paqueterías populares como Symfony, Laravel o CakePHP entre otras.

Al tratarse de un desarrollo de software de gran calado, se deberá diseñar/desarrollar, de forma paralela, una estructura de almacenamiento de datos acorde a la volumetría del proyecto (en MySQL) así como la capa de caché correspondiente (Redis).

Otro objetivo del trabajo será colaborar en la configuración / despliegue de la solución desarrollada como servicio auto escalable en infraestructura AWS, configurando los parámetros, agentes y servicios necesarios para su auto escalado dinámico en el dominio de cliente (y en otros entornos pre-productivos: E2E, UAT, PRE).

 


Metodología y Competencias

Para la realización del trabajo se ha optado por una metodología ágil segmentada en sprints auto conclusivos de 1 – 2 semanas de duración (en función del volumen de tareas seleccionado). Dado que se trata de un proyecto vivo que irá evolucionando a lo largo de su desarrollo y estará validado / testeado por el cliente final, la adaptación a potenciales cambios de paradigma basados en la interacción directa justifica la elección de esta metodología en contrapunto de otras.

El Plan de Trabajo incluye las etapas generales que vienen marcadas por la metodología seleccionada:

  • Reuniones periódicas al inicio / final de cada sprint.
  • Daily de máximo 10 minutos para organizar el trabajo diario, objetivos a corto, seguimientos y detectar posibles problemáticas.
  • Realización de los objetivos de cada sprint (estudio previo, realización de pruebas de concepto, desarrollo de la arquitectura base, priorización de la funcionalidad, desarrollo de la funcionalidad priorizada, realización de pruebas, evaluación final).
  • Publicación en entornos pre-productivos para validación por parte del equipo QA del cliente.
  • Fases de regresión al inicio del siguiente sprint en caso de no conseguir objetivos del anterior.

A lo largo del trabajo se pondrán en juego prácticamente todas las competencias definidas para la Tecnología Específica de Tecnologías de la Información, con especial énfasis en las siguientes:

[TI1] Capacidad para comprender el entorno de una organización y sus necesidades en el ámbito de las tecnologías de la información y las comunicaciones.

[TI3] Capacidad para emplear metodologías centradas en el usuario y la organización para el desarrollo, evaluación y gestión de aplicaciones y sistemas basados en tecnologías de la información que aseguren la accesibilidad, ergonomía y usabilidad de los sistemas.

[TI5] Capacidad para seleccionar, desplegar, integrar y gestionar sistemas de información que satisfagan las necesidades de la organización, con los criterios de coste y calidad identificados.

[TI6] Capacidad de concebir sistemas, aplicaciones y servicios basados en tecnologías de red, incluyendo Internet, web, comercio electrónico, multimedia, servicios interactivos y computación móvil.

 


Medios a utilizar

Entre los medios técnicos y servicios que van a usarse para llevar a cabo esta labor destacamos los siguientes, segmentados por tipología:

  • Bibliografía sobre el proceso de desarrollo ágil (Scrum).
  • Herramientas de gestión del proyecto (Teamwork).
  • IDE’s de desarrollo (PHP Storm / Visual Studio, Navicat, Postman).
  • Servicios de despliegle y cloudificación (Docker, Github, AWS).
  • Herramientas de desarrollo (Node, Angular, PHP 8.X, JScript, MySQL, etc).
  • Gestión de paqueterías y ORM (Composer, Packagist, npmjs, doctrine, etc).
 


Bibliografía

  • Agile Project Management with Scrum. Ken Schwaber. Microsoft Press, 2004.
  • AWS Serverless Multi-Tier Architectures (AWS Whitepaper) (English Edition).
  • Docker: Up & Running: Shipping Reliable Containers in Production de Sean P. Kane (Autor), Karl Matthias (Autor) – 2023.
  • PHP & MySQL: Server-side Web Development de Jon Duckett (Autor).
  • Agile Project Management with Scrum: Boost Your Team Productivity with Selected Scrum Strategies de Alex Campbell (Autor) – 2022.
  • Version Control with Git: Powerful Tools and Techniques for Collaborative Software Development de Prem Ponuthorai (Autor), Jon Loeliger (Colaborador) - 2023.
 


Tutores


BERMÚDEZ MARÍN, AURELIO
VERDE LOPEZ, NICOLÁS
 

Alumno


MAYORGA ZARCO, ÁLVARO

 

 

Sindicación  Sindicación  Sindicación  Sindicación

Curso: 2023-24
© Escuela Superior de Ingeniería Informática
Edificio Infante Don Juan Manuel
Avda. de España s/n
02071 Albacete

informatica.ab@uclm.es
aviso legal
generar código QR de la página