- Dart 82.8%
- C++ 8.2%
- CMake 6.3%
- Ruby 0.9%
- Swift 0.8%
- Other 1%
| .github/workflows | ||
| android | ||
| assets/icon | ||
| ios | ||
| lib | ||
| linux | ||
| macos | ||
| templates | ||
| test | ||
| web | ||
| windows | ||
| .distributor.yaml | ||
| .gitignore | ||
| .metadata | ||
| analysis_options.yaml | ||
| Brewfile | ||
| flutter_distributor.yaml | ||
| LICENSE | ||
| pubspec.lock | ||
| pubspec.yaml | ||
| README.md | ||
| requirements.md | ||
SV-Helfer
Verwaltungssoftware für die Schülervertretung des Clara-Schumann-Gymnasiums Holzwickede.
SV-Helfer unterstützt alle zentralen Aufgaben einer SV digital: von der Schülerverwaltung über Antragsbearbeitung bis hin zur Durchführung digitaler Live-Abstimmungen mit automatischer Auswertung. Alle Daten bleiben lokal auf dem Gerät – keine Cloud, keine externe Anmeldung.
Inhaltsverzeichnis
Übersicht
| Bereich | Wofür |
|---|---|
| Verwaltung | SV-Mitglieder pflegen, importieren und exportieren |
| Anträge | Anträge erfassen, Dokumente anhängen, Abstimmungszettel drucken |
| Wahlen | Kandidaten verwalten, Ergebnisse auswerten, live digital abstimmen |
| Anwesenheit | Anwesenheitslisten für Sitzungen erstellen |
| Einstellungen | Schuljahr, Ämter und Antragstypen anpassen |
Funktionsbereiche
1. Verwaltung – Schüler:innen
Das zentrale Verzeichnis aller SV-Mitglieder.
- Mitglieder anlegen, bearbeiten und löschen
- Pro Mitglied werden erfasst: Vorname, Nachname, Geburtsdatum, Klasse und ein oder mehrere Ämter (z. B. Klassensprecher:in, Stufensprecher:in, Mitglied des SV-Rates)
- Suche nach Name oder Klasse – die Liste wird sofort gefiltert
- Einträge lassen sich nach jeder Spalte auf- und absteigend sortieren
- Das jeweils höchste Amt einer Person wird automatisch anhand der konfigurierten Ämter-Hierarchie angezeigt
2. Anträge
Vollständige Erfassung und Nachverfolgung von SV-Anträgen.
Anträge verwalten
- Anträge anlegen, bearbeiten und löschen
- Jeder Antrag erhält automatisch eine fortlaufende Nummer pro Schuljahr (z. B.
2026/27-0001) - Erfasst werden: Titel, Antragsteller:in, Klasse, Typ und Status
- Status eines Antrags: Offen · Angenommen · Abgelehnt · Vertagt
- Direkt aus der Liste per Klick änderbar
- Auch im Bearbeitungsdialog änderbar
- Anträge lassen sich nach Status filtern
Dokumente anhängen
- Beliebig viele Dateien an einen Antrag anhängen (z. B. PDF, Word, ODT)
- Angehängte Dateien bleiben dauerhaft gespeichert und mit dem Antrag verknüpft
- Dateien lassen sich direkt aus dem Dialog mit dem passenden Programm öffnen
- Einzelne Anhänge können jederzeit wieder entfernt werden
- In der Übersicht zeigt ein kleines Symbol an, wie viele Dateien angehängt sind
Abstimmungszettel erstellen
- Bis zu 10 Anträge für eine Abstimmung auswählen
- Erstellt daraus einen ausgefüllten Abstimmungszettel als bearbeitbares Dokument
3. Wahlen
Von der Kandidatenerfassung bis zur digitalen Live-Abstimmung mit automatischer Auswertung.
Wahlübersicht
- Wahlen können für vier Bereiche angelegt werden:
- Co-Schülersprecher:in
- SV-Rat
- Zukunftsparlament
- SV-Lehrer:in
- Die App erkennt automatisch, ob es sich um eine Erstwahl (grün) oder Neuwahl (orange) handelt – abhängig von bereits durchgeführten Wahlen im laufenden Schuljahr
- Alle vergangenen Wahlen werden mit Titel, Datum und Ergebnis aufgelistet und können jederzeit wieder geöffnet werden
Wahl einrichten
- Wahltitel und -datum festlegen
- Pro Bereich: Anzahl der zu wählenden Personen sowie alle Kandidierenden (Name und ggf. Klasse) eintragen
- Kandidierende lassen sich jederzeit hinzufügen und entfernen
Ergebnis erfassen & auswerten
- Stimmenanzahl pro Kandidierende:r eintragen
- Die Gewinner:innen werden automatisch ermittelt: die Personen mit den meisten Stimmen – bei Stimmengleichheit werden alle Betroffenen aufgenommen
- Das Ergebnis lässt sich manuell anpassen (z. B. bei Stichwahl)
- Mitglieder der Mandatsprüfungs- und Zählkommission (MPZK) eintragen (2–4 Personen)
- Gesamtwahlzettel vor der Wahl erstellen
- Wahlergebnisdokument nach der Auszählung erstellen
Live-Abstimmung
Die Live-Abstimmung ermöglicht eine vollständig digitale und anonymisierte Wahl über das Schulnetzwerk – ohne externe Dienste oder Internetverbindung.
Vorbereitung
- Nur stimmberechtigte Schüler:innen erscheinen in der Auswahlliste: ausschließlich Klassensprecher:innen (KSp) und Stufensprecher:innen (StSp)
- Anwesende Personen per Checkbox auswählen – das jeweilige Amt wird zur Orientierung angezeigt
Abstimmung starten
- Die App vergibt für jede teilnehmende Person einen persönlichen, einmaligen Abstimmungscode
- Gleichzeitig wird im lokalen Netzwerk eine Abstimmungsseite bereitgestellt – die URL wird auf dem Bildschirm angezeigt
- Jede Person gibt ihren Code auf der Seite ein und gibt ihre Stimme(n) ab – anonym und nur einmal möglich
- Während die Abstimmung läuft, zeigt die App einen Fortschrittsbalken und eine Live-Rangliste der Stimmen pro Wahlbereich
Abstimmung beenden
- Mit „Beenden" wird die Abstimmung geschlossen
- Alle Stimmen werden automatisch in die Ergebnisansicht übertragen und die Gewinner:innen sofort berechnet
Codeliste drucken
- Während der Abstimmung lässt sich eine Codeliste als Dokument exportieren – mit Name, Klasse, Amt und persönlichem Code jeder teilnehmenden Person, sortiert nach Klasse
4. Anwesenheit
Schnelle Erstellung von Anwesenheitslisten für SV-Sitzungen.
- Sitzungstyp wählen: SVVV-Sitzung oder SVR-Sitzung
- Datum auswählen (Vorauswahl: heute)
- Teilnehmende aus der Mitgliederliste auswählen – mit Namen, Klasse und Amt
- Mit einem Klick alle auswählen oder die Auswahl aufheben
- Anwesenheitsliste erstellen: erzeugt ein fertig ausgefülltes Dokument
5. Einstellungen
Schuljahr
- Aktuelles Schuljahr anzeigen und bei Bedarf anpassen (z. B.
2026/27) - Das Schuljahr beeinflusst die Erstwahl-/Neuwahl-Erkennung und die Antragsnummerierung
- Beim ersten Start wird das Schuljahr automatisch ermittelt
Ämter verwalten
- Ämter anlegen, umbenennen und löschen
- Jedes Amt hat eine ausgeschriebene Bezeichnung (z. B. „Klassensprecher:in") und ein kurzes Kürzel (z. B. „KSp")
- Die Reihenfolge per Drag & Drop ändern – sie bestimmt, welches Amt einer Person bei Mehrfachzuordnung als „primäres Amt" gilt
- Zurücksetzen auf die Standard-Ämter (mit Bestätigung)
Standard-Ämter (in hierarchischer Reihenfolge):
| Kürzel | Bezeichnung |
|---|---|
| Co-SSp | Co-Schülersprecher:in |
| SVR-V | SV-Ratsvorsitzende:r |
| stv. SVR-V | stellvertretende:r SV-Ratsvorsitzende:r |
| MdBDK | Mitglied der Bezirksdelegiertenkonferenz |
| MdSVR | Mitglied des SV-Rates |
| stv. MdSVR | stellvertretendes Mitglied des SV-Rates |
| SVL | SV-Lehrer:in |
| KW | Kassenwart:in |
| KP | Kassenprüfer:in |
| MdZP | Mitglied des Zukunftsparlaments |
| StSp | Stufensprecher:in |
| stv. StSp | stellv. Stufensprecher:in |
| KSp | Klassensprecher:in |
| stv. KSp | stellv. Klassensprecher:in |
Antragstypen verwalten
- Eigene Antragstypen hinzufügen und entfernen (erscheinen im Antragsdialog als Auswahl)
- Zurücksetzen auf die Standard-Typen (mit Bestätigung)
Schüler:innen-Daten importieren und exportieren
- Import: Schüler:innen-Daten aus einer CSV-Datei einlesen
- Erwartete Spalten: Vorname, Nachname, Geburtsdatum, Klasse, Amt(Kürzel)
- Kopfzeile und Spaltenreihenfolge werden automatisch erkannt
- Mehrere Ämter pro Person können kommagetrennt angegeben werden
- Export: alle Einträge als CSV-Datei speichern
Dokumente
Alle erzeugten Dokumente sind bearbeitbare OpenDocument-Dateien (.odt) und lassen sich in LibreOffice oder anderen kompatiblen Programmen weiter anpassen.
| Dokument | Verwendung |
|---|---|
| Anwesenheitsliste | SVVV-Sitzungsanwesenheit |
| Anwesenheitsliste SVR | SVR-Sitzungsanwesenheit |
| Gesamtwahlzettel | Ausgabe vor der Wahl |
| Wahlergebnis | Offizielles Ergebnisdokument |
| Abstimmungszettel | Antragsabstimmung |
| OTC-Codeliste | Persönliche Codes für die Live-Abstimmung |
Die Vorlagen liegen im Ordner templates/ und können dort durch eigene Versionen ausgetauscht werden.
Datenschutz & Sicherheit
- Alle Daten werden ausschließlich lokal auf dem Gerät gespeichert – es werden keine Daten an externe Server übertragen
- Die App ist mit einem Passwort geschützt; beim ersten Start wird ein Wiederherstellungscode angezeigt, mit dem das Passwort zurückgesetzt werden kann
- Nach 30 Minuten Inaktivität wird die App automatisch gesperrt (mit Vorwarnung 2 Minuten vorher)
- Die Live-Abstimmung läuft ausschließlich im lokalen Netzwerk – kein Internetzugang erforderlich; jeder Abstimmungscode ist streng einmalig und kann nicht erraten werden