2020-12-08 Einführung Profiluser, Vervollständigung Teamliste

Am letzten Montag haben wir mit etwas Feinschliff an der Teamliste begonnen. Verena hatte im letzten Sprint bereits mit der Suche in der Teamliste angefangen. Die Tage haben wir die funktionale Implementierung abgeschlossen und einen Massentest durchgeführt.
Die Teams werden angezeigt und können problemlos gefiltert werden. Unser Massentest bestand aus 10.000 Teams, die wir im Backend erzeugt haben. Auch das Auslesen der 10.000 Einträge aus dem Backend aus der App ging unerwartet schnell (wohlwissend, dass der Webserver lokal läuft).
Momentan laden wir noch alle Teams. Später werden wir sicherlich auf ein Paging umstellen, um nicht alle Teams mit einmal laden zu müssen. Das Backend hatten wir auch bereits dafür vorbereitet.

Nachdem wir unsere Teamliste so langsam abgeschlossen hatten, wollten wir uns besonders am Dienstag um die Anzeige der Fragments für User kümmern. Letztendlich ging es vorrangig um das Handling des Profilusers: Auslesen und Anzeigen des Profils zum eingeloggten User.

Auf den ersten Blick müssen User-Informationen aus dem Backend ausgelesen und in der Android App angezeigt werden.
Auf dem zweiten Blick steckt etwas mehr dahinter. Wie kommen die User ins Backend? Außerdem existieren sie doch bereits im Identity Provider.
D.h. wir haben unser Backend weiter aufgebohrt. Es ist nun in der Lage mit dem Identity Provider zu kommunizieren. Auf einer Seite eine unerwünschte Abhängigkeit, aber so konnten wir problemlos alle aktuellen User im Keycloak-System auslesen.
Sobald der Webserver gestartet wird, liest er nun automatisch die User aus dem Keycloak-System und erstellt User-Objekte. Allgemeine Informationen wie Username, Vorname, Nachname und E-Mail Adresse werden ebenfalls ausgelesen und dem Backend-User hinzugefügt.
Sobald nun ein App-Benutzer einen Web-Request zum Backend absetzt, können wir die UUID aus dem übermittelten Token einem User aus dem Backend zuordnen, der aus den Userdaten des Keycloak-Systems erzeugt wurde.
Langfristig müssen wir uns noch Gedanken über eine generelle Synchronisierung machen. Derzeit haben wir Test-User, die wir „immer“ verwenden. Was aber, wenn sich ein neuer User registriert? In diesem Fall soll ebenfalls ein User im Backend erzeugt werden. Sicherlich gibt es in diesem Umfeld noch viele andere Testfälle, die wir umsetzen müssen.

Kurzerhand haben wir noch die Anzeige des Userprofiles komplett implementiert. D.h. ein Benutzer loggt sich ein, er hat nun die Möglichkeit sein Profil mit den Daten aus dem Backend, die aus Keycloak ausgelesen wurden anzuzeigen und der Benutzer kann sich ausloggen.
Wir sind mega stolz, was wir diese Woche geschafft haben.

Hier ein Bild zur Anzeige des User Profiles.

Schreibe einen Kommentar