generated from Arquisoft/lomap_0
-
Notifications
You must be signed in to change notification settings - Fork 4
ADR. NodeJS [Back End]
Francisco Coya Abajo edited this page Feb 17, 2023
·
2 revisions
Tecnología a utilizar en el lado del servidor (Back-End).
https://nodejs.org/en/docs/
Aceptado
El lado del cliente necesita conectar con el lado del servidor. La aplicación necesitará realizar actualizaciones parciales de los componentes de forma rápida y segura.
- Estructura directorios.
- API Rest
- Base de datos
- logs
- testing
A continuación, presentaremos las ventajas y desventajas involucradas en la decisión tomada.
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.
Se ha contemplado la creación de la API Rest con otras opciones basadas en otros lenguajes como Java. Sin embargo, explorando dichas soluciones y debido al espacio temporal, consideramos la compatibilidad de NodeJS con SOLID la decisión más importante.
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