-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathtodo.txt
executable file
·103 lines (96 loc) · 7.8 KB
/
todo.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
Persistence
[x] Persistence-Toggle per Default auf false
[x] Persistence aus als Default
[ ] Persistence an/aus oben in Header anzeigen / an/ausschalten ->
Muss noch in alle Controller, am besten allgemein
Und dann von jeder HTML-Seite, die das Fragment bodyHeader einzieht: th:with="persistenceToggle=${persistenceToggle}">
[ ] Persistence-Schedule dynamisch verlängern, solange keiner was an der App macht
[x] Persistence nur dann speichern nach S3, wenn sich überhaupt Änderungen ergeben haben (Prios, Booking oder UnBooking)
[ ] Offline-Toggle ("lese nur von program, merge nicht mit S3-Storage")
[ ] Auto-Cleaner für alle S3-Movies-Dateien (alles was zB älter als 48h ist)
[ ] Test, ob mit leerem S3 alles noch geht (oder bricht Merge ab?)
[ ] Persistence für Tests auch von/nach lokaler Datei zulassen
[x] Bugfix: mit nicht existierender movies...-Datei startet die App nicht
[ ] Beim Schließen der Anwendung nochmal speichern (sonst sind ggf. letzte Änderungen weg)
Fachliches, Bugs
[x] Bugfix: bookable=yes und available=yes geht, vermutlich durch Fehler in unbook
[x] ID-Generator basiert auf korrekter Reihenfolge beim Einlesen, da Zähler hochgezählt wird. Bei Änderungen (oder weniger Filmen wg. Zeitfilter ändern sich IDs, weswegen das Einlesen der Movie-Datei dazu führt, dass Prios weg sind, da sie nicht mehr zugeordnet werden können)
[ ] Zeitmodus: Nur noch Sachen in der Zukunft anzeigen oder Rest ausgrauen/nicht zweigen
[ ] (für neue Filme oder anderes wie Essen-gehen): fiktive Buchungen zum Zeitblockieren vornehmen
[ ] 1 oder 2 Tickets buchen zulassen
[ ] Nutzer-spezifische Ansichten, also alle Use-cases für Nutzer ausrichten (zB als Ansicht für Kristine, für Martin)
[ ] Benutzer-/Mandantenfähig machen (am Login festmachen?)
[ ] Liste bei Program und bei BookableMovie: Liste der Anzahl Events pro Tag oder wieviel noch available oder ...
[x] Anzahlen von Movies und Events und Bookings auf alle Seiten in der Überschrift draufschreiben (und auch wenn leer)
[ ] alle Seiten (auch) nach Tagen sortieren so wie schon bei Schedule
[x] Tagesfilter implementieren, nur einen Tag zeigen: zB Oben im Header anwählen, dann dynamisch filtern
[/] Rausschmeissen auf unsere Tage: nicht beim Einlesen sondern erst beim Ausgeben
[x] Rausschmeissen auf unsere Tage mit Uhrzeit, nicht nur auf Tagesbasis, zB ab mittags bis mittags
[ ] Vormerken implementieren als "hier noch kein Ticket aber wir gehen zur Vorkasse" , also weiteren Status "merken" zulassen, falls man einen Film unbedingt sehen will aber an VVK-Kasse kein Ticket ist -> blockiert Zeitfenster
[ ] Alle Movies: Sortieren mit Untertabellen, Sprung direkt zu den 50ern
[/] Mehrfachbuchen eines Movies (nur bei ausdruecklichem Wunsch) zulassen
[x] Kategorie mit in die Daten aufnehmen (steht versteckt in der Description drin, als "Wettbewerb" oder "Encounters" oder "Panorama" -> per Volltextsuche finden, pfff)
[ ] Kategorie in Listen über Farbdarstellung der Zeile hervorheben (zB wichtigere Kategorie in rot oder orange, unwichtigere in blau oder grau)
[ ] beim Laden automatisch nach Kategorie priorisieren, zB alle Wettbewerb-Filme auf 80 statt 50 (aber woher Kategorie nehmen?)
[x] in BookableMovies nur die Anzahl der Bookable Events anzeigen (statt die Gesamtzahl)
[ ] In der Movies-Datei in S3 landen alle Filme. Es reichen eigentlich die mit einem Event.booked = true. Die Available-Status muss man dann aber auch fixen
[x] Movies-Datei nicht als .txt sondern als .json speichern
[x] Prio's Attribut "optional" kann weg. Keine Ahnung, wofür das war. Alte JSON-Daten weiterhin einlesbar?
[ ] Unbooken und Unbookmarken von Movies auf allen Seiten zulassen
[x] Details-Links als Pseudo-Buttons anzeigen
[ ] Ansicht für Zeiten, die avail/booked/bookmarked sind - in Schedule-Seite integrieren
[ ] zwei gleichzeitige Logins erkennen und vor gegenseitigem Überschreiben der Prios waren (per asynchronem Web-Socket-Zeuchs)
[ ] Priorisierung in der Liste mit Pfeil-hoch/runter-Buttons ändern können
[ ] In Detailseite die Anzahl der potentiellen Überlappungen pro Event hinschreiben: Dann kann man das zuerst wählen, was die wenigsten hat. Ggf. sogar die Überlappungsmovies dort verlinken
[ ] Filterung der Listen: Event-Spalte zeigt aktuell die Gesamtzahl , nicht die für den gefilterten Tag
[ ] Filter auf Datum/Uhrzeit: Ende-Uhrzeit muss gegen die Movie-Endezeit (nicht gegen die Anfangszeit) geprüft werden (aktuelle Implementierung ProgramParser.isInStartEndTimeframe() ist merkwürdig)
[ ] force book ist aktuell nur für Bookings, aber nicht für Bookmarks implementiert -> nicht konsistent
[ ] Auf Schedule-Seite die Filme rot markieren, die Überlappung haben (weil diese durch force book erzwungen worden ist)
[ ] Titelleiste auf iPad bricht bei 5 Filter-Tagen häßlich um (Tagesliste dann über zwei Zeilen)
[ ] Mehr als ein Event eines Movies bookmarken (wollen wir das wirklich -> ja, siehe nächster Eintrag)
[ ] Beliebig bookmarken können: Jedes Event bookmarkable machen, außer Film ist schon gebookt
[ ] Abhängigkeiten zu Event rein und raus modellieren: Index aufbauen. Abhängigkeiten auch anzeigen und navigierbar machen
[ ] In allen Listen nach allen Spalten sortieren können, auch mehrfach "zuerst nach X, dann nach Y": Einmal Klick ab, zweiter Klick aufsteigend, dritter: Sortierung raus
[ ] Filter nach Tag besser anzeigen
[ ] Filter nach Location erlauben
[ ] neue Liste: alle Events "flachgeklopft", auch Filter nach Tag und nach Location ermöglichen
[ ] Event-ID nicht selbst generieren, sondern aus der URL rausgreppen
[ ] bei gebookmarkten Events auch gleich Booken erlauben
Locations
[x] Location überall gleich anzeigen, auch gleich mit Link wie bei Schedule
[ ] Location-Entfernungen einbauen
[ ] Locationgruppen bilden (zB ist Cubix 5 quasi Cubix 10)
[ ] halbe Stunde Puffer aktuell hardcoded - dynamisch machen, auch von Location/Entfernung abhg machen oder manuell override zulassen
[ ] Farbig in Tabelle: Wettbewerb oder Retrospektive oder Dokumentar ...
[ ] Länder anzeigen (zB Spanien, Kanada, Island, aber das steht nur unformatiert in der Description -> per Volltextsuche, wie Kategorie, siehe MovieCategory)
Kalender
[x] Kalendereintrag für iPhone supporten. Zeitzone aller Datum/Zeit-Attribute muss in UTC angegeben sein
[x] Kalendereintrag für Outlook checken: Stimmt die Zeitzone?
[ ] Kalendereintrag ohne X-WR-TIMEZONE, X-WR-CALNAME, X-WR-CALDESC erzeugen/ausgeben, damit die Einträge direkt in meinem Kalender landen (ohne Umweg über einen Zweitkalender)
[ ] Warum eigentlich eine neue ICS-Datei generieren? Warum nciht die Inhalte aus dem Program einfach übernehmen?
Layout
[ ] Responsive fuers Handy
[ ] Login mit Cookie
[ ] Prio hoch/runter in Listenansicht (zusätzlich)
[ ] Prio und Sortierung direkt durch Hoch-Runterziehen im Browser in der Tabelle - oder per Hoch/Runter-Buttons
Beautifying und Browser
[x] unbook- und book-Buttons gleich nennen
[ ] HTML-Page-Titles spezifischer machen, zB fuer Details-Seite
[ ] _target Links gehen in FF nicht, macht Tabs kaputt
[ ] Kein Eintrag bei Prio bedeutet 0 -> Verhindern im Browser oder Default als 50
[/] Chrome auf iPad erlaubt kein Login?! - nicht reproduzierbar
[x] Fusszeile auf index-Seite mit build.version and build.date
[x] Schedule-Page: Alle Tages-Tabellen ausrichten, mit fixierten Breiten
[ ] Program- und Bookable-Pages: mehrere Tabellen, nach Prio-Klasse (99-90, 89-80, ...) sortiert, alle im Layout gleich ausgerichtet wie bei Schedule
Querschnitt & Infrastruktur
[x] Spring-Profile local einführen
[/] Properties-Key-Namen systematischer nennen
[/] Maven-Git-Plugin einbauen, wie bei KAPA
[x] berlinapple.de als Domain und AWS dahin umlenken
[ ] Läuft wirklich eine Apache Derby DB mit?
[ ] Auf https umstellen S. https://www.tutorialspoint.com/spring_boot/spring_boot_enabling_https.htm, https in AWS: ???
Technik
[x] Migration nach Java 17
[ ] Update auf Kotlin aktuelle Version
[ ] Update auf Spring Boot 3
[ ] Migration nach Graal