0% encontró este documento útil (0 votos)
29 vistas12 páginas

Arquitectura del Sistema FlashMatch

El informe detalla la arquitectura del sistema 'FlashMatch', una plataforma para conectar jugadores de fútbol y facilitar la búsqueda de canchas, que incluye un frontend en Angular y una API backend en NestJS. La aplicación utiliza inteligencia artificial para ofrecer recomendaciones personalizadas y se implementa con un enfoque en la seguridad, escalabilidad y mantenimiento. Se propone un desarrollo ágil y un pipeline de CI/CD para asegurar la calidad y eficiencia en el despliegue del sistema.
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
29 vistas12 páginas

Arquitectura del Sistema FlashMatch

El informe detalla la arquitectura del sistema 'FlashMatch', una plataforma para conectar jugadores de fútbol y facilitar la búsqueda de canchas, que incluye un frontend en Angular y una API backend en NestJS. La aplicación utiliza inteligencia artificial para ofrecer recomendaciones personalizadas y se implementa con un enfoque en la seguridad, escalabilidad y mantenimiento. Se propone un desarrollo ágil y un pipeline de CI/CD para asegurar la calidad y eficiencia en el despliegue del sistema.
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd

18-11-2024

1
Contenido
Introducción
Descripción general del sistema.
Arquitectura del Sistema
Componentes del Sistema
Frontend
Backend
Base de Datos
Inteligencia Artificial
Notificaciones
Flujo de Datos
Diagrama de Arquitectura
Consideraciones de Implementación
Seguridad
Arquitectura de Software
Escalabilidad
Mantenimiento
Integración Continua y Despliegue
Estrategia de Implementación de IA
Recopilación de Datos
Desarrollo de Modelos de IA
Integración en el Sistema
Conclusión

INTEGRANTES:
Carlos Guzmán
Oyarzun
Daniel González
Chávez
Rodrigo Berrios
Castillo

2
Introducción

El presente informe detalla la arquitectura del sistema para "FlashMatch", una


plataforma diseñada para conectar a jugadores de fútbol y facilitar la búsqueda y reserva
de canchas. Esta aplicación móvil, con una presentación en página web no solo permite
a los usuarios organizar partidos, sino que también ofrece recomendaciones
personalizadas a través de un sistema de inteligencia artificial. Este documento aborda
la estructura del sistema, sus componentes, el flujo de datos y las estrategias de
implementación, asegurando que se sigan las mejores prácticas de desarrollo de
software.

3
Descripción general del sistema.
"FlashMatch" tiene como propósito crear una comunidad activa de futbolistas que
facilite la búsqueda de canchas y la gestión de partidos. Entre las funcionalidades clave
de la aplicación se destacan:

● Interfaz Intuitiva: Diseñada para ser accesible en dispositivos móviles,


garantizando una experiencia de usuario fluida y atractiva.
● Gestión de Partidos: Permite a los usuarios encontrar partidos disponibles en su
área, o directamente crear uno para que se unan más usuarios a estos según sus
parámetros configurados en el perfil.
● Recomendaciones Personalizadas: Utilizando un sistema de IA, se generan
recomendaciones de partidos y compañeros/rivales basados en distintos
parámetros de los usuarios.

4
Arquitectura del Sistema

Componentes del Sistema

Frontend

● Aplicación Web (Angular 18):


○ Descripción: Utiliza Angular 18 para ofrecer una experiencia web dinámica
y responsiva. La interfaz permite a los usuarios interactuar con todas las
funcionalidades disponibles de manera eficiente.
○ Estructura: Se basa en un diseño modular, donde cada componente
maneja una parte específica de la funcionalidad, promoviendo la
reutilización del código.
○ Estilos: Se implementan estilos CSS modernos utilizando Tailwind CSS,
asegurando un diseño limpio y coherente.
● Aplicación Móvil (Ionic Angular):
○ Descripción: La aplicación móvil está construida con Ionic, permitiendo un
desarrollo multiplataforma. Esto asegura que el producto esté disponible
tanto en iOS como en Android con una única base de código.
○ Funcionalidades Nativas: Integra capacidades como geolocalización y
acceso a la cámara, mejorando la experiencia del usuario al permitir subir
imágenes y ubicar canchas cercanas.

5
Backend
● API REST (NestJS):
○ Descripción: La API se construye usando NestJS, un framework moderno y
modular que permite crear aplicaciones escalables y mantenibles. Utiliza
TypeScript, lo que mejora la robustez del código.
○ Autenticación y Autorización: Implementa autenticación JWT para asegurar que
solo los usuarios validados accedan a los recursos. También se definen roles y
permisos para controlar el acceso a diferentes funcionalidades de la aplicación.
● Gestión de Datos (TypeORM):
○ Descripción: TypeORM actúa como un ORM (Object-Relational Mapping) que
facilita la interacción con la base de datos PostgreSQL. Esto permite realizar
operaciones CRUD de manera sencilla y eficiente.
○ Modelado de Datos: Se definen entidades que representan las tablas de la base
de datos, optimizando la gestión y la consulta de datos.

6
Base de Datos
● PostgreSQL:
○ Descripción: Se utiliza PostgreSQL como sistema de gestión de bases de
datos relacional. Su robustez y capacidad para manejar grandes
volúmenes de datos lo convierten en una opción ideal para "FlashMatch".
○ Estructura: La base de datos incluye tablas para usuarios, canchas,
partidos, niveles de habilidad, estadísticas, y registros de actividad.
○ Optimización: Se implementan índices y consultas optimizadas para
garantizar un rendimiento eficiente en la búsqueda y manipulación de
datos.

Inteligencia Artificial
● Microservicios IA (Python):
○ Descripción: Desarrollados en Python, estos microservicios se encargan
de procesar datos y generar recomendaciones utilizando técnicas de
machine learning y deep learning.
○ Entrenamiento de Modelos: Se utilizarán algoritmos de clasificación y
regresión para predecir las preferencias de los usuarios basándose en su
historial y comportamiento.
○ Integración: Los microservicios se comunicarán con el backend a través
de una API REST, permitiendo la consulta de modelos y la obtención de
recomendaciones en tiempo real.

7
Notificaciones
● Firebase Cloud Messaging (FCM):
○ Descripción: FCM se utiliza para enviar notificaciones push a los
dispositivos móviles, lo que mantiene a los usuarios informados sobre
eventos relevantes, como partidos creados o cambios en la disponibilidad
de canchas.
○ Personalización: Se implementan mecanismos para segmentar usuarios y
enviar notificaciones personalizadas basadas en su actividad y
preferencias.

Flujo de Datos
El flujo de datos en "FlashMatch" se describe a continuación:

1. Interacción del Usuario:


○ Los usuarios inician sesión en la aplicación, buscan equipos o crean
partidos a través de la interfaz móvil.
2. Solicitud a la API REST:
○ Las acciones del usuario generan solicitudes HTTP a la API REST, que
valida la autenticación y autorización del usuario antes de procesar la
solicitud.
3. Gestión de Datos:
○ La API REST interactúa con la base de datos PostgreSQL a través de
TypeORM, recuperando, insertando o modificando datos según sea
necesario.
○ Los resultados se devuelven al frontend en formato JSON.
4. Inteligencia Artificial:
○ Al solicitar recomendaciones, el backend envía datos relevantes a los
microservicios de IA.

8
○ Estos microservicios procesan la información, ejecutan modelos de
machine learning y devuelven recomendaciones optimizadas al backend.
5. Notificaciones Push:
○ Cuando ocurre un evento relevante, el backend envía una notificación a
FCM, que se encarga de entregar la alerta a los dispositivos móviles de los
usuarios.

Diagrama de Arquitectura

9
Consideraciones de Implementación

Seguridad
● Autenticación y Autorización:
○ Se implementará un sistema de autenticación sólido que utiliza JWT para
manejar sesiones de usuario.
○ Roles y permisos se definirán a nivel de API para controlar el acceso a las
funcionalidades según el tipo de usuario (administrador, usuario normal).
● Protección de Datos:
○ La aplicación implementará HTTPS para asegurar la transmisión de datos
sensibles y proteger la información de los usuarios.

Escalabilidad
● Despliegue en la Nube:
○ Se desplegarán los componentes en Google Cloud Platform (GCP),
aprovechando su escalabilidad y servicios gestionados como Cloud SQL
para PostgreSQL.

Mantenimiento

● Desarrollo Ágil:
○ La metodología de desarrollo ágil se utilizará para gestionar el proyecto,
facilitando la adaptación a cambios y la entrega continua de valor al cliente.
○ Se llevarán a cabo reuniones diarias y revisiones periódicas del progreso.
● Documentación:
○ La documentación del código y de las API se generará automáticamente y
se mantendrá actualizada para facilitar el mantenimiento y la incorporación
de nuevos desarrolladores al equipo.

10
Integración Continua y Despliegue
● Pipeline de CI/CD:
○ Se implementará un pipeline de CI/CD que automatizará el proceso de
pruebas, construcción y despliegue de la aplicación.

Estrategia de Implementación de IA

Recopilación de Datos
● Datos de Usuario:
○ Se recopilaron datos relevantes sobre las interacciones de los usuarios,
incluyendo historial de partidos y sus preferencias.
○ Se establecerán políticas claras sobre la recopilación y uso de datos para
cumplir con las normativas de privacidad.

Desarrollo de Modelos de IA
● Entrenamiento y Evaluación:
○ Los modelos de machine learning se entrenan utilizando datos históricos, y
se evaluarán mediante métricas como precisión y recall.
○ Se implementarán técnicas de validación cruzada para garantizar la
robustez de los modelos.

Integración en el Sistema

● API de IA:
○ Se creará una API que permita al backend consultar los modelos de IA en
tiempo real, facilitando la obtención de recomendaciones personalizadas
para los usuarios.

11
Conclusión
La arquitectura propuesta para "FlashMatch" proporciona una base sólida para el
desarrollo de una aplicación innovadora que no solo conecta a jugadores de fútbol, sino
que también ofrece una experiencia personalizada a través de recomendaciones
impulsadas por inteligencia artificial. La implementación de tecnologías modernas,
prácticas de desarrollo ágil y un enfoque centrado en la seguridad y la escalabilidad
garantizará que "FlashMatch" sea un producto competitivo en el mercado.

12

También podría gustarte