diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 0000000..84e1985 --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,5 @@ +{ + "cSpell.words": [ + "Reparateur" + ] +} \ No newline at end of file diff --git a/RepApp.code-workspace b/RepApp.code-workspace new file mode 100644 index 0000000..f03a73e --- /dev/null +++ b/RepApp.code-workspace @@ -0,0 +1,14 @@ +{ + "folders": [ + { + "path": "." + } + ], + "settings": { + "cSpell.words": [ + "Reparateur", + "Reparateure", + "Reparateurs" + ] + } +} \ No newline at end of file diff --git a/arch/.$RepAppDaten.bkp b/arch/.$RepAppDaten.bkp new file mode 100644 index 0000000..462cf38 --- /dev/null +++ b/arch/.$RepAppDaten.bkp @@ -0,0 +1 @@ +7Zzbcto6FIafhstmsGUOuQwmSbtL0u6SlLR3Kha2dmSLyiIcnr4SyBhHDDiJXZHZmmEGtCwba32S1q8lQwP48eKawWl0QwNEGm4zWDRAv+G6DvC64k1alhtLt6MMIcOBqpQbhniFlLGprDMcoLRQkVNKOJ4WjWOaJGjMCzbIGJ0Xq00oKX7rFIZIMwzHkOjWEQ54pFrhdnL7R4TDKPtmp32+ORLDrLJqSRrBgM53TOCyAXxGKd98ihc+ItJ5mV9Gn5YjMnhsX//zb/ob3vc+391+/7C52NVLTtk2gaGEv/rSn+fzqffFxYvhz0XQSm7juDP64KrGpnyZOQwFwn+qSBmPaEgTSC5za4/RWRIgedmmKOV1BpROhdERxv8Q50vVGeCMU2GKeEzUUdEMtnzYLfyQFztrZcX+Ql18U1qqUkk/KH+ldMbG6EDjFVcOWYj4gXpOa1NRemanUyk3XyMaI3GXogJDBHL8VOx5UHXgcFsvhyQ+KE4vYOa5ltlRZuC0mKnbfoJkpr7pGxI+gRzNmEYzneOYwERim9CEZ2ClN8cRJsEALulMNj7lcPyYlXoRZXgl6sMMmTjMuAIKmoUaQ3mmuiZDqajzNSPkPDPdwEWh4gCmPLsbSgicpvjX+v7kibHggpMe5ZzGr+oAT4hxtDhITB1tN5VTVWDysvI8n+YdT9mi3Sk+m9Arp+xolG9hjDS+ooF8jYfRR+RTQpmwJ3QDHBPyzAQJDhNRJGgiT5MewiK+XShzjINgPcTTKRzjJBysq/W93PJNtV2aqDh9QtZhLBInInGF3pTihK990eqJl/COL8d1S9yrL8pOXhYvWZ1xnybi9iFeI0WiR8yR7BVimuGQw1/b/qrDPzg8jsNXsEFJ1qAu1K6G+gZiYlFXj7ptGjXQUH8KLOjqQZ8bB901Kqy22smIsPLep7DytMH5hYUwwSnk1Cqr1ymrblFYuc2WaWHVssLqdZOwV5r9qQirthVWfwm1cWHVscLqr4A2LqxcI8KqYoHULSmQHPekBFJXG2Q+nOih0yqjMsrI84rS6ARyTuca3z7ks9jOo0fn0W5p+qeijbI9tcJqh1vU1aM2ro0cPZdsxVEdpI2Lo0wv7JC+QyzGiY3RlcTodtkYvX1k4U2IwX168XvidlajQf9h+HA5nMd7dv/sWN6DtMTw3gyWE47Q+maBlNsWd2m27ytK6+nnfF/fQq8FuvmArWejrxFr+KBx4XELvRbo2/WzuRyWnpi+j9gKYbv+qgV4yzhwPT3dk07YjHMcWu61cO+a5g4cDez/5ykAR81y7+6ZWMPQzlrNzi4456wJwBF069JXxLBwAWKGeXrgpHg6erTNNZaG2iZGDiJTR58/11F686KaxMhezHtjLOYrwdpG16PRtV26C5xMfkTfjrSPd9QE23x2RN+bPDCJW+RvR248N+LqCbErFBE7ndeC+wSyInq++4qSUArafTtYFnoF0M1nRvQEqE171sPaeDbEdS3Y6pdiHfBsKWZ8IgdZpm5nJ0sqtZ4/fpww+Rt7u+iuYtHtlFXl9S26gR6z7f7Viyby7WB5PwtvcPCHUpZ6LdSNr8CBrtTs8wk1Qze+Bgd67vxqbwS3tN9O2/wSHOg59IuEz6l9MLwe4MaX356u3+xPPmrDXeMKXBTzfw9bH9v5DzZw+Qc= \ No newline at end of file diff --git a/arch/RepAppDaten b/arch/RepAppDaten new file mode 100644 index 0000000..dff261a --- /dev/null +++ b/arch/RepAppDaten @@ -0,0 +1 @@ +7Zzbcto6FIafhstmsGUOuQwmSbtL0u6SlLR3Kha2dmSLyiIcnr4SyBhHDDiJXZHZmmEGtCwba32S1q8lQwP48eKawWl0QwNEGm4zWDRAv+G6DvC64k1alhtLt6MMIcOBqpQbhniFlLGprDMcoLRQkVNKOJ4WjWOaJGjMCzbIGJ0Xq00oKX7rFIZIMwzHkOjWEQ54pFrhdnL7R4TDKPtmp32+ORLDrLJqSRrBgM53TOCyAXxGKd98ihc+ItJ5mV9Gn5YjMnhsX//zb/ob3vc+391+/7C52NVLTtk2gaGEv/rSn+fzqffFxYvhz0XQSm7juDP64KrGpnyZOQwFwn+qSBmPaEgTSC5za4/RWRIgedmmKOV1BpROhdERxv8Q50vVGeCMU2GKeEzUUdEMtnzYLfyQFztrZcX+Ql18U1qqUkk/KH+ldMbG6EDjFVcOWYj4gXpOa1NRemanUyk3XyMaI3GXogJDBHL8VOx5UHXgcFsvhyQ+KE4vYOa5ltlRZuC0mKnbfoJkpr7pGxI+gRzNmEYzneOYwERim9CEZ2ClN8cRJsEALulMNj7lcPyYlXoRZXgl6sMMmTjMuAIKmoUaQ3mmuiZDqajzNSPkPDPdwEWh4gCmPLsbSgicpvjX+v7kibHggpMe5ZzGr+oAT4hxtDhITB1tN5VTVWDysvI8n+YdT9mi3Sk+m9Arp+xolG9hjDS+ooF8jYfRR+RTQpmwJ3QDHBPyzAQJDhNRJGgiT5MewiK+XShzjINgPcTTKRzjJBysq/W93PJNtV2aqDh9QtZhLBInInGF3pTihK990eqJl/COL8d1S9yrL8pOXhYvWZ1xnybi9iFeI0WiR8yR7BVimuGQw1/b/qrDPzg8jsNXsEFJ1qAu1K6G+gZiYlFXj7ptGjXQUH8KLOjqQZ8bB901Kqy22smIsPLep7DytMH5hYUwwSnk1Cqr1ymrblFYuc2WaWHVssLqdZOwV5r9qQirthVWfwm1cWHVscLqr4A2LqxcI8KqYoHULSmQHPekBFJXG2Q+nOih0yqjMsrI84rS6ARyTuca3z7ks9jOo0fn0W5p+qeijbI9tcJqh1vU1aM2ro0cPZdsxVEdpI2Lo0wv7JC+QyzGiY3RlcTodtkYvX1k4U2IwX168XvidlajQf9h+HA5nMd7dv/sWN6DtMTw3gyWE47Q+maBlNsWd2m27ytK6+nnfF/fQq8FuvmArWejrxFr+KBx4XELvRbo2/WzuRyWnpi+j9gKYbv+qgV4yzhwPT3dk07YjHMcWu61cO+a5g4cDez/5ykAR81y7+6ZWMPQzlrNzi4456wJwBF069JXxLBwAWKGeXrgpHg6erTNNZaG2iZGDiJTR58/11F686KaxMhezHtjLOYrwdpG16PRtV26C5xMfkTfjrSPd9QE23x2RN+bPDCJW+RvR248N+LqCbErFBE7ndeC+wSyInq++4qSUArafTtYFnoF0M1nRvQEqE171sPaeDbEdS3Y6pdiHfBsKWZ8IgdZpm5nJ0sqtZ4/fpww+Rt7u+iuYtHtlFXl9S26gR6z7f7Viyby7WB5PwtvcPCHUpZ6LdSNr8CBrtTs8wk1Qze+Bgd67vxqbwS3tN9O2/wSHOg59IuEz6l9MLwe4MaX356u3+xPPmrDXeMKXBTzfw9bH9v5DzZw+Qc= \ No newline at end of file diff --git a/docs/RepAppDaten.drawio.svg b/docs/RepAppDaten.drawio.svg new file mode 100644 index 0000000..0d7d2b0 --- /dev/null +++ b/docs/RepAppDaten.drawio.svg @@ -0,0 +1,4 @@ + + + +ReparateurNameMailIdOrganisatorNameMailIdCafeDatumOrtIdTerminIdCafeIdReparateurIdGerätIdUhrzeitBestätigtGerätBesitzerMailGerätFehlerFolgeterminIdRückfrageGerätIdOrganisatorIdReparateurIdFrageAntwortDatum \ No newline at end of file diff --git a/docs/index.md b/docs/index.md new file mode 100644 index 0000000..716ac3b --- /dev/null +++ b/docs/index.md @@ -0,0 +1,145 @@ +# 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 der die Gerätebesitzer bei der Reparatur ihrer Geräte unterstützt. + +### Organisator + +Ein Organisator ist Mitglied des Repair-Cafés der die Termine mit den Gästen organisiert und die Reparateure zu den Geräten zuordnet. + +## Use-Cases + +### Gast + +- Als Gast möchte ich einen Termin für eine Reparatur vereinbaren. Dafür Stelle ich Informationen zum Gerät und eine Fehlerbeschreibung zur Verfügung. +- Als Gast möchte ich eine Bestätigung für eine Reparaturanfrage bekommen. +- Als Gast möchte ich eine Terminbenachrichtigung oder eine Absage bekommen. +- Als Gast möchte ich mein angemeldetes Gerät und dessen Status einsehen können. +- Als Gast möchte ich Rückfragen zum Gerät empfangen und diese beantworten können. +- Als Gast möchte ich ein Gerät für eine Folgereparatur anmelden können + +### Reparateur + +- Als Reparateur möchte ich die angemeldeten Geräte ansehen können. +- Als Reparateur möchte ich mir ein angemeldetes Gerät zuordnen können. +- Als Reparateur möchte ich ein angemeldetes Gerät ablehnen können. +- Als Reparateur möchte ich Rückfragen zum Gerät stellen können. +- Als Reparateur möchte ich eine Benachrichtigung bekommen wenn eine Rückfrage beantwortet wird. +- Als Reparateur möchte ich eine Benachrichtigung bekommen wenn mir ein Gerät zugeordnet wird. +- Als Reparateur möchte ich mich für ein Repair-Café anmelden können. +- Als Reparateur möchte ich mich für ein Repair-Café abmelden können. + +### Organisator + +- Als Organisator möchte ich ein Café anmelden können. +- Als Organisator möchte ich die Terminanfragen einsehen können. +- Als Organisator möchte ich eine Rückfrage zu einer Terminanfrage stellen können. +- Als Organisator möchte ich eine Terminanfrage ablehnen können. +- Als Organisator möchte ich eine Terminanfrage zu einem Termin zuordnen können. +- Als Organisator möchte ich einen Terminanfrage zu einem Reparateur zuordnen können. + +## Daten + +![Datenmodell](RepAppDaten.drawio.svg "Datenmodell") + +### Cafe + +Ein Cafe ist ein Repair-Café Termin. + +Attribute: +- Datum: Datum der Veranstaltung +- Ort: Beschreibung wo das Repair-Café stattfindet + +Technische Attribute: +- Id: Aufsteigende Nummer des Repair-Café + +Annahmen: +- Ein Repair-Café beginnt um 13:00 Uhr. +- Ein Repair-Café hat drei aufeinanderfolgende Slots 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: +- Name: Name des Reparateurs +- Mail: eMail-Adresse für Benachrichtigungen + +Technische Attribute: +- Id: Aufsteigende Nummer des Reparateurs + +Annahmen: +- Reparatuere sind immmer verfügbar, d.h. jeder Reparatuer wird zu einem neuen Repair-Café Termin automatisch hinzugefügt. +- Reparatuere können alles reparieren. Greäte Kategorien, Skills, ... können später hinzugefügt werden. + +### Organisator + +Ein Organisator ist ein Mitglied des Repair-Cafés das Reparaturtermine mit den Gästen vereinbart. + +Attribute: +- Name: Name des Organisators +- Mail: eMail-Adresse für Benachrichtigungen + +Technische Attribute: +- Id: Aufsteigende Nummer des Organisators + +### Gerät + +Ein Gerät ist ein defekter Gegenstand der im Rahmen eines Repair-Cafés repariert werden soll. + +Attribute: +- Besitzer: Name des Besitzers +- Mail: eMail-Adresse des Besitzers für Benachrichtigungen +- Gerät: Bezeichnung des Geräts +- Fehler: Beschreibung des Defekts +- Folgetermin: Boolesches Flag das anzeigt ob es sich um einen Folgetermin handelt. + +Technische Attribute: +- Id: SHA256 Hash aus Gerät + Besitzer + Timestamp + +Annahmen: +- Es gibt nur eine Geräteanmeldung pro Besitzer. Mehrere Geräte pro Besitzer kann später hinzugefügt werden. +- Für einen Folgetermin werden alle Daten neu eingegeben. Eine Folgereparatur auf Basis der ersten Anmeldung kann später hinzugefügt werden. + +### Termin + +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: +- Uhrzeit: Uhrzeit des Termins +- Betätigt: Boolesches Flag. True wenn eine Einladung gesendet und bestätigt wurde. + +Technische Attribute: +- Id: Aufsteigende Nummer des Termins +- CafeId: Referenz zum Cafe +- ReparateurId: Referenz um Reparateur oder NULL +- GerätId: Referenz zum Gerät + +### Rückfrage + +Eine Rückfrage ist eine Zuordnung von einem Gerät zu einem Organisator oder einem Reparateur. + +Attribute: +- Frage: Frage zum Gerät oder Defekt +- Antwort: Antwort des Gastes +- Datum: Datum der Erstellung der Rückfrage + +Technische Attribute: +- OrganisatorId: Referenz zum Organisator oder NULL +- ReparateurId: Referenz zum Reparateur oder NULL +- GerätId: Referenz zum Gerät + +## Abläufe + +## Ansichten + + diff --git a/mkdocs.yml b/mkdocs.yml new file mode 100644 index 0000000..683e0f3 --- /dev/null +++ b/mkdocs.yml @@ -0,0 +1,10 @@ +site_name: RepApp - Makespace Repair-Café Hilpoltstein +site_url: https://makes-hacks-hip.github.io/RepApp/ +nav: + - 'Repair-Café & Makespace': + - Repair-Café: https://www.repaircafe-hilpoltstein.de + - Makespace: https://makes-hacks-hip.de + - Makerspace@Github: https://makes-hacks-hip.github.io +theme: readthedocs +repo_url: https://github.com/makes-hacks-hip/RepApp/ +edit_uri: edit/main/docs/