C
Civiq

Funktionsstatus

Civiq PoC — Feature Status

Implementierte Features

### Core

Projekt-Strukturierung (ADR-002: apps/civiq + apps/civiq_web, Umbrella-App)
Authentifizierung (phx.gen.auth, session-basiert, current_scope Pattern)
Erweiterte Benutzerprofile (Vorname, Nachname, Telefon, Wohnregion)
Hierarchisches Regionen-System (ADR-001, materialized paths)
Rollen-System (citizen / party_member / admin)
Abstimmungen & Umfragen (Poll-Workflow: draft → active → closed)
Parlamentarische Anfragen als Datenmodell (offizielle Anfragen, Dokument-Metadaten, externe Referenzen, erweiterbar für spätere Importe)
Parlamentarische Poll-Kandidaten als neutrale Zwischenschicht (genau ein interner Kandidat pro importierter Anfrage, mit Status-, Priorisierungs- und Publish-Metadaten)
Parlamentarischer Review- und Governance-Workflow (interne Freigabe, Ablehnung, Blockierung, Rueckgabe zur Ueberarbeitung, Audit-Trail und Publish-Gate nur fuer freigegebene Entwuerfe)
Regelbasierte Priorisierung fuer parlamentarische Ausspielung (Aktualitaet, oeffentliche Relevanz, Themenvielfalt, Altfragen-Fallback und Ruecksicht auf laufende Community-Polls)
Community-Initiativen (Bürger-Initiativen mit 50%-Threshold)
Abstimmungs-Engine (cast_vote mit Region-Validierung, Duplikat-Schutz)
Live-Ergebnisse (PubSub, Echtzeit-Balken, Voter-Transparenz-Liste)
Ranked Choice Voting (IRV-Algorithmus, Drag-and-Drop UI)
REST API v1 (Token-Authentifizierung, mobile-kompatibel)
Audit Logging (Logger-basiert, strukturierte Events)

### Content & Onboarding (hinzugefügt März 2026)

**Home-Page als LiveView** (`/`) — ersetzt statischen PageController, mit länderspezifischer politischer Meilenstein-Timeline und Redirect für eingeloggte User
**How It Works** (`/how-it-works`) — Drei-Zielgruppen-Guide (Bürger, Parteien, Entwickler) mit Tab-Navigation
**Roadmap** (`/roadmap`) — Vertikale Feature-Timeline (done/planned) + Phasen-Accordion (5 Phasen)
**Transparency** (`/transparency`) — Hash-Chain-Erklärung, Wähler-Datenschutz, Blockchain-Anchor (geplant), Audit-API-Dokumentation
**Navigation** — Header mit Links zu Content-Seiten, Footer mit GitHub-Link und Seiten-Navigation
**Parlamentarische Anfragen** (`/polls/questions`, `/polls/questions/:id`) — öffentliche Stubs im Umfrage-Kontext mit Navigation, Listenansicht, Detailseite und Dokument-Links
**Interne Review-Queue fuer parlamentarische Poll-Kandidaten** (`/review/parliament-polls`, `/review/parliament-polls/:id`) — geschuetzte LiveViews fuer `party_member` und `admin` mit Queue, Detailansicht, unveraenderter Quelle, Draft-Vergleich und Review-Aktionen
**Öffentliche Bürgerprofile** (`/citizens/:id`) — öffentlich erreichbare Profilseiten auf Basis bestehender Civiq-Accounts, mit eigener Bearbeitungsansicht für den Profilinhaber und Verlinkung zu verknüpften Politikerprofilen
**Social Moderation** (`/admin/social-moderation`) — gemeinsames Meldemodell für Kommentare und Direktnachrichten, eindeutige Reporter-Zählung, Review-Status ab drei Meldungen sowie Admin-Aktionen zum Ausblenden oder Löschen

### Visualisierung

**Live Poll Chart** (`/polls/:id`) — Recharts BarChart erscheint nach eigenem Vote (Anti-Influence-Design: vor Abstimmung unsichtbar), aktualisiert sich via PubSub live
**React + Recharts** im Asset-Pipeline integriert (esbuild JSX-Loader, ReactDOM.createRoot via phx-hook)
**Ranked Choice Tabellen-Ansicht** — Runden-Tabelle mit Eliminierungs-Markierung (pure Tailwind, kein Recharts)

### Internationalisierung

**i18n-Foundation** — `Civiq.Gettext` Backend, 10 Locales (en, de, uk, pl, fr, es, pt, tr, ar, he), 3 Domains (default, errors, emails), alle Content-Seiten in `gettext()` gewrappt

### Infrastruktur

**Country Roadmap Milestones** — `country_roadmap_milestones` DB-Tabelle (admin-konfigurierbar, pro Land), `Civiq.Roadmap` Context mit `list_milestones_for_country/1` und `list_available_countries/0`, Seed-Daten für DE, AT, CH, global

Geplante Features (Phase 2 / Produktion)

Audit Log DB-Persistenz — ⚠️ aktuell Logger-basiert, DB-Befüllung Phase 2
E-Mail-Benachrichtigungen
Admin-Dashboard (Milestones verwalten, Polls moderieren)
Erweiterte Regionen-Daten (vollständiger Import aller DE/AT/CH-Regionen)
Zwei-Faktor-Authentifizierung
API Rate Limiting
Blockchain Anchor — tägliche SHA-256 Snapshots auf Polygon/Arbitrum
KYC-Verifizierung (eID-Integration)
Web Push Notifications
React Native App (iOS + Android)
Partei-Mechanismus (Satzverwaltung, Mitgliedschaft, Abstimmungsbindung)
i18n-Übersetzungen für alle 10 Sprachen (Foundation implementiert, Übersetzungen ausstehend)
Locale-Switcher im UI

Civiq. Öffentliche Übersicht über Funktionen und Fortschritt