À propos du projet
Open Civic Signal OS est une plateforme de technologie civique livrée sous forme de monorepo. Son objectif déclaré est de convertir les signaux communautaires — des problèmes locaux répétés signalés par les résidents — en un backlog public que les gens peuvent comprendre, approuver et sur lequel ils peuvent agir.
La promesse du produit est décrite sous deux angles. Pour un citoyen, le parcours est le suivant : signaler un problème local réel en langage simple, comprendre pourquoi il a été priorisé, et suivre les changements, qui a répondu et ce qui est toujours en attente. Pour les agents publics et les leaders communautaires, l'objectif déclaré est de réduire le bruit, de faire remonter ce qui est prioritaire et de maintenir la visibilité des preuves justifiant cette priorisation.
Les parcours utilisateurs documentés couvrent trois rôles :
- Membre de la communauté : signaler un problème, soutenir un problème existant au lieu de le dupliquer, comprendre pourquoi un problème est prioritaire et suivre les mises à jour de la communauté ou d'une institution.
- Modérateur ou coordinateur communautaire : examiner les conversations communautaires, publier des mises à jour sur l'avancement avec des limites de rôles claires, et maintenir des canaux de discussion utilisables et auditables.
- Agent public : identifier rapidement les problèmes les plus prioritaires, publier des mises à jour sur l'avancement et utiliser des preuves transparentes pour justifier l'ordre des actions.
Le README est franc concernant une lacune actuelle de l'UX : le dépôt et l'application expliquent bien la plateforme technique, mais exposent trop de choix de navigation et de flux de travail trop tôt pour les nouveaux utilisateurs. Le travail actuel sur le frontend se concentre donc sur la simplification de l'expérience de première utilisation, la clarification des actions principales et la réduction de la charge cognitive. La direction produit annoncée comprend une hiérarchie d'écran d'accueil plus simple, des appels à l'action principaux plus clairs, une intégration et une vérification simplifiées, une navigation clavier et mobile accessible, et des interfaces de confiance expliquant le classement et les progrès sans jargon.
Pile technique documentée :
- Backend : Java 21 avec Spring Boot, dans apps/api-java, hébergeant l'API et les services de priorisation.
- Frontend : React, TypeScript et Vite, dans apps/web-react, fournissant le tableau de bord public et une console opérateur.
- Données : JSON-first pour le MVP actuel, avec PostgreSQL prévu.
- Contrats : Définitions OpenAPI et schémas partagés sous packages/contracts.
- Autres répertoires : infra pour l'environnement local et les ressources de déploiement, et docs pour la stratégie, les idées, l'architecture et les plans d'exécution.
Exécution du projet : l'environnement de développement intégré canonique est Docker, lancé avec npm run docker:dev:up, que le README décrit comme le chemin de hot-reload requis pour le frontend et le backend ensemble. Les commandes de support incluent docker:dev:doctor, docker:dev:ps, docker:dev:logs et docker:dev:down, ainsi qu'un mode similaire à la production (docker:prod:up) et des images GHCR préconstruites (docker:ghcr:up / docker:ghcr:down) avec un flux d'images CI dans .github/workflows/docker-images.yml. Le README demande explicitement que l'indisponibilité de Docker soit traitée comme un bloqueur d'environnement local plutôt que d'être contournée lors de la validation du comportement intégré. Pour le MVP actuel, il existe également des scripts tels que npm install et npm run prioritize. Des chemins de repli par composant existent pour un travail isolé : l'exécution de l'application React avec npm run dev dans apps/web-react, et l'API Java avec ./mvnw spring-boot:run dans apps/api-java.
Le matériel supplémentaire du dépôt comprend des ressources de lancement (GIFs de démo et d'architecture, un SVG d'architecture, une page d'accueil sous docs, un document d'idées et un guide d'agent), un kit d'actifs visuels et de marque (logo, wordmark, bannière, carte sociale et logo PNG), et le suivi de la feuille de route via les issues GitHub du projet.
Dans l'ensemble, le dépôt est une plateforme d'engagement civique et de priorisation à un stade précoce et documentée ouvertement : il définit les parcours prévus pour les citoyens et les administrateurs, propose un flux de développement monorepo basé sur Docker avec des composants Spring Boot et React, conserve les contrats API dans le dépôt et liste ouvertement son travail restant de simplification de l'UX.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.