Skip to content

jojo2k7/ghg

Repository files navigation

Schulabschluss Rechner

Ein Notenrechner für integrierte Gesamtschulen in Deutschland.
Entstanden im Informatikunterricht der Jahrgangsstufe 13 an der Grace Hopper Gesamtschule, Teltow.


Überblick

Der Schulabschluss Rechner hilft Schülerinnen und Schülern der 10. Klasse dabei, jederzeit zu berechnen, welchen Schulabschluss sie aktuell erreichen würden. Anstatt auf die offizielle Beurteilung der Schule zu warten, können Punkte beliebig oft eingetragen werden — das Ergebnis wird sofort berechnet.

Die App ist kostenlos, speichert keine Daten auf externen Servern und funktioniert auf iOS und Android.


Was macht die App

Beim ersten Start richtet man die Fächerkonfiguration ein — entweder durch Auswahl eines Schulprofils aus der Liste oder durch manuelle Eingabe. Danach trägt man für jedes Fach die eigenen Punkte ein, und die App berechnet automatisch die Gesamtpunktzahl sowie den bestmöglichen Abschluss.

Zusätzlich zeigt die App genau an, welche Voraussetzungen für einen höheren Abschluss noch fehlen. Eine fertige Punkteübersicht lässt sich als PDF exportieren — zum Beispiel für Gespräche mit Lehrkräften oder Eltern.

Unterstützte Abschlüsse

Abschluss Vollständige Bezeichnung Beschreibung
BR Berufsbildungsreife Einfacher Hauptschulabschluss
EBR Erweiterte Berufsbildungsreife Erweiterter Hauptschulabschluss
FOR Fachoberschulreife Mittlere Reife
FORQ Fachoberschulreife mit Qualifikation Mittlere Reife mit Berechtigung für die gymnasiale Oberstufe

Funktionen

  • Live-Berechnung — Ergebnisse aktualisieren sich beim Eingeben
  • Unterstützung von E-Kurs und G-Kurs in Fächergruppe I
  • Automatische Durchschnittsbildung für Gesellschaftswissenschaften
  • Schulprofil-Bibliothek mit Remote-API und integriertem Fallback
  • Manuelle Fächerkonfiguration mit vollständiger Kontrolle
  • PDF-Export, formatiert für den Druck und Lehrergespräche
  • Alle Daten verbleiben auf dem Gerät — kein Konto, kein Tracking
  • Unterstützung für Schulen mit zwei oder drei Fächergruppen

Bedienung

Erster Start — Schuleinrichtung

  1. Die App starten. Ein kurzer Einrichtungsassistent führt durch den Prozess.
  2. Wählen, ob ein Schulprofil geladen oder die Fächer manuell eingegeben werden sollen.
  3. Bei einem Schulprofil: Schule suchen, auswählen — die Fächerliste wird automatisch übernommen.
  4. Bei manueller Einrichtung: Fächer auswählen, jedes Fach einer Fächergruppe zuordnen und Gesellschaftswissenschaften markieren.
  5. Konfiguration bestätigen und beginnen.

Punkte eintragen

  • Zwischen den Fächergruppen über die untere Navigationsleiste wechseln.
  • Für jedes Fach die Plus- und Minus-Schaltflächen verwenden oder direkt in das Eingabefeld tippen. Punkte gehen von 0 bis 15.
  • Bei Fächergruppe I: mit dem Schalter auf jeder Karte zwischen E-Kurs und G-Kurs wechseln. Dies beeinflusst die Notenumrechnung.
  • Das Ergebnis aktualisiert sich automatisch im Tab "Ergebnis".

Ergebnis lesen

Der Ergebnis-Tab zeigt den aktuell besten erreichbaren Abschluss, die Gesamtpunktzahl aufgeteilt nach Fächergruppen sowie eine Checkliste der Voraussetzungen für jeden Abschluss. Grün bedeutet: Bedingung erfüllt. Grau bedeutet: noch nicht erreicht.

PDF exportieren

Im Ergebnis-Tab auf "Als PDF exportieren" tippen. Die App erstellt ein formatiertes Dokument mit allen Punkten, dem aktuellen Abschluss und Bereichen für Zielvereinbarungen und Unterschriften.

Zurücksetzen

  • Nur Punkte löschen (Fächerkonfiguration behalten): Reset-Symbol oben rechts in einem Fächergruppen-Tab tippen.
  • Komplett neu einrichten: Im Info-Tab auf "Neu einrichten" tippen.

Berechnungsregeln

Die folgenden Regeln entsprechen den offiziellen Bewertungskriterien für den 10. Jahrgang an integrierten Gesamtschulen in Brandenburg.

Fächergruppe I

Die Punktzahl wird je nach Kursart unterschiedlich in Noten umgerechnet:

Punkte Note im E-Kurs Note im G-Kurs
13 – 15 1 1
11 – 12 2
9 – 10 3 2
7 – 8 4 3
5 – 6 5 4
3 – 4 5
0 – 4 (E) / 0 – 2 (G) 6 6

Fächergruppe II

Gesellschaftswissenschaftliche Fächer (Geschichte, Politische Bildung, Geografie sowie weitere, die beim Setup markiert wurden) werden zu einer gemeinsamen Durchschnittspunktzahl zusammengefasst. Alle anderen Fächer der Fächergruppe II werden einzeln addiert.

Abschlussvoraussetzungen

  • BR: Keine Note 6, weniger als drei Fünfen, alle Fächer eingetragen, und entweder alle Fächer mindestens 5 Punkte oder Deutsch bzw. Mathematik mindestens 5 Punkte.
  • EBR: Keine Note 6, weniger als drei Fünfen, Gesamtpunktzahl mindestens 65, FG-II-Punkte mindestens 34, Deutsch oder Mathematik mindestens 5 Punkte.
  • FOR: Keine Note 6, mindestens zwei E-Kurse, Gesamtpunktzahl mindestens 91, alle FG-I-Fächer mindestens 7 Punkte, FG-II-Punkte mindestens 48, alle effektiven FG-II-Werte mindestens 4 Punkte mit mindestens zwei davon bei 7 oder mehr, Deutsch oder Mathematik mindestens 5 Punkte.
  • FORQ: Keine Note 6, mindestens drei E-Kurse davon mindestens zwei aus Deutsch, Englisch und Mathematik, Gesamtpunktzahl mindestens 121, alle FG-I-Fächer mindestens 9 Punkte mit mindestens einem E-Kurs-Fach bei 11 oder mehr, FG-II-Punkte mindestens 64, alle effektiven FG-II-Werte mindestens 4 Punkte.

Technischer Überblick

Dieser Abschnitt richtet sich an Entwicklerinnen und Entwickler.

Technologie-Stack

Bereich Technologie
Framework Flutter 3 (Dart)
Zustandsverwaltung Provider
Lokaler Speicher shared_preferences
PDF-Erstellung pdf + printing
Netzwerk http

Architektur

Das Projekt folgt einer geschichteten Architektur mit klarer Aufgabentrennung.

lib/
  core/           Konstanten, Theme, Rechenlogik, Fächerpool
  models/         Subject, SchoolPreset, GraduationResult
  providers/      AppProvider (globaler Zustand via ChangeNotifier)
  screens/        Onboarding-Assistent, Home-Screen
  services/       ApiService, StorageService, PdfService
  tabs/           SubjectListTab, ResultTab, AboutTab
  widgets/        Wiederverwendbare UI-Komponenten

Onboarding ist als mehrstufiger Assistent mit einer Zustandsmaschine (OnboardingStep-Enum) umgesetzt. Die Schritte variieren je nachdem, ob ein Schulprofil verwendet wird oder nicht.

Calculator (lib/core/calculator.dart) ist eine reine statische Klasse. Sie erhält zwei Fächerlisten und gibt ein GraduationResult-Objekt zurück. Sie hat keine Flutter-Abhängigkeiten und kann isoliert getestet werden.

Speicherung nutzt JSON-Serialisierung über shared_preferences. Der vollständige App-Zustand (Fächer, Schulname, Preset-ID, FG-Anzahl, Onboarding-Flag) wird bei jeder Änderung gespeichert und beim Start wiederhergestellt.

Preset-API lädt von https://api.cactusio.com/api/presets/abschluss. Bei Fehler oder Timeout wird das eingebettete GHG-Preset als Fallback verwendet. Remote-Presets werden mit dem eingebetteten Preset zusammengeführt und nach ID dedupliziert.

Projekt starten

Voraussetzungen

  • Flutter SDK 3.3.0 oder neuer
  • Dart SDK 3.3.0 oder neuer
  • Xcode (für iOS) oder Android Studio (für Android)

Einrichtung

git clone https://github.com/jojo2k7/ghg/
cd schulabschluss_rechner
flutter pub get
flutter run

Release-Build

flutter build apk --release       # Android
flutter build ipa                  # iOS (erfordert Xcode und Signierung)

Tests ausführen

flutter test

Schulprofil einreichen

Schulen können ihre Fächerkonfiguration einreichen, um in der Preset-Bibliothek aufgenommen zu werden. Kontakt: ulbrichj@gesamtschule-teltow.de

Folgende Informationen werden benötigt:

  • Schulname, Ort und Bundesland
  • Vollständige Fächerliste für die 10. Klasse
  • Fächergruppenzuordnung für jedes Fach (FG I oder FG II)
  • Fächer, die zur Durchschnittsbildung der Gesellschaftswissenschaften gehören

Presets folgen dem SchoolPreset-JSON-Schema aus lib/models/school_preset.dart.


Datenschutz

Der Schulabschluss Rechner erfasst, überträgt oder speichert keinerlei personenbezogene Daten auf externen Servern. Alle Punkte und Konfigurationen werden ausschließlich auf dem Gerät der Nutzerin bzw. des Nutzers gespeichert. Es werden keine Analyse-, Absturzberichte- oder Tracking-Dienste verwendet.

Die einzige Netzwerkanfrage der App ist das Laden der Schulprofil-Liste vom Cactusio-Server beim ersten Start. Diese Anfrage enthält keine personenbezogenen Informationen.


Projekthintergrund

Diese App wurde im Rahmen des Informatikunterrichts der Jahrgangsstufe 13 an der Grace Hopper Gesamtschule, Teltow, entwickelt.

Team

Name Aufgabenbereich
Julius Ulbrich Architektur, Rechenlogik, UI, PDF-Export, API-Integration
Florian Entwicklung
Kai Entwicklung

Die erste Version war ein einzelner Datei-Prototyp (main.dart). Daraus entstand eine modular aufgebaute App mit persistenter Datenspeicherung, einem Remote-Preset-System, einem Onboarding-Assistenten und einem PDF-Export — und wurde von einer schulspezifischen Lösung zu einem allgemeinen Werkzeug für alle integrierten Gesamtschulen in Deutschland weiterentwickelt.


Lizenz

Dieses Projekt wurde zu Bildungszwecken an der Grace Hopper Gesamtschule entwickelt.
Copyright 2026 Cactusio. Alle Rechte vorbehalten. Mehr Informationen auf https://policies.cactusio.com/en/


Der Schulabschluss Rechner ist ein inoffizielles Hilfsmittel. Er steht in keiner Verbindung zu einer Schule oder Bildungsbehörde und wird von keiner solchen empfohlen. Die offizielle Beurteilung durch die Schule ist stets maßgeblich.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors