Woran wird gerade gearbeitet?
Backlog
- [ ] Sentry
- [X] Expo
- [X] Console
- [ ] Next.js
- [ ] Rest/API
- [ ] Axiom
- [ ] Expo
- [X] Console
- [X] Next.js
- [X] Rest/API
Wenn die Kurse gesynct werden, werden scheinbar auch manuelle Änderungen am Stundenplan durch den Server-State ersetzt.
Es sollte eine Möglichkeit geben, die entsprechenden PDFs hochladen zu können. Hier wäre ein Zugang für Hr. Niemann denkbar.
Es wurden sich Push-Notifications für Entschuldigungen gewünscht, die noch nicht unterschrieben sind
- [ ] Skalare Werte (Name, ID)
- [ ] Lehrer bearbeiten
- [ ] Eintrag im Stundenplan
- [ ] MyScript-Sales anschreiben
Es kam der Vorschlag auf, dass Lehrer:innen ihren Schülern über die App Notizen zukommen lassen könnten, sodass sie auch direkt im Kontext eines Fachs gesehen werden können. Hier muss noch der wirkliche Nutzen und konkrete Use Cases evaluiert werden, sowie Datenschutz und -sicherheit geprüft werden.
Aktuell gibt es keine Möglichkeit, einem Kurs aus einem anderen Jahrgang beizutreten. Laut Hr. Schröder ist das aber vereinzelt der Fall.
Man könnte eine Funktion einbauen, die anhand der eingetragenen Noten prüft, ob man die Bedingungen für das Abi erfüllt. Da hier *viel* manuelle Businesslogik erforderlich ist, muss vorher ein Weg gefunden werden, um diese zu formalisieren, sodass sie leicht unabhängig vom Quellcode angepasst werden kann.
Mattes aus dem Physik-Kurs der 12. Klasse hat sich gewünscht, dass Ideen von Schüler:innen auch irgendwo in der App aufgelistet werden.
Todo
- [ ] Alle Funktionen der App funktionieren
- [ ] Android
- [ ] iOS
- [ ] App ist in App Stores eingereicht
- [X] Backend ist deployed
- [ ] Beta ist in alter App angekündigt
- [ ] lokal auftretendes Event direkt in die Queue packen
- [ ] RabbitMQ/Pulsar Offset speichern und verwenden
- [ ] grundlegende Debugging-Möglichkeit für Events einbauen
- [ ] Gefailte/wartende Events auflisten
- [ ] Toast bei Fehler
Erneuter Einstieg in Setup-Flow soll möglich gemacht werden
In Progress
| | iOS | Android |
| -- | -- | -- |
| Segmented Picker | - [ ] [https://developer.apple.com/documentation/SwiftUI/PickerStyle/segmented](https://developer.apple.com/documentation/SwiftUI/PickerStyle/segmented)
| - [ ] [https://developer.android.com/develop/ui/compose/components/segmented-button](https://developer.android.com/develop/ui/compose/components/segmented-button)
|
| Date Picker | - [ ] [https://developer.apple.com/documentation/swiftui/datepicker](https://developer.apple.com/documentation/swiftui/datepicker)
| - [ ] [https://developer.android.com/develop/ui/compose/components/datepickers](https://developer.android.com/develop/ui/compose/components/datepickers)
|
| Drawing Pad | - [X] (custom)
| - [X] (custom)
|
| Dropdown Menu | - [X] [https://developer.apple.com/design/human-interface-guidelines/pop-up-buttons](https://developer.apple.com/design/human-interface-guidelines/pop-up-buttons)
| - [X] [https://developer.android.com/develop/ui/compose/components/menu](https://developer.android.com/develop/ui/compose/components/menu)
|
| Bottom Sheet | - [ ] [https://developer.apple.com/documentation/SwiftUI/View/sheet(item:onDismiss:content:)](https://developer.apple.com/documentation/SwiftUI/View/sheet(item:onDismiss:content:))
| - [ ] [https://developer.android.com/develop/ui/compose/components/bottom-sheets](https://developer.android.com/develop/ui/compose/components/bottom-sheets)
|
Push Notifications wieder einbauen
Done
# Neue Tabellen
- [X] Fehlzeiten
- [ ] Semester
- [ ] Semester-Kurse
- [X] Noten
- [X] Aufgaben
# Clean-Ups
- [ ] CourseTime: Composite ID aus CourseID, Weekday, Start
Um ein leichteres und sichereres Deployment zu ermöglichen, soll die Infrastruktur reworked werden.
Dazu gehört:
- [X] Umzug des Strato Servers auf KVM
- [X] Containerisierung der Komponenten mit Docker
- [X] Management mit Coolifys
Der Vertretungsplan muss öfter neu geladen werden. Laut einem Schüler wird ihm regelmäßig noch der Plan von gestern angezeigt. Wahrscheinlich lief die App noch im Hintergrund und zeigt alte Daten an, weil sie nur beim Start den Plan lädt.
Hr Schröder hatte angeboten, eine Extra Ansicht für Kadmos zu bauen, aus der ich Tagesaktuell meine Daten ziehen kann
Um die App auf mehreren Geräten nutzen zu können (z.B. Tablet und Handy), möchte ich folgende meiner Daten zwischen diesen Geräten Synchronisieren:
* Name
* Jahrgang, Klasse, Kurse
* Fehlzeiten
* Noten
Zumindest Unterschriften sollten dabei Ende-Zu-Ende-Verschlüsselt sein
Um leichter und schneller Kontakt zum Support aufbauen zu können, hat Herr Schröder vorgeschlagen, die Kontakt-Email (studienbuch@haukeschnau.de bzw. info@studienbuch.app o.ä.) direkt in der App zu verlinken.
- [X] User-Liste im Admin Panel
- [X] Name, Anrede, Email, Rolle bearbeiten
- [X] Password setzen
- [X] User hinzufügen
- [X] User löschen
In Untis sind immer die aktuellsten Daten für den Vertretungsplan verfügbar. Kadmos ist eine Schnittstelle, über die diese Daten maschinenfreundlich auslesbar sind. Hier können die Daten für Vertretungspläne in Zukunft verlässlicher abgeholt werden.
Dieses Ticket muss aktuell warten, da es in den Osterferien nicht mit Live-Daten getestet werden kann.
Einfaches Kanban-Board, auf dem alle Issues öffentlich eingesehen werden können (Roadmap)