Skip to content

Dramiley/swt23w30

Repository files navigation

CI Build SonarQube status

Kickstart

The beverages module is a template project to bootstrap the Java project in the Software Engineering lab. Each group’s repository is initialized with this template. It contains the following features:

  • a skeleton Java 17 web application based on Spring Boot and Salespoint framework (see src/main/java and src/test/java)

  • Asciidoc documentation templates in src/main/asciidoc

The repository layout

The repository follows the standard Maven project layout. Nearly all artifacts are stored in a subdirectory of src/:

src/
├── main/
│   ├── asciidoc/   -- Documentation of the development process and application (Asciidoc format)
│   ├── java/       -- Main source code of the application, separated into packages
│   └── resources/  -- Static assets (images, stylesheets), Thymeleaf templates, etc.
└── test/
    └── java/       -- Source code of JUnit tests is stored separately

Pro tip: In GitHub, press t and a "fuzzy file finder" will appear, making it easy to navigate to a file.

How to run the application?

  • In the IDE: find Application.java, right-click project, select "Run As > Java Application"

  • From the command line: run ./mvnw spring-boot:run

How to package the application?

  • Run ./mvnw clean package. The packaged application (a JAR in target/) can be run with java -jar $jarName.

Aufgabenstellung und Zielsetzung

In einem Unternehmen wird die Versorgung der Büros mit Getränken aktuell mittels Hand- zetteln und Strichlisten organisiert. Da es immer wieder zu Problemen mit der Organisation der Getränkelisten und der Bezahlung kam, soll nun eine Verwaltungssoftware angeschafft werden, welche diese Aufgaben übernimmt, erleichtert und überwacht.

Die Software hat zwei Hauptaufgaben. Erstens sollen Mitarbeiter mittels eines Kontos vorhandene Getränke ihres Büros „einkaufen“ können. In der Realität nimmt sich der Mitarbeiter ein Getränk und bestätigt die Entnahme in der Software. Alle diese Entnahmen sollen auf eine Liste gesetzt werden,welche vor einer neuen Getränke-Bestellung des Büros beglichen werden muss. Die zweite Hauptaufgabe ist die Nachbestellung von Getränken der einzelnen Büros. Dabei sollen Mitarbeiter Getränke vorschlagen können. Später kann ein Verantwortlicher aus diesen Vorschlägen eine Bestellung erstellen und diese manuell bei einem Lieferanten bestellen. Alte Vorschläge und Bestellungen sollen dabei gespeichert werden, um Sie später einfach wiederholen zu können. Vorschläge sollen dabei das Getränk, Link zur Lieferanten-Webseite, Preis und Pfand enthalten. Vor einer Bestellung sollten diese Informationen vom Verantwortlichen leicht überprüft und aktualisiert werden können.

Diese zwei Hauptaufgaben sollen so umgesetzt werden, dass die Eingaben möglichst wenig Zeit brauchen, da Sie während des Büroalltags geschehen sollen. Andernfalls muss mit Akzeptanzproblemen gerechnet werden. Gleiches gilt für die Anmeldung.

Neben diesen zwei Hauptaufgaben muss die Software weiterhin einige organisatorische Aufgaben erfüllen. Zum einen muss es eine Nutzerverwaltung geben, welche drei Rollen kennt: Administrator, Verantwortlicher und Nutzer. Administratoren sollten uneingeschränkten Zugriff auf das System besitzen, währenddessen Verantwortliche nur Zugriff auf die Funktionen ihres Büros haben. Nutzer können nur Vorschläge einreichen und in ihrem Büro „einkaufen“. Jeder Nutzer soll dabei jederzeit Einblick in seinen Verbrauch und seine Schulden haben. Verantwortliche treiben diese ein und können die Schulden tilgen. Verantwortliche sollten dabei jederzeit den Lagerbestand des Büros sehen und ihre, durch Bestellungen entstandenen, Vorleistungen berechnen können.

Letztendlich sollte die Software Statistiken über Verbrauch, Kosten etc. erstellen können, welche für die Verantwortlichen und Nutzer interessant sein könnten.

Aufbau der Getränkeverwaltung

Jede Seite enthält eine Navigationsleiste, welche genutzt wird um zwischen verschiedenen Seiten zu navigieren. Der Inhalt der Navigationsleiste hängt von der Rolle des Nutzers ab.

Rollen

Nicht angemeldeter Nutzer:

  • kann sich Anmelden (Navigationsleiste → Anmelden)

Mitarbeiter (Employee):

  • kann Getränke von seinem Büro ansehen und kaufen (Navigationsleiste → Angebote)

    • erhöht die eigenen Schulden, zu sehen in (Navigationsleiste → Benutzerkonto)

    • kann den letzten Kauf rückgängig machen

  • kann Vorschläge von seinem Büro ansehen und erstellen (Navigationsleiste → Vorschläge)

  • kann seine Daten editieren und seine Schulden ansehen (Navigationsleiste → Benutzerkonto)

  • kann Statistiken über den eigenen Konsum ansehen (Navigationsleiste → Statistiken)

  • kann sich Abmelden (Navigationsleiste → Abmelden)

Verantwortlicher (Manager):

  • kann Vorschläge seines Büros ansehen, in den Warenkorb legen, editieren und löschen (Navigationsleiste → Vorschläge)

    • beim Hinzufügen eines Vorschlages zum Warenkorb wird man zu (Navigationsleiste → Warenkorb) weitergeleitet

  • kann Bestellungen seines Büros ansehen, fertigstellen und abbrechen (Navigationsleiste → Bestellungen)

    • beim Fertigstellen einer Bestellung werden die Kosten zu den Vorleistungen/Schulden hinzugefügt, zu sehen in (Navigationsleiste → Benutzerkonto) und (Navigationsleiste → Büro)

  • kann Daten über sein Büro und seine aktuelle Vorleistung ansehen (Navigationsleiste → Büro)

  • kann den aktuellen Warenkorb ansehen, Mengen editieren und als Bestellung aufgeben (Navigationsleiste → Warenkorb)

    • sollte nichts im Warenkorb sein, wird man zu (Navigationsleiste → Büro) umgeleitet

  • kann die Benutzer seines Büros ansehen, editieren, löschen und neue Mitarbeiter hinzufügen. Zudem kann er die Schulden der Benutzer tilgen (Navigationsleiste → Benutzer)

  • kann seine Daten editieren und Vorleistung/Schulden ansehen (Navigationsleiste → Benutzerkonto)

  • kann Statistiken über den Konsum seines Büros ansehen (Navigationsleiste → Statistiken)

  • kann sich Abmelden (Navigationsleiste → Abmelden)

Administrator (Admin):

  • kann Vorschläge jedes Büros ansehen (Navigationsleiste → Vorschläge)

  • kann Bestellungen jedes Büros anschauen (Navigationsleiste → Bestellungen)

  • kann jedes Büro ansehen, bearbeiten und löschen (Navigationsleiste → Büro)

    • nur das Büro "IT" kann nicht gelöscht werden

  • kann die Benutzer jedes Büros editieren und löschen. Zudem kann er neue Benutzer zu jedem Büro hinzufügen (Navigationsleiste → Benutzer)

  • kann seine Daten editieren (Navigationsleiste → Benutzerkonto)

  • kann Statistiken über den Konsum jedes Büros ansehen (Navigationsleiste → Statistiken)

  • kann sich Abmelden (Navigationsleiste → Abmelden)

Wichtige Hinweise:

Initialisierung

Es werden 3 Büros beim Start initialisiert. Diese sind:

office1
office2
IT

Es werden 4 Benutzer beim Start initialisiert. Diese sind:

Nutzername: Employee
Passwort: 123
Rolle: Mitarbeiter/Employee
Büro: office1

Nutzername: Manager
Passwort: 123
Rolle: Verantwortlicher/Manager
Büro: office1

Nutzername: Manager2
Passwort: 123
Rolle: Verantwortlicher/Manager
Büro: office2

Nutzername: Admin
Passwort: 123
Rolle: Administrator/Admin
Büro: IT

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published