Such- und Vergleichsdienst für offengelegte Schuldaten im ganzen Land
(woorischool.com)Hallo. Als ich Schulinformationen gesucht habe, wollte ich die Unannehmlichkeit verringern, ständig zwischen mehreren Websites und Excel-Dateien wechseln zu müssen, und habe deshalb Urihakgyo Eottae entwickelt.
Der gesamte Entwicklungsprozess erfolgte im Vibe-Coding-Stil. Es war kein Projekt, das damit abgeschlossen war, die AI einmal Code generieren zu lassen; stattdessen habe ich die Anforderungen in Dokumente aufgeteilt und wiederholt Implementierungsergebnisse mit realen Daten abgeglichen, um Fehler erneut zu korrigieren. Gerade bei Schuldaten hielt ich es für wichtiger, dass nichts fälschlich mit anderen Schulen verknüpft wird, als dass die Oberfläche nur überzeugend aussieht, daher habe ich die meiste Zeit in Mapping und Validierung investiert.
Im Dienst können Sie nach Schulnamen suchen, Schulen derselben Schulstufe vergleichen, offengelegte Daten nach Region vergleichen sowie fachspezifische Lernstandsdaten und die Ergebnisse des Schulausschusses für Maßnahmen gegen Gewalt an Schulen einsehen. Werte, die in den Originaldaten bestätigt werden, und selbst berechnete Kennzahlen werden getrennt ausgewiesen.
Datenbestand
- Grundinformationen zur Schule
- Klassen und Schülerzahl
- Zahl der Lehrkräfte
- Informationen zu Schülerbewegungen (Zuzüge, Wegzüge)
- Absolvierte Stunden in der Sicherheitsbildung
- Ergebnisse des Ausschusses für Maßnahmen gegen Gewalt an Schulen
- Fachbezogene Lernleistung (nur Durchschnittswerte berücksichtigt)
Technischer Aufbau
- Next.js App Router, TypeScript, Tailwind CSS
- Firebase Firestore und Firebase Admin SDK
- Deployment auf Vercel und Automatisierung mit GitHub Actions
- Statisches
search-index.jsonfür die Browsersuche - Statisches JSON für Schuldetail-, Ranking- und Vergleichsseiten
- Datenerfassung aus NEIS und Schulinfo-Daten sowie Übernahme von Änderungen auf Basis von
row_hash - Tool zum Import manueller Offenlegungsdaten, das die Tabellenstruktur von XLS-Dateien aus Schulinfo erkennt
Unerwartet schwierige Punkte während der Entwicklung
Am kniffligsten war das Matching der Schulnamen. Es gab Schulen mit demselben Namen, umbenannte Schulen, geschlossene Schulen und Schulen, die sich nur in der Schulstufe unterschieden, sodass bei einer Verknüpfung allein über den Schulnamen Fehlzuordnungen entstehen konnten. Deshalb habe ich das Verfahren so geändert, dass zunächst Schulcode, Schulamtsinformationen, Region und Schulstufe verwendet werden und Einträge, die sich nicht automatisch sicher festlegen lassen, als separate Prüfobjekte verbleiben.
Auch die XLS-Dateien zur Offenlegung von Lernleistung und Schulgewalt hatten nicht in jeder Datei exakt dieselben Spaltenpositionen. Wenn man feste Spaltennummern zum Einlesen verwendet, können falsche Werte übernommen werden, die wie normale Zahlen aussehen. Daher habe ich einen Validierungsschritt ergänzt, der anhand von Tabellentitel und Header das Format unterscheidet und Werte außerhalb des zulässigen Bereichs nicht übernimmt.
Noch keine Kommentare.