Equipo — The Good App

Mail 6 — Resumen técnico de cambios aplicados

Hola equipo,

Comparto el resumen de los cambios recientes implementados en API + Admin + Flutter. El foco fue estabilidad de sesiones, UX de noticias, geolocalización, y manejo de imágenes temporal sin CDN.

1) Admin panel (Laravel)

  • Fix modal editar proyecto: se corrigió carga de form en HTTPS (mixed-content + data-form-url).
  • Ubicación de proyectos: ahora se usa un único campo lat,long, con validación de formato y rango.
  • Usuarios GPS: refuerzo de validación visual y backend para lat/lng.
  • Near configurable: nuevo ajuste near_news_radius_km en Settings → Maps.
  • Imágenes sin CDN: subida/corte/compresión desde admin para noticias/proyectos en base64 + moderación (censurar/eliminar).

2) API (Nest + Prisma)

  • Near feed: endpoint usa por defecto el radio configurable si no se envía radiusKm.
  • Settings API: nuevos endpoints para leer/actualizar radio de near-news.
  • Base64 images: nuevas columnas: Project.imageBase64, News.headerImageBase64, News.cardImageBase64.
  • DTO/services: soporte de creación/actualización de esas imágenes desde app/admin.
  • Migración Prisma: creada y aplicada en staging para soportar almacenamiento temporal sin CDN.

3) Flutter app

  • News/Near UI: rediseño tipo periódico (hero + lista con card pequeña derecha) en ambos tabs.
  • Detalle de noticia: pantalla dedicada con contenido completo y comentarios (reply solo a comentario principal).
  • Create flow: selección previa (crear proyecto/noticia), y ubicación editable en formato lat,long con botón GPS.
  • Imágenes móviles: selección + recorte por ratio fijo + compresión para subir en base64.
  • Sesión tipo red social: autologin al abrir cuando hay remember-me; login manual solo en logout explícito o fallo de refresh.

4) Estado operativo actual

  • Staging actualizado en API, admin y Flutter con commits y push completados.
  • Fallback de imágenes activo: icono hoja si no hay imagen.
  • Estrategia temporal sin CDN: base64 optimizado para no inflar demasiado almacenamiento y mantener buena visual en móvil.
  • Plan cuando CDN esté activo: mantener este flujo como fallback y redirigir a URLs CDN para assets finales.

Si quieren, en el siguiente sprint podemos cerrar dos temas: panel de auditoría de moderación de imágenes y limpieza/migración de base64 a CDN cuando el servicio quede habilitado.

Saludos,

Correo interno — avance técnico (Mail 6)