Sobre el proyecto
Open Civic Signal OS es una plataforma de tecnología cívica entregada como un monorepo. Su propósito declarado es convertir las señales comunitarias —problemas locales recurrentes reportados por los residentes— en un backlog público que las personas puedan entender, confiar y ejecutar.
La promesa del producto se describe desde dos ángulos. Para un ciudadano, el camino es: reportar un problema local real en lenguaje sencillo, ver por qué fue priorizado y seguir qué cambió, quién respondió y qué sigue pendiente. Para los servidores públicos y líderes comunitarios, el objetivo declarado es reducir el ruido, sacar a la superficie lo que importa primero y mantener visible la evidencia detrás de la priorización.
Los recorridos de usuario documentados cubren tres roles:
- Miembro de la comunidad: reportar un problema, apoyar un problema existente en lugar de duplicarlo, entender por qué un problema es de alta prioridad y rastrear actualizaciones de la comunidad o de una institución.
- Moderador o coordinador comunitario: revisar conversaciones comunitarias, publicar actualizaciones de progreso con límites de rol claros y mantener los canales de discusión utilizables y auditables.
- Servidor público: identificar rápidamente los problemas de mayor prioridad, publicar actualizaciones de progreso y utilizar evidencia transparente para justificar el orden de las acciones.
El README es sincero sobre una brecha actual de UX: el repositorio y la aplicación explican bien la plataforma técnica, pero exponen demasiadas opciones de navegación y flujo de trabajo demasiado pronto para los usuarios primerizos. Por lo tanto, el trabajo de frontend en curso se centra en simplificar la experiencia de primera ejecución, aclarar las acciones primarias y reducir la carga cognitiva. La dirección declarada del producto incluye una jerarquía de primera pantalla más simple, llamadas a la acción primarias más claras, incorporación y verificación de menor fricción, navegación accesible por teclado y móvil, y superficies de confianza que expliquen la clasificación y el progreso sin tecnicismos.
Stack técnico según lo documentado:
- Backend: Java 21 con Spring Boot, en apps/api-java, que aloja la API y los servicios de priorización.
- Frontend: React, TypeScript y Vite, en apps/web-react, que proporciona el tablero público y una consola de operador.
- Datos: JSON-first para el MVP actual, con PostgreSQL listado como planificado.
- Contratos: Definiciones de OpenAPI y esquemas compartidos en packages/contracts.
- Otros directorios: infra para el entorno local y activos de despliegue, y docs para estrategia, ideas, arquitectura y planes de ejecución.
Ejecución del proyecto: el entorno de ejecución de desarrollo integrado canónico es Docker, iniciado con npm run docker:dev:up, que el README describe como la ruta de hot-reload requerida para el frontend y el backend juntos. Los comandos de soporte incluyen docker:dev:doctor, docker:dev:ps, docker:dev:logs y docker:dev:down, además de un modo similar a producción (docker:prod:up) e imágenes de GHCR preconstruidas (docker:ghcr:up / docker:ghcr:down) con un flujo de trabajo de imágenes de CI en .github/workflows/docker-images.yml. El README solicita explícitamente que la falta de disponibilidad de Docker se trate como un bloqueador del entorno local en lugar de buscar alternativas al validar el comportamiento integrado. Para el MVP actual, también existen scripts como npm install y npm run prioritize. Existen rutas de respaldo solo para componentes para trabajo aislado: ejecutar la aplicación React con npm run dev dentro de apps/web-react, y la API de Java con ./mvnw spring-boot:run dentro de apps/api-java.
El material adicional del repositorio incluye recursos de lanzamiento (GIFs de demo y arquitectura, un SVG de arquitectura, una página de aterrizaje en docs, un documento de ideas y un playbook de agentes), un kit de activos visuales y de marca (logo, wordmark, banner, tarjeta social y logo en PNG), y el seguimiento de la hoja de ruta a través de los issues de GitHub del proyecto.
En general, el repositorio es una plataforma de participación y priorización cívica en etapa temprana y documentada abiertamente: define los recorridos previstos para el ciudadano y el administrador, implementa un flujo de desarrollo de monorepo basado en Docker con componentes de Spring Boot y React, mantiene los contratos de API en el repositorio y enumera abiertamente su trabajo pendiente de simplificación de UX.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.