Ctrl K
ComunidadGuías…
GITHUB · ANALIZADO

cerdas

Alternativa open-source a AppSheet para crear apps móviles offline-first de recolección de datos sin código. Usa Vue 3, Laravel 12 y FrankenPHP. Desplegable con Docker, soporta usuarios ilimitados y lógica JS personalizada en formularios complejos.

Ficha actualizada 24 sept 2026, 15:38 · upstream 24 sept 2026, 15:36 · release v0.2.54

Ver códigoProblemas y ayudaRepositorio ↗
00

Qué es cerdas

Descripción editorial construida a partir del repositorio, su documentación y sus señales de mantenimiento.

Cerdas es una plataforma open-source para construir aplicaciones móviles de recolección de datos que funcionan primero sin conexión (offline-first). La arquitectura se basa en un monorepo con pnpm workspaces, separando el cliente móvil (PWA/Android), el editor web y el backend API. El cliente utiliza Vue 3, Framework7 y Capacitor con SQLite local para almacenar datos offline, sincronizándose bidireccionalmente con MySQL cuando hay conectividad.

El sistema destaca por su editor visual de formularios que permite crear esquemas complejos con grupos repetitivos y campos condicionales. Incluye un motor de expresiones JavaScript nativo para definir validaciones, visibilidad de campos, fórmulas y valores iniciales directamente en la interfaz. El backend está construido con Laravel 12 y utiliza FrankenPHP en modo Octane para garantizar alto rendimiento y concurrencia sostenida.

La plataforma soporta autenticación mediante Laravel Sanctum y Google OAuth, gestión de roles (RBAC) con Spatie Laravel Permission y exportación de datos a Excel/CSV. Está diseñada para ser auto-alojada, sin límites de usuarios en la versión gratuita, y lista para despliegue en contenedores Docker o entornos locales.

CASOS DE USO
  • Recolección de datos en campo con funcionamiento total offline y sincronización automática al recuperar conexión.
  • Auditorías de inventario con captura nativa de coordenadas GPS y visualización de mapas offline.
  • Gestión de activos IoT o equipos con seguimiento de estado y alertas en tiempo real vía Reverb.
  • Seguimiento de mantenimiento preventivo con flujos de trabajo complejos y lógica condicional avanzada.
  • Encuestas y feedback de usuarios con exportación masiva a Excel para análisis externo.
PUNTOS DESTACADOS
  • Arquitectura offline-first con SQLite local en el cliente y sincronización bidireccional con manejo de conflictos.
  • Editor visual de formularios con motor de expresiones JS para lógica compleja, fórmulas y validaciones personalizadas.
  • Backend optimizado con Laravel Octane y FrankenPHP para manejar alta concurrencia sin degradación.
  • Despliegue simplificado mediante Docker Compose o integración directa con Coolify para hosting gestionado.
  • Exportación nativa de submissions a formatos Excel/CSV para análisis downstream.
  • Autenticación robusta con RBAC granular y detección automática de fugas de credenciales en CI/CD.
PRECAUCIONES
  • Requiere PHP 8.2+ con extensión pcntl y Node.js 22+, no soporta versiones anteriores.
  • No incluye Dockerfile nativo, requiere ejecución de scripts pnpm para inicialización del entorno.
  • La funcionalidad de mapas depende de MapLibre GL, lo que puede requerir configuración adicional para uso offline total.
  • Lógica avanzada en formularios exige conocimientos de JavaScript/TypeScript dentro del editor visual.
  • Configuración manual obligatoria de variables de entorno (.env) antes de iniciar el backend.
01

Perfil de infraestructura

Estimación inicial derivada del repositorio y de los servicios detectados.

CPU2 vCPUrecomendación inicial
MEMORIA2 GBRAM estimada
DISCO30 GBalmacenamiento base
COMPLEJIDADmediumnivel de operación
02

Despliegue detectado

Qué señales reales de instalación hemos encontrado.

Despliegue manual

Recomendado usar `pnpm run dev:docker` para desarrollo o `docker compose -f docker-compose.prod.yml up -d` para producción. Verificar PHP 8.2+, Node.js 22+ y pnpm instalados antes de iniciar. Para hosting gestionado, consultar guía de Coolify en la documentación. Antes de producción, revisar `docs/TERMINOLOGY_DISAMBIGUATION.md` para evitar inconsistencias en nombres de campos o estados. Generar clave de aplicación con `php artisan key:generate` tras clonar el repositorio.

—Dockerfile
—Compose
—One-click
03

Stack y dependencias

Componentes inferidos a partir de manifests, configuración y documentación.

FRAMEWORKS
VueNode.jsLaravelPHP
SERVICIOS
MySQLRedis
BASES DE DATOS
MySQLRedis
PUERTOS
No detectados
05

Puede sustituir a

Relaciones detectadas por el análisis del repositorio y su categoría.

06

Experiencia real de la comunidad

Ayuda a contrastar la estimación automática con instalaciones reales.

Todavía no hay datos comunitarios para este proyecto.