Shipaton: Do0ne Build Diario #5 - Función Social: Descubre Metas y Tareas

Shipaton: Do0ne Build Diario #5 - Función Social Descubre Metas y Tareas
Objetivo Implementar una función que permita a los usuarios ver las Metas y los elementos Do0ne de otras personas y añadir un sistema de Likes para animar cada Meta.
Diseño de la funcionalidad Añadimos un menú Descubrir para mostrar las Metas y las listas Do0ne de otros usuarios. Cada documento de Meta incluye un campo con el contador de Likes. Bajo cada Meta existe una subcolección Likes para registrar qué usuarios han pulsado Like y se aplica la restricción de un Like por usuario por día. Además se mantiene una subcolección Likers que almacena el historial de Likes de cada usuario con marca temporal y frecuencia.
Problema de escalabilidad Si una Meta tiene 20 elementos Do0ne y un usuario tiene 100 Metas, una lectura completa exige 21 × 100 = 2100 lecturas en Firestore. Si 10 usuarios realizan la misma acción se alcanzan 21000 lecturas, un coste prohibitivo.
Solución Para reducir lecturas ejecutamos una Cloud Function programada que genera archivos JSON snapshot con los datos de Metas y Do0ne. La app en FlutterFlow carga esos snapshots vía llamadas API en lugar de leer directamente Firestore, con lo que los usuarios consumen JSON pregenerado y se minimizan las lecturas en la base de datos. La información que requiere actualización en tiempo real, como el contador de Likes y si el usuario actual ya ha marcado Like, se consulta desde Firestore solo cuando se muestra una Meta individualizada.
Implementación en FlutterFlow Se creó una llamada API para cargar el JSON snapshot y se enlazó la respuesta a un PageView que genera páginas de Meta dinámicamente. Al activarse una página del PageView la app consulta los datos de Like más recientes en Firestore para esa Meta y permite Like y Unlike con las reglas de negocio establecidas.
Implementación real y ajuste técnico La estrategia de leer datos de una Meta solo cuando la página se activa no resultó fiable en todos los dispositivos, por lo que inicialmente la aplicación cargaba todo el dataset al crear el PageView, eliminando el ahorro de lecturas. Para recuperar la eficiencia se introdujo paginacion al generar los snapshots: cada archivo JSON contiene solo 10 Metas. Cuando el usuario alcanza la ultima página del PageView la app solicita el siguiente snapshot vía API y añade las nuevas páginas dinámicamente.
Visualiza los Likes en mis Metas desde Descubrir Descubrir permite ver las Metas y Do0ne de otros usuarios y animar su progreso con Likes. Los propietarios de Metas pueden consultar cuantas personas han dado Like y revisar el historial agregado de apoyo.
Sobre Q2BSTUDIO En Q2BSTUDIO somos una empresa de desarrollo de software y aplicaciones a medida especializada en soluciones tecnicas integrales. Ofrecemos servicios de software a medida y aplicaciones a medida, experiencias móviles y web, y arquitecturas cloud seguras. Si necesitas una solución personalizada visita desarrollo de aplicaciones y software multiplataforma. También somos especialistas en inteligencia artificial y ofrecemos servicios de IA para empresas, agentes IA y consultoria en modelos adaptados; conoce nuestros servicios en inteligencia artificial para empresas.
Nuestros servicios incluyen además ciberseguridad y pentesting, servicios cloud aws y azure, servicios inteligencia de negocio y power bi, automatizacion de procesos, consultoria en IA y soluciones de agentes IA. Integramos seguridad y escalabilidad desde la arquitectura hasta la experiencia de usuario, optimizando costes operativos como los asociados a lecturas de base de datos.
Palabras clave aplicaciones a medida software a medida inteligencia artificial ciberseguridad servicios cloud aws y azure servicios inteligencia de negocio ia para empresas agentes IA power bi
Comentarios