Added: Usecases

This commit is contained in:
TheJoKlLa 2024-05-16 16:42:22 +02:00
parent 278f57c5f8
commit eab96356d8
8 changed files with 61 additions and 2 deletions

View File

@ -0,0 +1,5 @@
# Abhängigkeiten
FabAccess unterstützt die Verwaltung von Ressourcenabhängigkeiten. Dabei werden automatisch Claims auf Ressourcen an die Nutzer vergeben, die eine Ressource beanspruchen, die von einer anderen abhängt.
Die abhängige Ressource kann zusammen mit der anderen Ressource zurückgegeben werden. Auch die Zustände der Traits werden bei abhängigen Ressourcen berücksichtigt. Auf diese Weise kann verhindert werden, dass Ressourcen wie Absaugungen oder Kühlungen ausgeschaltet werden, wenn die Ressource, die diese benötigt, noch aktiv ist.

View File

@ -0,0 +1,8 @@
# Fehlende Traits
Eine Liste an Traits, die noch nicht spezifiziert sind.
## Powerable mit Cooldown und Startup
Einige Resourcen sind nicht sofort verfügbar, wenn sie mit Strom versorgt werden. Auch gibt es Resourcen, welche nach dem Ausschalten noch nachlaufen müssen.
Beispiel: Absaugungen und Kühlungen

37
docs/example/usecases.md Normal file
View File

@ -0,0 +1,37 @@
# Usecases/Userstories
Mit diesen Usecases/Userstories wird an dem Beispiel Resourcenraum, die Funktionalität von FabAccess beschrieben und getestet.
Da FabAccess sehr flexibel mit den Berechtigungen ist, haben wir uns dazu entschieden, die Use Cases und User Stories mit unserem Beispiel-Space zu verknüpfen. So können wir spezifisch mit den Nutzern arbeiten, die die entsprechenden Berechtigungen haben, und darauf basierend auch das Testing aufbauen. Zusätzlich werden für die Use Cases und User Stories entsprechende Tests erstellt, die die API-Aufrufe beinhalten, um das Verständnis für die API weiter zu verbessern.
+ Niklas Becker wants to use the soldering station, claims the resource, turns on the power, and returns the resource.
+ Niklas Becker wants to enter the space through the front door, claims the resource, and unlocks it temporarily.
+ Niklas Becker wants to reserve the soldering station for 1 hour in 5 seconds.
+ Niklas Becker wants to use the soldering station, but Philipp Blau is already using it. Niklas Becker joins the queue and gets the claim after Philipp Blau disowns the claim.
+ Julia Schneider needs instructions from Maik Pfeiffer for the 3D printer FDM.
+ Julia Schneider uses the Welding Machine and wants to transfer it to Leonie Fischer.
+ Felix Wagner wants to use the circular saw, which depends on the central suction.
+ Felix Wagner wants to use the circular saw, and Thomas Naumann wants to use the bandsaw, which depends on the central suction. Felix Wagner uses the circular saw first, then Thomas Naumann uses the bandsaw, and Felix Wagner disowns the circular saw first.
+ Katharina Abendroth needs to repair the bandsaw and locks it for this purpose.
+ Leonie Fischer forgot to return the soldering station, and Sarah Barth now has to release the resource again.
+ Sarah Barth gives Michael Ziegler an account for this space.
+ Lisa Meier wants to use the electric screwdriver and needs to locate it.
+ Julia Schneider has used the CNC, and Claudia Neustadt needs to check it.
+ Julia Schneider wants to use the CNC by card, and Sarah Barth checks it after usage.
+ Niklas Becker receives the role "rapid prototyping" from Sarah Barth.
+ Lara Schmidt wants to get a 3D printer from the printer farm via a terminal.
+ Lisa Meier wants to get the laser cutter via an alias name.
+ Tim Fischer wants to use the 3D printer FDM for his project "Horizon".
+ Niklas Becker wants to use the 3D scanner.
+ Tim Fischer claims the project room for his project and wants to share it with his project partner Niklas Becker so he can use it too.
+ Tim Fischer gets a project box for his project "Horizon" from Sarah Barth to store his items. This project box is also shared with Niklas Becker.
+ Lara Schmidt gets a project box for her personal use from Sarah Barth.
+ Felix Wagner brings his own wood router to the space and can share it with Lisa Meier.
+ Lisa Meier wants to get the laser cutter via the terminal by card.
+ Niklas Becker wants to get the screwdriver set and the wrench set via the goods issue terminal for the project "Horizon."
+ Tim Fischer wants to get the laser cutter by card for the project "Horizon."
+ Lisa Meier is using the laser cutter via the terminal, and Tim Fischer wants to get a transfer of the laser cutter to the project "Horizon."
+ Julia Schneider is using the bandsaw, and Sarah Barth wants to know when the resource is claimable again.
+ Julia Schneider is using the CNC, and Claudia Neustadt wants to get notified when the resource needs a check.
+ The circular saw needs cleaning, and Ralf Luft claims the resource for management and cleans it.
+ Leonie Fischer has built an e-scooter that is compatible with FabAccess and needs to use a hint in her client implementation to display an e-scooter for the traits.

View File

@ -0,0 +1,2 @@
# Authentication
Die Rollen, die aus den Gruppen bei LDAP und OAuth abgeleitet werden, werden additiv zu denen betrachtet, die intern in FabAccess vergeben werden.

View File

@ -0,0 +1,2 @@
# Implementierungsdetails
Die Implementierungen von FabAccess resultieren aus den Konzepten. Dabei müssen oft weitere Annahmen getroffen werden, wie genau die Implementierung aussehen soll. Für all diese Fälle werden hier die Entscheidungen festgehalten und möglichst nachvollziehbar erklärt, warum die Entscheidung so getroffen wurde.

View File

@ -3,4 +3,6 @@ FabAccess ist ein leistungsstarkes System, das das Management und die Zuweisung
Ein zentraler Aspekt von FabAccess ist das Management von Berechtigungen, das die Steuerung des Zugriffs auf bestimmte Ressourcen ermöglicht. Diese Berechtigungen bieten eine feingranulare Kontrolle darüber, welcher Benutzer auf welche Ressourcen zugreifen kann, und dienen als wichtiges Instrument für die Sicherheit und Effizienz des Systems.
In dieser Dokumentation werden wir einen umfassenden Überblick über die Funktionen und Einsatzmöglichkeiten von FabAccess geben, sowie detaillierte Anleitungen zur Integration und Nutzung bereitstellen. Wir laden Sie ein, sich mit unserem System vertraut zu machen und seine vielfältigen Möglichkeiten zu entdecken.
In dieser Dokumentation werden wir einen umfassenden Überblick über die Funktionen und Einsatzmöglichkeiten von FabAccess geben, sowie detaillierte Anleitungen zur Integration und Nutzung bereitstellen. Wir laden Sie ein, sich mit unserem System vertraut zu machen und seine vielfältigen Möglichkeiten zu entdecken.
**[Es wird ein Release mit Breaking Changes geben. Bitte lies die Versionshinweise für v0.9.](/release09)**

View File

@ -3,4 +3,6 @@ FabAccess is a powerful system that enables the management and allocation of res
A central aspect of FabAccess is the management of permissions, which allows for controlling access to specific resources. These permissions offer granular control over which user can access which resources, serving as a crucial tool for the security and efficiency of the system.
In this documentation, we will provide a comprehensive overview of FabAccess' features and usage possibilities, as well as detailed instructions for integration and utilization. We invite you to become acquainted with our system and discover its diverse capabilities.
In this documentation, we will provide a comprehensive overview of FabAccess' features and usage possibilities, as well as detailed instructions for integration and utilization. We invite you to become acquainted with our system and discover its diverse capabilities.
**[There will be a release with breaking changes, please read the release notes for v0.9](/release09)**

1
docs/releasev09.md Normal file
View File

@ -0,0 +1 @@
# Release v0.9