This repository has been archived on 2026-03-30. You can view files and clone it, but cannot push or open issues or pull requests.
RepApp/docs/index.md

229 lines
8.9 KiB
Markdown
Raw Normal View History

# Projekt RepApp
RepApp ist eine Web App um Reparaturen im Rahmen eines Repair-Cafés zu organisieren.
## Benutzer
### Gast
Ein Gast ist ein Gerätebesitzer der ein oder mehrere Geräte zur Reparatur anmelden möchte.
### Reparateur
Ein Reparateur ist ein Mitglied des Repair-Cafés das die Gäste bei der Reparatur ihrer Geräte unterstützt.
### Organisator
2023-04-17 07:59:56 +00:00
Ein Organisator ist Mitglied des Repair-Cafés das die Termine mit den Gästen organisiert und die Reparateure zu den Geräten zuordnet.
2023-04-17 07:59:56 +00:00
## Anwendungsfälle
### Gast
- [ ] (A1) Als Gast möchte ich einen Termin für eine Reparatur vereinbaren.
- [ ] (A2) Als Gast möchte ich eine Bestätigung für eine Reparaturanfrage bekommen.
- [ ] (A3) Als Gast möchte ich eine Terminbenachrichtigung oder eine Absage bekommen.
- [ ] (A4) Als Gast möchte ich mein angemeldetes Gerät und dessen Status einsehen können.
- [ ] (A5) Als Gast möchte ich Rückfragen zum Gerät empfangen und diese beantworten können.
- [ ] (A6) Als Gast möchte ich ein Gerät für eine Folgereparatur anmelden können
### Reparateur
- [ ] (A7) Als Reparateur möchte ich die angemeldeten Geräte ansehen können.
- [ ] (A8) Als Reparateur möchte ich mir ein angemeldetes Gerät zuordnen können.
- [ ] (A9) Als Reparateur möchte ich ein angemeldetes Gerät ablehnen können.
- [ ] (A10) Als Reparateur möchte ich Rückfragen zum Gerät stellen können.
- [ ] (A11) Als Reparateur möchte ich eine Benachrichtigung bekommen wenn eine Rückfrage beantwortet wird.
- [ ] (A12) Als Reparateur möchte ich eine Benachrichtigung bekommen wenn mir ein Gerät zugeordnet wird.
- [ ] (A13) Als Reparateur möchte ich mich für ein Repair-Café anmelden können.
- [ ] (A14) Als Reparateur möchte ich mich für ein Repair-Café abmelden können.
### Organisator
- [ ] (A15) Als Organisator möchte ich ein Repair-Café anlegen können.
- [ ] (A16) Als Organisator möchte ich die Geräte einsehen können.
- [ ] (A17) Als Organisator möchte ich eine Rückfrage zu einem Geräte stellen können.
- [ ] (A18) Als Organisator möchte ich ein Geräte ablehnen können.
- [ ] (A19) Als Organisator möchte ich ein Geräte zu einem Termin zuordnen können.
- [ ] (A20) Als Organisator möchte ich einen Reparateur zu einem Termin zuordnen können.
## Daten
### Cafe
Ein Cafe ist ein Repair-Café Termin.
Attribute:
2023-04-16 17:55:54 +00:00
- Datum: Datum der Veranstaltung
- Ort: Beschreibung wo das Repair-Café stattfindet
Annahmen:
2023-04-16 17:55:54 +00:00
- Ein Repair-Café beginnt um 13:00 Uhr.
2023-04-17 07:59:56 +00:00
- Ein Repair-Café hat drei aufeinanderfolgende Zeitslots pro Reparateur mit je einer Stunde
### Reparateur
Ein Reparateur ist ein Mitglied des Repair-Cafés das Gäste bei der Reparatur ihrer Geräte unterstützt.
Attribute:
2023-04-16 17:55:54 +00:00
- Name: Name des Reparateurs
- Mail: eMail-Adresse für Benachrichtigungen
Annahmen:
2023-04-16 17:55:54 +00:00
2023-04-17 07:59:56 +00:00
- Reparateure sind immer verfügbar, d.h. Zeitslots für jeden Reparateur werden zu einem neuen Repair-Café Termin automatisch hinzugefügt.
- Reparateure können alles reparieren. Geräte Kategorien, Skills, ... werden im Moment nicht berücksichtigt.
### Organisator
Ein Organisator ist ein Mitglied des Repair-Cafés das Reparaturtermine mit den Gästen vereinbart.
Attribute:
2023-04-16 17:55:54 +00:00
- Name: Name des Organisators
- Mail: eMail-Adresse für Benachrichtigungen
2023-04-16 19:51:16 +00:00
### Gast
2023-04-16 19:51:16 +00:00
Ein Gast ist ein Gerätebesitzer, der ein Gerät zur Reparatur anmeldet.
Attribute:
2023-04-16 17:55:54 +00:00
- Name: Name des Gastes
- Telefon: Festnetz oder Mobilnummer des Gastes
- Wohnort: Wohnort des Gastes
- Mail: eMail-Adresse des Gastes für Benachrichtigungen
2023-04-16 19:51:16 +00:00
Technische Attribute:
- Identifier: SHA256 Hash aus Name + Wohnort + Timestamp
### Gerät
Ein Gerät ist ein defekter Gegenstand der im Rahmen eines Repair-Cafés repariert werden soll.
Attribute:
- Gerät: Bezeichnung des Geräts
- Fehler: Beschreibung des Defekts
- Folgetermin: Boolesches Flag das anzeigt ob es sich um einen Folgetermin handelt.
Technische Attribute:
2023-04-16 17:55:54 +00:00
- Identifier: SHA256 Hash aus Gerät + Gast + Timestamp
2023-04-16 19:51:16 +00:00
- GastId: Referenz zum Gast der das Gerät besitzt
Annahmen:
2023-04-16 17:55:54 +00:00
2023-04-17 07:59:56 +00:00
- Für einen Folgetermin werden alle Daten neu eingegeben. Eine Folgereparatur auf Basis der ersten Anmeldung kann später umgesetzt werden.
### Termin
2023-04-17 07:59:56 +00:00
Ein Termin ist eine Zuordnung von einem Gerät zu einem Zeitslot der Repair-Café Veranstaltung und einem Reparateur.
Ein Termin ist bestätigt, wenn eine Organisator eine Termineinladung gesendet hat und er Gast diese bestätigt hat.
Attribute:
2023-04-16 17:55:54 +00:00
- Uhrzeit: Uhrzeit des Termins
- Betätigt: Boolesches Flag. True wenn eine Einladung gesendet und bestätigt wurde.
Technische Attribute:
2023-04-16 17:55:54 +00:00
- CafeId: Referenz zum Cafe
- ReparateurId: Referenz um Reparateur oder NULL
- GerätId: Referenz zum Gerät
2023-04-16 17:55:54 +00:00
### Frage
2023-04-17 07:59:56 +00:00
Eine Frage ist eine Rückfrage nach mehr Informationen zu einem Gerät, erstellt von einem Organisator oder einem Reparateur.
Attribute:
2023-04-16 17:55:54 +00:00
- Frage: Frage zum Gerät oder Defekt
- Antwort: Antwort des Gastes
- Datum: Datum der Erstellung der Rückfrage
Technische Attribute:
2023-04-16 17:55:54 +00:00
- OrganisatorId: Referenz zum Organisator oder NULL
- ReparateurId: Referenz zum Reparateur oder NULL
- GerätId: Referenz zum Gerät
2023-04-17 07:59:56 +00:00
### Kandidat
2023-04-16 19:31:32 +00:00
2023-04-17 07:59:56 +00:00
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.
2023-04-16 19:31:32 +00:00
- Betätigt: Boolesches Flag. True wenn eine Einladung gesendet und bestätigt wurde.
Technische Attribute:
- CafeId: Referenz zum Cafe
- ReparateurId: Referenz um Reparateur oder NULL
- GerätId: Referenz zum Gerät
## Ansichten
### (S1) Landing Page: Repair-Cafés
2023-04-16 10:07:38 +00:00
Liste der Repair-Café Termine
### (S2) Gerät anmelden
2023-04-16 10:07:38 +00:00
Das Formular zum anmelden der Geräte hat die Felder `eMail-Adresse`, `Gerätebezeichnung`, `Fehlerbeschreibung`, eine Kontrollkästchen `Folgetermin` und einen Knopf `Absenden` zum senden des Formulars.
2023-04-16 10:07:38 +00:00
### (S3) Gast anmelden
2023-04-16 10:07:38 +00:00
Das Formular zum anmelden eines neuen Gastes hat die Felder `Name`, `Telefon`, `Wohnort` und einen Knopf `Absenden` zum senden des Formulars.
2023-04-16 10:07:38 +00:00
### (S4) Anmeldebestätigung
2023-04-16 10:07:38 +00:00
Die Anmeldebestätigung zeigt die Geräte und Gast Daten erneut an, zusammen mit der Information dass das Gerät angelegt.
Weiter enthält die Ansicht einen Link zur Geräte Detailseite und einen Link zur Gast Detailseite.
### (S5) Geräte Detailseite
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.
### (S6) Gast Detailseite
Die Gast Detailseite hat die Felder `Name`, `eMail`, `Telefon` und `Wohnort` die mit den Angaben des Gastes ausgefüllt sind.
Weiter enthält die Seite einen Knopf `Aktualisieren` der das Formular absendet.
Die Ansicht enthält auch eine Liste mit Links zu allen Geräten die der Gast angemeldet hat.
2023-04-16 10:07:38 +00:00
## Abläufe
2023-04-16 10:07:38 +00:00
### Anmeldung eines defekten Gerätes
#### Variante: Neuer Gast
Als neuer 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.
- Der Link bringt mich auf eine neue Seite (S2) mit einem Formular.
- Das Formular hat die Felder `eMail-Adresse`, `Gerätebezeichnung` und `Fehlerbeschreibung` und eine Kontrollkästchen `Folgetermin`.
- Nachdem ich die Felder ausgefüllt habe klicke auf auf `Absenden`.
- Der Klick auf Absenden bringt mich zu einer neuen Seite (S3) mit einem Formular.
- Das Formular hat die Felder `Name`, `Telefon` und `Wohnort`.
- Nachdem ich die Felder ausgefüllt habe klicke auf auf `Absenden`.
- Der Link bringt mich auf eine neue Seite (S4) die bestätigt dass mein Gerät angemeldet wurde, die Geräte Daten und meine Daten zur Bestätigung anzeigt und einen Link zu einer `Geräte Detailseite` (S4) und einen Link zu einer `Gast Detailseite` (S6) hat.
- In meinem eMail Posteingang finde ich eine Bestätigung der Geräteanmeldung die ebenfalls den Link zur `Geräte Detailseite` und den Link zur `Gast Detailseite` enthält.
#### Variante: Existierender Gast
Als neuer Gast der ein defekten Geräte anmelden möchte,
2023-04-16 18:53:54 +00:00
- gehe ich auf die Seite (S1) der Repair-Café Termine.
2023-04-16 10:07:38 +00:00
- dort klicke ich auf `Gerät anmelden` bei dem richtigen Repair-Café Termin.
- Der Link bringt mich auf eine neue Seite (S2) mit einem Formular.
- Das Formular hat die Felder `eMail-Adresse`, `Gerätebezeichnung` und `Fehlerbeschreibung` und eine Kontrollkästchen `Folgetermin`.
2023-04-16 10:07:38 +00:00
- Nachdem ich die Felder ausgefüllt habe klicke auf auf `Absenden`.
- Der Link bringt mich auf eine neue Seite (S4) die bestätigt dass mein Gerät angemeldet wurde, die Geräte Daten und meine Daten zur Bestätigung anzeigt und einen Link zu einer `Geräte Detailseite` (S4) und einen Link zu einer `Gast Detailseite` (S6) hat.
- In meinem eMail Posteingang finde ich eine Bestätigung der Geräteanmeldung die ebenfalls den Link zur `Geräte Detailseite` und den Link zur `Gast Detailseite` enthält.