Alle Projekte

git show 7b900f3 3 / 18

pr0p0ll

Umfragen für die pr0gramm-Community, mit Zielgruppen und Auswertung. Vom früheren Betreiber übernommen und mit Laravel und Filament neu gebaut.

branch
apps
typ
Community,Umfragen
stack
Laravel,Filament,Livewire,Vue.js
stars
★ 15 Stand 28.10.2026
ci
dusk.yml,pest.yml,code-styling.yml
lizenz
AGPL-3.0
release
1.3 vom 03.08.2026
commit
7b900f3
livepr0p0ll.comaufgenommen am 21.10.2026
Live-Ansicht von pr0p0ll.com, aufgenommen am 21.10.2026
README.md

Umfragen für pr0gramm

Mit pr0p0ll können Mitglieder der pr0gramm-Community Umfragen erstellen und beantworten. Die Anmeldung erfolgt über das vorhandene pr0gramm-Konto.

Ich habe das Projekt vom früheren Betreiber übernommen und die neue Plattform mit Laravel und Filament entwickelt.

Formularbaukasten und Zielgruppen

Eine Umfrage kann mehrere Fragetypen enthalten. Der Ersteller legt fest, wer teilnehmen darf: die Öffentlichkeit oder bestimmte Nutzergruppen.

Nach Abschluss der Umfrage sind die Ergebnisse einsehbar. Sie lassen sich nach demografischen Angaben filtern.

Quellcode

Die Anwendung verwendet Laravel, Filament, Livewire und Vue. Der Quellcode auf GitHub enthält die Anwendung und eine Übersicht ihrer Funktionen.

Technischer Aufbau

Die einzelnen Bausteine lassen sich direkt im Repository ansehen.

  1. 7b900f3PollFormService.php

    Fragen als Formular

    PollFormService übersetzt gespeicherte Fragetypen in Filament-Felder, von Auswahlfragen bis zu Datum und Zahlen.

    Quellcode ansehen
    Code zeigenCode verbergen
    app/Services/PollFormService.php 7b900f3
    public function buildForm(): array
    {
        $form = [];
        $this->poll->questions->each(function (Question $question) use (&$form) {
            $form[] = $this->createField($question);
        });
    
        return $form;
    }
    Zeilen 48 bis 56 von 115, ganze Datei auf GitHub
  2. 7b900f3TargetGroupService.php

    Zielgruppe bestimmen

    TargetGroupService bildet die konfigurierten Kriterien auf Datenbankabfragen ab und kann die Teilnahmeberechtigung prüfen.

    Quellcode ansehen
    Code zeigenCode verbergen
    app/Services/TargetGroupService.php 7b900f3
    public static function calculateTargetGroupFromBuilder(array $aBuilderData): int
    {
        $aTargetGroupData = self::builderDataToArray($aBuilderData);
    
        return self::baseQuery($aTargetGroupData)->count();
    }
    Zeilen 13 bis 18 von 85, ganze Datei auf GitHub
  3. 7b900f3PollResultService.php

    Antworten auswerten

    PollResultService berechnet Ergebnisse passend zum Antworttyp, etwa Auswahlanteile, Zahlenverteilungen oder gruppierte Texte.

    Quellcode ansehen
    Code zeigenCode verbergen
    app/Services/PollResultService.php 7b900f3
    public function getQuestionResults(): array
    {
        $aResults = [];
        foreach ($this->poll->questions as $question) {
            $aResults[$question->getKey()] = $this->buildQuestionResult($question);
        }
    
        return $aResults;
    }
    Zeilen 83 bis 91 von 509, ganze Datei auf GitHub
Nächstes Projekt Stromberg API apps Eigenes Projekt,JSON-API