-
Notifications
You must be signed in to change notification settings - Fork 4
Acta 4: Discusión de las tecnologías a utilizar
12 de febrero de 2023
- Miguel González Navarro (UO282337)
- Francisco Coya Abajo (UO257239)
- Oscar Abad López (UO258238)
- Ricardo Marques Garay (UO270160)
- Reparto de apartados de la documentación (Arc42) a completar.
- Discusión acerca de las tecnologías a utilizar en el proyecto. Se especificarán más adelante en los ADR. Hemos tomado como punto de partida la issue #5
-
Lado cliente (Front-End) La tecnología seleccionada es el framework de JavaScript ReactJS. A continuación, presentaremos un resumen de sus ventajas e inconvenientes. Ventajas:
- Actualización de componentes y vistas en tiempo real + hot reload (Actualización de componentes concretos sin refrescar la página).
- Permite modularizar la interfaz de usuario en componentes, permitiendo la reutilización de estos últimos de forma independiente. Cada componente contará con sus propiedades (props).
- En relación al punto anterior, permite una mayor precisión a la hora de crear los test (Véase los tests utilizando la librería Jest).
Desventajas:
- Documentación (oficial) bastante escueta, dificultando el aprendizaje inicial y la consecuente búsqueda en otras fuentes de información.
- La curva de aprendizaje no es muy elevada pero tampoco llana. Es decir, se necesitan conocimientos medio-avanzados de JavaScript (Como destructuring, menejo de promesas y funciones asíncronas, spreads...)
-
Lado servidor (Back-End)
La tecnología seleccionado en este caso es el framework NodeJS. Para su elección, hemos tenido en cuenta también el framework basado en Java 'SpringBoot', ya que lo estamos utilizando en otra asignatura y tenemos conocimientos básicos sobre éste.
Ventajas:
- Creación de APIs más sencilla mediante la librería express.
- Se integra con gestores de paquetes que contiene miles de librerías ya probadas y verificadas por la comunidad.
- Gran comunidad y bastante documentación al alcance.
- Se integra con SOLID. Ya existen librerías para ello. Comprobando la posible integración de SpringBoot (Java) u otros frameworks, hemos encontrado el este hilo donde se discute a través de la posible solución. Indagando un poco en la posible solución, creemos que no es trivial, en base al tiempo que tenemos para llevar a cabo el desarrollo de este producto.
Desventajas:
- Es monohilo.
- Para asegurar los tipos se recomienda el uso de TypeScript (Basado en JavaScript), lo que puede retrasar en nuestro caso el desarrollo.
- La integración de asincronía en la API puede hacer el código inmantenible, dificultando así su complejidad.
Base de datos. PENDIENTE
Hemos decidido separar el desarrollo del cliente para unos miembros del equipo y el desarrollo del servidor para otros. Por el momento, es una decisión provisional hasta confirmación. El reparto más detallado de cada miembro del equipo no se ha dejado claro.
Inicio · Documentación | Lomap_es5a
- Acta 01 - Introducción · 02_02_2023
- Acta 02 - Documentación · 09_02_2023
- Acta 05 - React, Solid y Documentación · 16_02_2023
- Acta 08 - Primera entrega de la documentación · 23_02_2023
- Acta 09 - Comienzo de desarrollo de la aplicación · 02_03_2023
- Acta 10 - Distribución y despliegue · 09_03_2023
- Acta 12 - Revisión del segundo prototipo · 16_03_2023
- Acta 13 - Integración y Test · 23_03_2023
- Acta 14 - Tests unitarios · 30_03_2023
- Acta 15 - Revisión del tercer prototipo · 13_04_2023
- Acta 16 - Tests de carga · 20_04_2023
- Acta 17 - Monitoring-Profiling · 27_04_2023
- Acta 03 - Inicio de la Documentación · 09_02_2023
- Acta 04 - Discusión de tecnologías · 12_02_2023
- Acta 06 - Decisiones de arquitectura (Cliente, servidor y despliegue) · 17_02_2023
- Acta 07 - Discusión de la base de datos y del IDE · 19_02_2023
- Acta 11 - Unión Backend y Frontend · 13_03_2023
- Acta 18 - Reunión final · 02_05_2023
- ADR 00 - Lenguaje
- ADR 01 - Framework para Front-End
- ADR 02 - Framework para Back-End
- ADR 03 - Arquitectura Cliente (RECHAZADO)
- ADR 04 - Arquitectura Servidor (RECHAZADO)
- ADR 05 - Integración Mapas
- ADR 06 - Despliegue proyecto (RECHAZADO)
- ADR 07 - Styled Components
- ADR 08 - Base de Datos (RECHAZADO)
- ADR 09 - IDE
- ADR 10 - Tests e2e
- ADR 11 - Tests unitarios
- ADR 12 - Cambio base de datos a MongoDB
- ADR 13 - AC · Usabilidad
- ADR 14 - AC · Privacidad
- ADR 15 - AC · Seguridad
- ADR 16 - Arquitectura Cliente v2 (RECHAZADO)
- ADR 17 - Gestión Estados React
- ADR 18 - Arquitectura Cliente v3
- ADR 19 - Base de datos para imagenes
- ADR 20 - Despliegue de la aplicación
- ADR 21 - Gestión de los amigos
- ADR 22 - Gestión de los puntos compartidos
- ADR 23 - AC · Testabilidad
- ADR 24 - Testeo de carga
- ADR 25 - Gestión de los puntos guardados