diff --git a/docs/dev/index.md b/docs/dev/index.md index f935ca3..31013b3 100644 --- a/docs/dev/index.md +++ b/docs/dev/index.md @@ -1,3 +1,7 @@ # Repapp - developer documentation -![Test image](uml/test.png){ align=left } \ No newline at end of file +The Repapp is a repair assignment booking and management tool. +It tries to support all common workflows happening while organizing a repair café event. +It's build using the Django web framework. + + diff --git a/docs/dev/objects.md b/docs/dev/objects.md new file mode 100644 index 0000000..8f80db3 --- /dev/null +++ b/docs/dev/objects.md @@ -0,0 +1,42 @@ +# Objects + +A *device* is an object owned by a *guest* which has some issue. To get support for fixing the issue, a *guest* provides the information about the *device* and requests a repair *appointment* during a *repair_cafe*. + +In case of ambiguities, a *organizer* or a *repairer* can raise a *consultation* request. This *consultation* request is sent to the *guest* to get the needed information. In addition, a *organizer* or a *repairer* can add an *comment* to a *device*. + +A *repair_cafe* happens at a specific date and location. It's an event which consists of *appointments* of *repairer* with *guests* to fix a *device*. + +To organize a *repair_cafe*, a *organizer* needs to know which *repairer* will attend a *repair_cafe*, to schedule repair *appointments*. + +![Objects](uml/objects_other.png) + +![Appointment](uml/objects_appointment.png) + +![Comment](uml/objects_comment.png) + +![Consultation](uml/objects_consultation.png) + +## Repair_Cafe + +A *repair_cafe* is a event happening at a specific date at a specific location. During a *repair_cafe* *appointments* of *guests* with *repairers* happens to fix broken *devices*. + +Field | Type | Description +------------------------------------------------------------- +location | Char (200) | location of the event +address | Char (200) | address where the event happens +event_date | Date | date when the event happens +repairer | many to many | will attend the event + +## Device + +## Appointment + +## Guest + +## Repairer + +## Organizer + +## Consultation + +## Comment \ No newline at end of file diff --git a/docs/dev/stories.md b/docs/dev/stories.md new file mode 100644 index 0000000..e69de29 diff --git a/docs/dev/uml/objects_appointment.png b/docs/dev/uml/objects_appointment.png new file mode 100644 index 0000000..0ff809d Binary files /dev/null and b/docs/dev/uml/objects_appointment.png differ diff --git a/docs/dev/uml/objects_appointment.puml b/docs/dev/uml/objects_appointment.puml new file mode 100644 index 0000000..0db3859 --- /dev/null +++ b/docs/dev/uml/objects_appointment.puml @@ -0,0 +1,14 @@ +@startuml + +object Guest +object Repairer +object Organizer +object Device +object Appointment + +Appointment -- Organizer +Appointment o-- Device +Appointment o-- Repairer +Appointment o-- Guest + +@enduml \ No newline at end of file diff --git a/docs/dev/uml/objects_comment.png b/docs/dev/uml/objects_comment.png new file mode 100644 index 0000000..6d6b166 Binary files /dev/null and b/docs/dev/uml/objects_comment.png differ diff --git a/docs/dev/uml/objects_comment.puml b/docs/dev/uml/objects_comment.puml new file mode 100644 index 0000000..42b7b7d --- /dev/null +++ b/docs/dev/uml/objects_comment.puml @@ -0,0 +1,13 @@ +@startuml + +object Repairer +object Organizer +object Device +object Comment + +Comment *-- Organizer +Comment *-- Repairer +Comment *-- Device +Comment -- Comment + +@enduml \ No newline at end of file diff --git a/docs/dev/uml/objects_consultation.png b/docs/dev/uml/objects_consultation.png new file mode 100644 index 0000000..002d444 Binary files /dev/null and b/docs/dev/uml/objects_consultation.png differ diff --git a/docs/dev/uml/objects_consultation.puml b/docs/dev/uml/objects_consultation.puml new file mode 100644 index 0000000..95b4b3d --- /dev/null +++ b/docs/dev/uml/objects_consultation.puml @@ -0,0 +1,16 @@ +@startuml + +object Guest +object Repairer +object Organizer +object Device +object Comment +object Consultation + +Consultation *-- Organizer +Consultation *-- Repairer +Consultation *-- Device +Consultation *-- Guest +Consultation -- Comment + +@enduml \ No newline at end of file diff --git a/docs/dev/uml/objects_other.png b/docs/dev/uml/objects_other.png new file mode 100644 index 0000000..34f59f1 Binary files /dev/null and b/docs/dev/uml/objects_other.png differ diff --git a/docs/dev/uml/objects_other.puml b/docs/dev/uml/objects_other.puml new file mode 100644 index 0000000..2688d34 --- /dev/null +++ b/docs/dev/uml/objects_other.puml @@ -0,0 +1,19 @@ +@startuml + +object Guest +object Organizer +object Repairer +object Device +object Appointment +object Repair_Cafe + +Repair_Cafe *-- "happens during" Appointment +Repair_Cafe -- "organizes" Organizer +Repair_Cafe -- "attends" Repairer +Repair_Cafe -- "visits" Guest +Repair_Cafe -- "is fixed" Device + +Guest -- Organizer +Guest o-- Device + +@enduml \ No newline at end of file diff --git a/docs/dev/uml/test.png b/docs/dev/uml/test.png deleted file mode 100644 index 50383a7..0000000 Binary files a/docs/dev/uml/test.png and /dev/null differ diff --git a/docs/dev/uml/test.puml b/docs/dev/uml/test.puml deleted file mode 100644 index 27ee0bf..0000000 --- a/docs/dev/uml/test.puml +++ /dev/null @@ -1,14 +0,0 @@ -@startuml - -start - -if (Graphviz installed?) then (yes) - :process all\ndiagrams; -else (no) - :process only - __sequence__ and __activity__ diagrams; -endif - -stop - -@enduml \ No newline at end of file diff --git a/docs/dev/uml/users.png b/docs/dev/uml/users.png new file mode 100644 index 0000000..6dc9cf2 Binary files /dev/null and b/docs/dev/uml/users.png differ diff --git a/docs/dev/uml/users.puml b/docs/dev/uml/users.puml new file mode 100644 index 0000000..7fc9a09 --- /dev/null +++ b/docs/dev/uml/users.puml @@ -0,0 +1,14 @@ +@startuml + +object User +object Guest +object Member +object Organizer +object Repairer + +User <|-- Guest +User <|-- Member +Member <|-- Organizer +Member <|-- Repairer + +@enduml \ No newline at end of file diff --git a/docs/dev/users.md b/docs/dev/users.md new file mode 100644 index 0000000..e76cade --- /dev/null +++ b/docs/dev/users.md @@ -0,0 +1,9 @@ +# Users + +Repapp distinguishes two user categories. + +A *guest* is a owner of an device. The *guest* is booking a repair appointment to get support from a repair café member to fix his device. + +A *member* can be an *organizer* or a *repairer*. A *organizer* is taking care of arranging the repair assignments, and needs to access the private contact data of a guest to do this job. A *repairer* is supporting the *guest* in fixing his device. The *repairer* only needs the details of the device in advance, but not the private contact data of the guest. + +![Users](uml/users.png) \ No newline at end of file diff --git a/mkdocs.yml b/mkdocs.yml index 9a81e06..2a4f373 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -9,6 +9,9 @@ nav: - Daten-Modell: 'models.md' - 'Developer documentation': - Overview: 'dev/index.md' + - Users: 'dev/users.md' + - Objects: 'dev/objects.md' + - Stories: 'dev/stories.md' - 'Repair-Café & Makespace': - Repair-Café: https://www.repaircafe-hilpoltstein.de - Makespace: https://makes-hacks-hip.de