-
Notifications
You must be signed in to change notification settings - Fork 4
ADR. Librería de Mapas [Front End]
Selección de una librería para integrar mapas en la aplicación.
Aceptado
La aplicación gira alrededor de los mapas. Los usuarios pueden ver los "geo points" compartidos por sus amigos y aquellas personas que así lo deseen. Es decir, se permitirá ocultación de "geopoints" que denominaremos privados. Sin embargo, hay que contemplar, de cara a futuras ampliaciones, que establecimientos como bares, tiendas o comercios en general, puedan publicar en el mapa su negocio con la información correspondiente. Por ello, es necesario recurrir a una api de mapas de terceros, preferiblemente Open Source, ya que no hay presupuesto establecido en la adjudicación del proyecto.
En este punto, partimos del establecimiento de ReactJS como framework de cliente. Las APIs de terceros encontradas para tal propósito y presupuesto son las siguientes:
-
MapBox GL. Enlace al sitio web
- De pago. La capa gratuita del servicio establece un límite de 50.000 peticionees al mes. Cada petición representará una carga del componente en la web, es decir, si el mapa se refresca 10 veces en una sesión de un usuario, habrá consumido 10 peticiones.
-
Por otro lado, valorar si en el marco temporal hasta la presentación de la aplicación (Inclusive) se van a alcanzar la cuota mencionada.
-
Funcionalidad que se emplearán de la API:
- Marker
- Map
- Popup
- Personalización de mapas (Estilos).
-
última actualización de la integración con React de hace 3 años.
-
React Leaflet. Enlace al sitio web
-
Alternativa Open Source, basado en Open Street Maps. 100% gratuita.
-
Funcionalidad que se empleará de la API:
- Marker
- MapContainer
- Popup
- TileLayer
-
Es posible crear marcadores personalizados anidando componentes propios, para aumentar la complejidad del mapa.
-
API mantenida con frecuencia.
-
Crear el mapa y componentes desde cero. Es decir, utilizando componentes de React y mediante hooks y funciones de los componentes comunicarse con la api de Leaflet u OpenStreetMaps.
Analizando los aspectos mencionados en el apartado anterior, se considera que la mejor opción es utilizar la librería React Leaflet (Integración basada en Leaflef) para evitar posible agotamiento en cuanto a cuota de peticiones por un lado, y por otro, es una librería Open Source. El uso de MapBox implica que si a futuro la librería elimina la capa gratuita, haciéndola de pago, el proyecto se vería bastante afectado, independientemente del diseño software propuesto, ya que es necesario emplear componentes propios de cada librería. Por último, investigando acerca de las opciones que ofrece React Leaflet frente a MapBox "calidad-coste", la primera aporta un mayor valor al proyecto.
https://npmtrends.com/leaflet-vs-react-leaflet-vs-react-map-gl-vs-react-mapbox-gl https://react-leaflet.js.org/docs/api-components/
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