03.03.2023
- Feature: Gruppen(isolation).
- Aktuelle Gruppe an Server schicken. (Wiete)
- Endpunkt erweitern zur Gruppenuebergabe (WebXR)
- Userlist/Pointlist -> database
- Isolate groups from each other. (SocketIO rooms)
- Only show logged in users inside a group. Login/Logout flag in database with name of group.
- loggedIn Flag in database (default False)
- set False on server restart
- Endpoint for profile picture
- Feature: Interaktion
- Anstupsen (optional)
- Punkt platzieren (Button in WebXR einfuegen -> Ruft Endpunkt auf und speichert Location) Fuer alle Leute in der Gruppe sichtbar.
- Zeige Nutzer in der selben Gruppe an.
-
Feature: Frontend UX
- Choose profile picture
- User friendly interface.
-
Documentation
- documentation outline
- frontend
- backend
- webXR
- Vision
Bugfixes:
- Remove fixed routes in index.html
- On WebxR- back button: Redirect user to server endpoint so they are logged out.
- Currently loggedIn gorupmembers whoare loggedIn another group are also shown
- Lati/Longi switched when saving/reading point.
- App langsamer seit AppScheduler: Replace print statements with logging, Disable/Replace clientside logging. Disable 'DEBUG' Flag in production.
- Sonderzeichen in Gruppennamen
- Pink marker at spawn? (Scaled down marker)
- Dont repond to non-logged in users. > Backend redirects to login page.
- Bild flakern (probably download/refresh)
- Error on first login: need a full error report from client & serverside Probably session problems. Maybe the random secret key creates problems. https://stackoverflow.com/questions/61922045/mismatchingstateerror-mismatching-state-csrf-warning-state-not-equal-in-reque
- Bild anzeigen (Vielleicht erstmal fix setzen, Das Flakern kommt vielleicht von der downloadzeit)
- User Interface unintuitiv
- Punkte skalierung: Punkte zu gross
- Anzeige erst ab 50m: User ist aber ab 30 aus der liste entfernt.
- Neues Foto
- SocketIO: Create periodic message.
- Bild an markierten PuTODOnkt anghaengen
- Optional: Beschreibung von dem Punkt
- app.py aufraeumen: Flask blueprints for tidy folder structure.
Wie kann man in Zukunft entiwcklungszeit sparen?
- Ausfuehrliche log/print statements essentiell fuer Debugging1
- Einheitliche Schnittstellen definitionen 2
BACKLOG
OPEN
- Clear project structure. (src/, )
- Add project setup docs
- Add angular build via docker-container. (Remove any dependencies from system. Such that only docker is required.)
- Reduce Flask image size. (Currently 1 GB)
- Integrate user sessions. Currently everyone sees everyone. (Privacy problem.)
- Flask SocketIO rooms
- flask.session
- update logged in userlist
- Add logging. (Replace print statements)
- Integrate error handling. (e.g. user already exists/friend already exist. (Extra)
- Secure code against sql injections
- Asynchronous update of locations via periodic tasks.
- Persist database (docker volumes)
- custom pictures
- Tobi: Insert resources/links for webXR development
DONE
- Fix
static
endpoints. (Added automatic rerouting) - Write a local/global deployment script
- Configure deployment via docker-containers to remove OS-dependency. (cloudflared & flaskserver)
- WebXR GPS Koordinaten einlesen [Tobi]
- Authentifizierung + Freundesliste (Backend mit Typescript) [Thomas]
- Authentifizierung + Freundesliste usw. (FrontEnd Mobile first development) [Wiete]
- Erster prototyp eines 3D Markers
- Platzierung des Markers auf den GPS Koordinaten
Footnotes
-
Am besten sofort mit logging bibliotheken arbeiten, anstatt in den stdout zu schreiben, da die programmlaufzeit unter print statements leidet. ↩
-
Kommunikation zwischen unterschiedlichen Komponenten erfordert die Uebergabe einheitlicher Daten. (Hierfuer eignen sich API-Management-Tools). Ansonsten kann ein kleiner typo fuer viel verlorene Entwicklungszeit sorgen. ↩