← Todos los proyectos

En producción 2026 · Desarrollador full stack

Manos de Apoyo y Vida A.C.

Una asociación civil que dependía de un técnico para cambiar una coma en su sitio. Hoy publica su contenido sola, desde un panel propio.

8vistas públicas
7áreas de administración
20aliados publicados
0técnicos para publicar

El problema

La asociación dependía de un sitio heredado que no podía administrar. Programas, historias y materiales quedaban desactualizados porque cada cambio —hasta corregir una fecha— requería llamar a un técnico. Una organización que vive de la confianza de sus donantes no puede permitirse una página que dice cosas viejas.

Lo que construí

Construí una plataforma en Next.js con base de datos propia y panel de administración completo: páginas, programas, galería por álbumes, biblioteca de archivos, equipo, aliados, mensajes de contacto y usuarios con sus permisos. El contenido del sitio anterior se trajo con scripts de migración propios: rastreo, inventario, descarga y normalización de imágenes.

Qué cambió

La asociación publica sola. Sube las fotos de una jornada el mismo día, edita un programa sin abrir un ticket y responde los mensajes desde el panel. El técnico dejó de ser el cuello de botella entre la organización y quienes la apoyan.

La aplicación

Cómo se ve en producción

Portada de Manos de Apoyo y Vida con el titular «Trabajamos día con día para cambiar vidas»
Portada — carrusel a pantalla completa, con el donativo deducible señalado sobre el pliegue.
Página de programas de la asociación, mostrando el programa Educativo
Programas — tres ejes, cada uno con su propia página.
Página Quiénes somos con la historia de la asociación
Quiénes somos — la historia, en voz de las fundadoras.
Galería fotográfica del trabajo con las familias
Galería — álbumes que la asociación administra sola.
Página de aliados con los logotipos de las empresas que apoyan a la asociación
Aliados — 20 empresas, instituciones y medios.
Página de donativos con opciones mensual, semestral o anual y pago en línea
Donar — mensual, semestral o anual, en dinero o en especie.

Decisiones técnicas

Por qué está construido así

  • Panel de administración propio en lugar de un CMS de terceros: el contenido de la asociación no vive en la licencia de nadie, y el modelo de datos habla su idioma —programas, álbumes, aliados— y no el de un blog.
  • Migración de contenido automatizada con scripts propios: rastreo del sitio anterior, manifiesto de contenido, descarga de assets y auditoría de calidad de imagen.
  • Control de accesos por rol, para que quien sube fotos no pueda tocar usuarios ni ajustes.
  • Pruebas unitarias con Vitest y end-to-end con Playwright desde el inicio, no como algo para después.
  • Modelo de datos con Prisma sobre PostgreSQL y despliegue contenerizado con Docker.
  • Diseño y desarrollo donados: es trabajo pro bono para una asociación sin fines de lucro.
Next.jsReactTypeScriptPrismaPostgreSQLVitestPlaywrightDocker

¿Tienes algo parecido entre manos?