No description
  • Dart 89.6%
  • C++ 4.9%
  • CMake 3.7%
  • Ruby 0.5%
  • Swift 0.5%
  • Other 0.8%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
2026-08-02 22:17:02 +00:00
.forgejo/workflows Removed release section from workflow 2026-07-29 15:13:04 +00:00
android flutter android build config 2026-07-26 15:26:57 +02:00
assets/icon Added icons 2026-07-26 15:26:57 +02:00
ios flutter ios build config 2026-07-26 15:26:57 +02:00
lib Fix auto-logout timer for inactivity > 30 minutes 2026-08-02 23:31:38 +02:00
linux flutter linux build config 2026-07-26 15:26:57 +02:00
macos flutter macos build config 2026-07-26 15:26:57 +02:00
platformbuilds Added build config for windows / linux 2026-07-26 15:26:57 +02:00
templates Added templates 2026-07-26 15:26:57 +02:00
test Fix auto-logout timer for inactivity > 30 minutes 2026-08-02 23:31:38 +02:00
web flutter web build config 2026-07-26 15:26:57 +02:00
windows flutter windows build config 2026-07-26 15:26:57 +02:00
.gitignore adapted .gitignore 2026-07-26 15:26:57 +02:00
.metadata Added flutter global files 2026-07-26 15:26:58 +02:00
analysis_options.yaml Added flutter global files 2026-07-26 15:26:58 +02:00
LICENSE Initial commit 2026-06-29 22:33:02 +02:00
pubspec.lock Fix auto-logout timer for inactivity > 30 minutes 2026-08-02 23:31:38 +02:00
pubspec.yaml Release-Vorbereitung 2026-08-02 16:26:28 +02:00
README.md Update README with multi-user roles, Kasse and backup sections 2026-08-02 16:22:47 +02:00

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, Kassenverwaltung und Wahlen 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
Kasse Einnahmen und Ausgaben verwalten, verifizieren, Saldo bilden
Einstellungen Schuljahr, Ämter, Antragstypen, Kassen-Kategorien, Benutzer anpassen

Anmeldung und Rollen

Beim ersten Start wird ein Administrator-Konto angelegt und ein Wiederherstellungscode angezeigt notiere ihn, er wird nur einmal angezeigt und ermöglicht das Zurücksetzen des Admin-Passworts.

Danach können mehrere Benutzer mit unterschiedlichen Rollen eingerichtet werden. Jeder Benutzer kann sein eigenes Passwort jederzeit ändern. Welche Tabs und Aktionen sichtbar sind, hängt von der Rolle ab Unerlaubtes wird konsequent ausgeblendet.

Rolle Berechtigungen
Administrator Volle Konfiguration. Einzige Rolle, die den Datenspeicherort ändert, Benutzer verwaltet und Backups importiert.
Co-Schülersprecher:in Umfasst Co-SSp und Co-SVR-V. Alle SV-Einstellungen, alle Daten CRUD, CSV im/export, Backups exportieren.
SVR-Mitglied Umfasst MdSVR, MdBDK, deren Stellvertretungen und SV-Lehrer:in. Sitzungen leiten (Wahlen, Anträge, Anwesenheit), Kasse einsehen.
Kassenwart:in Voller Kasse-Zugriff: Einträge anlegen, bearbeiten und Kassen-Kategorien verwalten.
Kassenprüfer:in Wie Kassenwart:in, darf zusätzlich Einträge als verifiziert markieren und löschen als einzige Rolle.

Der Administrator vergibt im Einstellungen-Tab unter „Benutzer verwalten" neue Konten, ändert Rollen, setzt Passwörter zurück und erzeugt einen neuen Wiederherstellungscode.


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
  • Optional: Spalte „SVVV-Sitzungen" zeigt, an wie vielen SVVV-Sitzungen die jeweilige Person teilgenommen hat (in den Einstellungen deaktivierbar)

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 (24 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
  • Wenn für eine SVVV-Sitzung eine Liste erzeugt wird, wird für jede ausgewählte Person die SVVV-Sitzungsstatistik in der Verwaltung automatisch hochgezählt

5. Kasse

Verwaltung von Einnahmen und Ausgaben der SV-Kasse.

  • Einnahmen und Ausgaben getrennt erfassen pro Eintrag Typ, Betrag, Beschreibung, optionale Kategorie, Datum, Zahlungsweg (Bargeld / Bank / Lastschrift), Beleg-Nr., Verantwortliche:r und Notiz
  • Zusammenfassung oben auf der Seite: Summe Einnahmen, Summe Ausgaben, Saldo farblich hervorgehoben
  • Status „Verifiziert": jede:r Kassenprüfer:in kann einen Eintrag als verifiziert markieren (und die Markierung wieder aufheben). Nur die Kassenprüfer:in-Rolle darf Einträge löschen auch nicht-Administrator:innen.
  • Filter: „Alle / Offen / Verifiziert" und Volltextsuche über Beschreibung, Kategorie und Verantwortliche:r
  • CSV-Import: Einträge aus einer CSV-Datei übernehmen. Vorhandene Kategorien werden automatisch erkannt, fehlende werden angelegt.
  • CSV-Export: alle Einträge als CSV-Datei ausgeben
  • Kassen-Kategorien verwalten: frei definierbare Kategorien je Eintrag anlegen, umbenennen, sortieren, entfernen

6. 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

Datenspeicherort

  • Aktuellen Speicherpfad der App-Daten einsehen
  • Speicherort ändern (z. B. auf ein Netzlaufwerk) optional mit Übernahme der vorhandenen Dateien
  • Auf Standard zurücksetzen
  • Nur die Rolle Administrator sieht und nutzt diese Schaltflächen

Darstellung

  • Dunkles Farbschema für die App erzwingen oder dem System folgen
  • Textgröße der gesamten App in 10 %-Schritten von 80 % bis 160 % anpassen
  • SVVV-Sitzungsstatistik in der Verwaltung ein-/ausblenden

Sicherheit

  • Eigenes Passwort ändern jeder Benutzer kann das für sein eigenes Konto tun
  • Benutzer verwalten (nur Administrator): Benutzerkonten anlegen, bearbeiten, löschen, Passwörter zurücksetzen und den globalen Wiederherstellungscode neu erzeugen

Ä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
Co-SVR-V Co-SVR-Vorsitzende:r
MdSVR Mitglied des SV-Rates
stv. MdSVR stellvertretendes Mitglied des SV-Rates
MdBDK Mitglied der Bezirksdelegiertenkonferenz
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)

Kassen-Kategorien verwalten

  • Frei definierbare Kategorien für Kassen-Einträge (z. B. „Mitgliedsbeiträge", „Veranstaltungen", „Bürobedarf")
  • Anlegen, umbenennen, sortieren und entfernen mit Reihenfolge per Drag & Drop

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

Vollsicherung (.zip)

  • Vollsicherung exportieren: erzeugt eine .zip mit allen Schüler-, Antrags-, Vorlagen- und Einstellungsdaten. Die Datei lässt sich auf demselben oder einem anderen Gerät wieder importieren, um den exakt gleichen Zustand wiederherzustellen.
  • Sicherung importieren: stellt den Zustand aus einer .zip-Sicherung wieder her. Achtung: aktuelle Daten werden dabei vollständig ersetzt. Nach dem Import die App neu starten.

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.


Datensicherung

Alle App-Daten werden lokal auf dem Gerät gespeichert es werden keine Daten an externe Server übertragen. Der Speicherort ist frei wählbar; standardmäßig wird ein verstecktes Verzeichnis verwendet:

  • Linux / macOS: ~/.sv_helfer/
  • Windows: %LOCALAPPDATA%\.sv_helfer/
Daten Speicherort
Schüler:innen, Anträge, Wahlen, Ämter, Antragstypen, Kassen…, Einstellungen, Benutzer <Datenordner>/data/<schluessel>.json
Angehängte Antragsdokumente <Datenordner>/antraege/<AntragId>/
Eigene Vorlagen <Datenordner>/vorlagen/

In den Einstellungen kann der Speicherort geändert werden. Dabei besteht die Möglichkeit, vorhandene Dateien in den neuen Ordner zu verschieben. Nach einem Wechsel ist ein Neustart der App erforderlich.

Für eine vollständige Sicherung kannst du im Einstellungen-Tab einen .zip-Export anstoßen (siehe oben). Mit dem Import lässt sich der Zustand auf demselben oder einem anderen Gerät exakt wiederherstellen.


Datenschutz & Sicherheit

  • Alle Daten werden ausschließlich lokal auf dem Gerät gespeichert es werden keine Daten an externe Server übertragen
  • Mehrere Benutzerkonten mit unterschiedlichen Rollen; jede Rolle sieht nur die für sie freigegebenen Tabs und Aktionen
  • Beim ersten Start wird ein Administrator-Konto angelegt; gleichzeitig erscheint ein Wiederherstellungscode, mit dem das Admin-Passwort zurückgesetzt werden kann. Der Code wird nur einmal angezeigt und kann im Einstellungen-Tab vom Admin neu erzeugt werden.
  • 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