update docs

This commit is contained in:
Tom Irgang 2023-04-20 21:14:38 +02:00
parent 2196ce7b1e
commit a08722e7e9
2 changed files with 58 additions and 22 deletions

View file

@ -20,8 +20,8 @@ Ein Organisator ist Mitglied des Repair-Cafés das die Termine mit den Gästen o
### Gast
- [ ] Als Gast möchte ich einen Termin für eine Reparatur vereinbaren. (A1)
- [ ] Als Gast möchte ich eine Bestätigung für eine Reparaturanfrage bekommen. (A2)
- [x] Als Gast möchte ich einen Termin für eine Reparatur vereinbaren. (A1)
- [x] Als Gast möchte ich eine Bestätigung für eine Reparaturanfrage bekommen. (A2)
- [ ] Als Gast möchte ich eine Terminbenachrichtigung oder eine Absage bekommen. (A3)
- [ ] Als Gast möchte ich mein angemeldetes Gerät und dessen Status einsehen können. (A4)
- [ ] Als Gast möchte ich Rückfragen zum Gerät empfangen und diese beantworten können. (A5)
@ -44,6 +44,7 @@ Ein Organisator ist Mitglied des Repair-Cafés das die Termine mit den Gästen o
### Organisator
- [x] Als Organisator möchte ich benachrichtigt werden wenn ein Gast ein Gerät anmeldet. (A25)
- [ ] Als Organisator möchte ich ein Repair-Café anlegen können. (A15)
- [ ] Als Organisator möchte ich die Geräte einsehen können. (A16)
- [ ] Als Organisator möchte ich eine Rückfrage zu einem Geräte stellen können. (A17)
@ -121,7 +122,8 @@ Attribute:
Technische Attribute:
- Identifier: SHA256 Hash aus Gerät + Gast + Timestamp
- GastId: Referenz zum Gast der das Gerät besitzt
- Geheimnis: SHA256 Hash aus Gerät + Gast + Timestamp + Zufallszahl
- Gast: Referenz zum Gast der das Gerät besitzt
### Termin
@ -135,9 +137,9 @@ Attribute:
Technische Attribute:
- CafeId: Referenz zum Cafe
- ReparateurId: Referenz um Reparateur oder NULL
- GerätId: Referenz zum Gerät
- Cafe: Referenz zum Cafe
- Reparateur: Referenz um Reparateur oder NULL
- Gerät: Referenz zum Gerät
### Frage
@ -151,10 +153,9 @@ Attribute:
Technische Attribute:
- OrganisatorId: Referenz zum Organisator oder NULL
- ReparateurId: Referenz zum Reparateur oder NULL
- GerätId: Referenz zum Gerät
- Beantwortet: Boolesches Flag. True wenn die Einladung vom Gast bestätigt wurde.
- Organisator: Referenz zum Organisator oder NULL
- Reparateur: Referenz zum Reparateur oder NULL
- Gerät: Referenz zum Gerät
### Kandidat
@ -162,19 +163,22 @@ Ein Kandidat ist ein Geräte ohne festen Termin.
Diese Geräte werden von den Gästen zu Beginn des Repair-Café gebracht und am Ende abgeholt.
Falls ein Reparateur Zeit hat kann er eines dieser Geräte reparieren.
- Betätigt: Boolesches Flag. True wenn die Einladung vom Gast bestätigt wurde.
- Bestätigt: Boolesches Flag. True wenn die Einladung vom Gast bestätigt wurde.
Technische Attribute:
- CafeId: Referenz zum Cafe
- ReparateurId: Referenz um Reparateur oder NULL
- GerätId: Referenz zum Gerät
- Cafe: Referenz zum Cafe
- Gerät: Referenz zum Gerät
## Ansichten
### Landing Page: Repair-Cafés (S1)
Diese Seite zeigt eine Liste der zukünfigten Repair-Café Termine.
URL: /
Name: index
Diese Seite zeigt eine Liste der zukünftigen Repair-Café Termine.
Sie enthält pro Repair-Café einen Knopf um ein Gerät für dieses Repair-Café anzumelden.
#### Sicherheit
@ -183,6 +187,10 @@ Die Seite ist ohne Zugangsbeschränkung oder Anmeldung erreichbar.
### Gerät anmelden (S2)
URL: cafe/<int:cafe>/
Name: register_device
Diese Seite zeigt das Formular zum anmelden der Geräte.
Das Formular hat die Felder `eMail-Adresse`, `Gerätebezeichnung`, `Fehlerbeschreibung`, eine Kontrollkästchen `Folgetermin` und einen Knopf `Absenden` zum senden des Formulars.
@ -194,6 +202,10 @@ Die Seite ist ohne Zugangsbeschränkung oder Anmeldung erreichbar.
### Gast anmelden (S3)
URL: cafe/<int:cafe>/device/<str:deviceentifier>/<str:mail>/
Name: register_guest
Diese Seite zeigt das Formular zum anmelden eines neuen Gastes.
Das Formular hat die Felder `Name`, `Telefon`, `Wohnort` und einen Knopf `Absenden` zum senden des Formulars.
@ -205,6 +217,10 @@ Die Seite ist ohne Zugangsbeschränkung oder Anmeldung erreichbar.
### Bestätigung gesendet (S4)
URL: cafe/<int:cafe>/device/<str:deviceentifier>/guest/<str:guestentifier>/
Name: register_device_final
Die Seite Bestätigung gesendet zeigt einen Hinweis dass eine eMail gesendet wurde und die Anmeldung des Gerätes durch einen Klick auf einen Link in der eMail bestätigt werden muss.
Die eMail-Bestätigung wird während des Aufrufs dieser Seite gesendet.
@ -215,10 +231,30 @@ Das Repair-Café, der Gast und das Gerät sind über IDs in der URL der Seite fe
Die Seite ist ohne Zugangsbeschränkung oder Anmeldung erreichbar.
### Anmeldung bestätigt (S7)
URL: confirm/<str:deviceentifier>/code/<str:device_secret>
Name: register_device_confirm
Die Seite Anmeldung bestätigt zeigt einen Hinweis dass die Anmeldung des Gerätes erfolgreich abgeschlossen wurde.
Die eMail-Benachrichtigung and die Organisatoren wird während des Aufrufs dieser Seite gesendet.
Die Geräte ID ist in der URL der Seite festgelegt.
#### Sicherheit
Die Seite ist ohne Zugangsbeschränkung oder Anmeldung erreichbar.
### Geräte Detailseite (S5)
Die Geräte Detailseite hat die Felder `Gerätebezeichnung`, `Fehlerbeschreibung` und eine Kontrollkästchen `Folgetermin` die mit den Angaben des Gastes ausgefüllt sind.
Weiter enthält die Seite einen Knopf `Aktualisieren` der das Formular absendet und die Daten aktualisiert und einen Link zur Detailseite des Gastes.
URL: device/<str:deviceentifier>
Name: view_device
Die Geräte Detailseite zeigt die Informationen `Gerätebezeichnung`, `Fehlerbeschreibung` und `Folgetermin` an.
Das Gerät ist über IDs in der URL der Seite festgelegt.
@ -250,7 +286,7 @@ Als neuer Gast der ein defekten Geräte anmelden möchte,
- Die nächste Seite (S2) enthält ein Formular mit den Feldern `eMail-Adresse`, `Gerätebezeichnung` und `Fehlerbeschreibung` und eine Kontrollkästchen `Folgetermin`. Nachdem ich die Felder ausgefüllt habe klicke auf auf `Absenden`. Dieser Klick bringt mich auf die nächste Seite.
- Die nächste Seite (S3) enthält ein Formular mit den Feldern `Name`, `Telefon` und `Wohnort`. Nachdem ich die Felder ausgefüllt habe klicke auf auf `Absenden`. Dieser Klick bringt mich auf die nächste Seite.
- Die nächste Seite (S4) weißt mich darauf hin dass eine eMail gesendet wurde und ich die Anmeldung über einen Klick in der eMail bestätigen muss.
- In meinem eMail Posteingang finde ich eine Bestätigung der Geräteanmeldung die ebenfalls einen Link zur `Geräte Detailseite` (S5) und einen Link zu meinen persönlichen Daten (S6) enthält.
- In meinem eMail Posteingang finde ich eine Bestätigung der Geräteanmeldung die ebenfalls einen Link enthält um die Anmeldung zu bestätigen. Ein Klick auf diesen Link bringt mich auf die Seite Anmeldung bestätigt (S7).
#### Variante: Bekannter Gast (existierende eMail Adresse)
@ -259,4 +295,4 @@ Als bekannter Gast der ein defekten Geräte anmelden möchte,
- gehe ich auf die Seite (S1) der Repair-Café Termine. Dort klicke ich auf `Gerät anmelden` bei dem richtigen Repair-Café Termin. Dieser Klick bringt mich auf die nächste Seite.
- Die nächste Seite (S2) enthält ein Formular mit den Feldern `eMail-Adresse`, `Gerätebezeichnung` und `Fehlerbeschreibung` und eine Kontrollkästchen `Folgetermin`. Nachdem ich die Felder ausgefüllt habe klicke auf auf `Absenden`. Dieser Klick bringt mich auf die nächste Seite.
- Die nächste Seite (S4) weißt mich darauf hin dass eine eMail gesendet wurde und ich die Anmeldung über einen Klick in der eMail bestätigen muss.
- In meinem eMail Posteingang finde ich eine Bestätigung der Geräteanmeldung die ebenfalls einen Link zur `Geräte Detailseite` (S5) und einen Link zu meinen persönlichen Daten (S6) enthält.
- In meinem eMail Posteingang finde ich eine Bestätigung der Geräteanmeldung die ebenfalls einen Link enthält um die Anmeldung zu bestätigen. Ein Klick auf diesen Link bringt mich auf die Seite Anmeldung bestätigt (S7).

View file

@ -13,14 +13,14 @@ urlpatterns = [
name="register_device"
),
path(
"cafe/<int:cafe>/device/<str:deviceentifier>/<str:mail>",
"cafe/<int:cafe>/device/<str:deviceentifier>/<str:mail>/",
views.RegisterGuestFormView.as_view(),
name="register_guest"
),
path("cafe/<int:cafe>/device/<str:deviceentifier>/guest/<str:guestentifier>",
path("cafe/<int:cafe>/device/<str:deviceentifier>/guest/<str:guestentifier>/",
views.register_device_final, name="register_device_final"),
path("confirm/<str:deviceentifier>/code/<str:device_secret>",
views.register_device_confirm, name="register_device_final"),
views.register_device_confirm, name="register_device_confirm"),
path("device/<str:deviceentifier>",
views.device_view, name="view_device"),
]