BIN
documentation/DB.pdf
Normal file
27
documentation/day01_progress.adoc
Normal file
@ -0,0 +1,27 @@
|
||||
= Fortschritt Tag 1
|
||||
|
||||
=== GutHub-Repo
|
||||
|
||||
- Branch-Protection aktiviert
|
||||
- CI-Workflow erstellt
|
||||
|
||||
=== Spring-Skelett
|
||||
|
||||
Projekt initialisiert mit
|
||||
- Spring-Actuator
|
||||
- Spring-Devtools
|
||||
- Thymeleaf
|
||||
- Spring Data JDBC
|
||||
- Spring Web
|
||||
- Spring Security
|
||||
- H2 Database
|
||||
- Lombok
|
||||
|
||||
Wir haben uns für eine H2 Datenbank wärend der Entwicklung entschieden.
|
||||
Wir haben uns wegen kleinen Datenbankanforderungen und Verständnis für Spring Data JDBC entschieden.
|
||||
|
||||
Zusätzliche Dependencies:
|
||||
- ArchUnit
|
||||
- AssertJ
|
||||
- Spotbugs
|
||||
- Checkstyle
|
33
documentation/day02_progress.adoc
Normal file
@ -0,0 +1,33 @@
|
||||
= Fortschritt Tag 2
|
||||
|
||||
=== Datenbankschema
|
||||
|
||||
Wir haben ein simplifiziertes Datenbankschema aufgebaut um die Grundfunktionalität zu implementieren und die Entitäten implementiert.
|
||||
|
||||
=== Dockerfile
|
||||
|
||||
Wir haben ein Dockerfile geschrieben, welches ein jar-file baut ausführt.
|
||||
|
||||
== API
|
||||
|
||||
- Swagger2 für Springboot hinzugefügt und einen Beispielcontroller mit einer Produktliste erstellt.
|
||||
|
||||
== Entities
|
||||
|
||||
- Entities für die Logik in der Java application erstellt
|
||||
- ToDo: DTO klassen für das handleln der Datenbank erstellen
|
||||
|
||||
== Checkstyle
|
||||
|
||||
- nerviges Problem mit Checkstyle gefixt bei dem die Imports immer alphabetisch sortiert werden mussten(!?)
|
||||
|
||||
== KeyCloak
|
||||
|
||||
- implementiert, dass man mit einer Rolle angemeldet sein muss, um auf die index.html zu gelangen.
|
||||
- @Sessionscope mit rein gepackt, noch nicht 100% sicher ob es funktioniert
|
||||
|
||||
== Webdesign
|
||||
|
||||
- Wir haben an der index.html gearbeitet.
|
||||
Es gab jedoch Probleme mit Spring Security, weshalb die Änderungen nicht hochgeladen wurden.
|
||||
Der Fehler wurde jedoch nun gefunden.
|
32
documentation/day03_progress.adoc
Normal file
@ -0,0 +1,32 @@
|
||||
= Fortschritt Tag 3
|
||||
|
||||
== Datenbankschema
|
||||
|
||||
Mit Jens' Input haben wir uns beim Datenbankschema umentschieden.
|
||||
Wir werden eine Tabelle nutzen die die alle Operationen chronologisch speichert.
|
||||
Die Operationen beinhalten:
|
||||
|
||||
- `add Student`
|
||||
- `del Student`
|
||||
- `create Group`
|
||||
- `del Group`
|
||||
- `addAdmin Student`
|
||||
- `delAdmin Student`
|
||||
|
||||
(These Operations Operations are not final and can be subject to change ;P)
|
||||
|
||||
Sie soll nach dem Prinzip funktionieren wie in DB.pdf
|
||||
|
||||
Dazu kommen noch weitere Spalten wie StudentID, StudentName und GroupID. So kann eine einfache Gruppierung anhand der Identifier stattfinden.
|
||||
|
||||
== Schnittstelle (Idee)
|
||||
|
||||
Wir wollen anderen Gruppen die gesamte history, abhängig von der letzten ID die sie an uns mit einem Request schicken, schicken.
|
||||
Die Implementierung und das Handling in ihrem eigenen Modul wollen wir momentan noch ihnen überlassen.
|
||||
Also würden wir die Daten nicht Verarbeiten bevor wir sie rausgeben.
|
||||
Falls das Verarbeiten der Daten am Ende der Nutzer zu lange Dauert könnte man darüber nachdenken die Daten im eigenen Modul zu cachen und kompakter rauszugeben
|
||||
|
||||
== Spotbugs
|
||||
|
||||
- Das reportlevel = "high" von spotbugs entfernt.
|
||||
Vorher hat spotbugs eine arrayOutOfBound nicht gemeldet.
|
41
documentation/day04_progress.adoc
Normal file
@ -0,0 +1,41 @@
|
||||
= Fortschritt Tag 4
|
||||
|
||||
== Datenbankschema
|
||||
|
||||
Also wir haben wieder leichte Veränderungen am Datenbankmodell vorgenommen.
|
||||
Wir werden Eventsourcing als Persistenzmodell Verwenden.
|
||||
Die Datenbank besteht nun aus den Spalten:
|
||||
`event_id` `group_id` `user_id` und `eventpayload`.
|
||||
|
||||
Die Spalte `eventpayload` wird im JSON-Format representiert und beinhaltet alle Infos zu veränderungen.
|
||||
Ganz vorne steht die Action die stattfand, welche wir in 7 mögliche Actions unterteilt haben:
|
||||
|
||||
- `DeleteGroup`
|
||||
- `CreateGroup`
|
||||
- `AddUser`
|
||||
- `DeleteUser`
|
||||
- `UpdateRolle`
|
||||
- `UpdateGroupTitle`
|
||||
- `UpdateGroupDescription`
|
||||
|
||||
== Gruppenservice/Events
|
||||
|
||||
Wir verwenden nun einen Datentyp `Event` um die verschiedenen Events zu handleln.
|
||||
Es wird eine Eventliste als Parameter an eine überladene Methode in die `Gruppe` Klasse übergeben.
|
||||
Vom Datentyp Event erben die Verschiedenen Events die wir in der DB haben und haben einen entsprechenden Konstruktor:
|
||||
|
||||
public class CreateGroupEvent extends Event {
|
||||
String titel;
|
||||
String beschreibung;
|
||||
public CreateGroupEvent(long id, long gruppe_id, String user_id, String titel, String beschreibung)
|
||||
{
|
||||
super(id, gruppe_id, user_id);
|
||||
this.titel = titel;
|
||||
this.beschreibung = beschreibung;
|
||||
}
|
||||
}
|
||||
|
||||
== Tests
|
||||
|
||||
Wir haben Tests zu den `applyEvent()` Methoden geschrieben aber müssen noch weitere Logik testen.
|
||||
|
25
documentation/day05_progress.adoc
Normal file
@ -0,0 +1,25 @@
|
||||
= Fortschritt Tag 4
|
||||
|
||||
== Event -> Group
|
||||
|
||||
Hier haben wir uns mit der übersetzung von den Events zu den Gruppen klassen beschäftigt und Exeptions entwickelt.
|
||||
Auch einige User-cases wie doppeltes einfügen von Gruppenmitgliedern wir jetzt abgefangen.
|
||||
Außerdem wurden Test dazu geschrieben.
|
||||
|
||||
== Event
|
||||
|
||||
Wir haben heute das speichern von Events gemacht.
|
||||
Darüber hinaus haben wir das Serializieren und Deserializeren der JSON Daten implementiert.
|
||||
Hierfür haben wir Jackson benutzt.
|
||||
|
||||
== Controller
|
||||
|
||||
Wir haben damit angefangen den Input über die UI zu interpretieren, dabei haben wir gemerkt dass wir viele weitere Methoden für das Java Backend schreiben müssen welche wir als nächstes erstellen.
|
||||
|
||||
== Tests
|
||||
|
||||
Wir haben mit ArchUnit-Tests die Programm-Architektur überprüft und festgelegt.
|
||||
|
||||
== Templates und UI
|
||||
|
||||
Wir haben die Templates für search.html und create.html erweitert.
|
16
documentation/day06_progress.adoc
Normal file
@ -0,0 +1,16 @@
|
||||
== Tag 6
|
||||
|
||||
= Gruppen abspeichern
|
||||
Wir haben uns heute darum gekümmert über die UI eine Gruppe zu erstellen und diese in die Datenbank zu schreiben. Der Ersteller der Gruppe wird momentan mit in die Gruppe eingefügt das kann später noch verändert werden. Alle Logik findet momentan im Controller statt was später noch verändert wird.
|
||||
|
||||
= Tests
|
||||
|
||||
Architekturtests erweitert und umstrukturiert, neue tests für die deserialisierung (die sind ein wenig unnötig) und tests für die neue projectGruppen() methode.
|
||||
|
||||
= ProjectionService
|
||||
|
||||
Die Eventliste wird komplett gelesen und zu gruppen verarbeitet Außerdem kann man Gruppen IDs nach User erhalten
|
||||
|
||||
= UI
|
||||
|
||||
Styling verbessert
|
15
documentation/day07_progress.adoc
Normal file
@ -0,0 +1,15 @@
|
||||
= Tag 7
|
||||
|
||||
== Heute haben wir über die Struktur diskutiert. Wir sind zum folgenden Ergebnis gekommen:
|
||||
|
||||
* Wir haben uns für zwei Maps entschieden
|
||||
** 1. In der einen Map mappen wir die group_id mit der Gruppe.
|
||||
** 2. In der anderen Map mappen wir die user_id mit einer Liste von Gruppen ids.
|
||||
** Beide Maps haben die Funktion, schneller auf die Gruppen zuzugreifen.
|
||||
|
||||
Dafür haben wir einen neuen Branch erstellt und ein paar Funktionen implementiert.
|
||||
Danach haben wir nochmal Rücksprache mit Jens und Christian gehalten und gemerkt, dass die Implementierung über Maps nicht so vorteilhaft ist wie wir gedacht haben.
|
||||
Der Code wäre zu verwirrend und unübersichtlich.
|
||||
Auch wenn wir es so weitermachen könnten, haben wir uns für die Idee mit den Querys entschieden, da wir das als übersichtlicher empfinden.
|
||||
|
||||
Ebenfalls haben wir die Readme geschrieben.
|
24
documentation/day08_progress.adoc
Normal file
@ -0,0 +1,24 @@
|
||||
= Tag 8
|
||||
|
||||
== APIController
|
||||
|
||||
Wir haben einen Controller für die Anfragen der anderen Gruppen geschrieben.
|
||||
Die Anfrage enthält den aktuellen Status der Gruppe und liefert als JSON Objekt den neuen Status und die Liste mit den Gruppen die sich geändert haben.
|
||||
Zzusätlich gibt es eine Wrapperklasse, um die Objekte die wir herausgeben mit der anderen Gruppenbildung-Gruppe anzugleichen.
|
||||
|
||||
== Testing
|
||||
|
||||
Der Eventbuilder wurde verbessert, sodass leichter mit großen Mengen von events getestet werden kann.
|
||||
|
||||
Zusätlich gibt es eine Wrapperklasse, um die Objekte die wir herausgeben mit der anderen Gruppenbildung-Gruppe anzugleichen.
|
||||
|
||||
== Dokumentation
|
||||
|
||||
Wir haben heute fünf Punkte von Arc42 bearbeitet, da wir jetzt wissen, wie unser Projekt genau aussehen soll.
|
||||
Außerdem haben wir für eine bessere Lesbarkeit angefangen, den Funktionen Kommentare hinzuzufügen.
|
||||
|
||||
== Frontend
|
||||
|
||||
Wir heute wurde die Funktionalität des Erstellens von Gruppen und der Anzeige der eigenen Gruppen hergestellt.
|
||||
Das Template funktioniert nun korrekt mit dem Code.
|
||||
Außerdem haben wir das Styling der 3 bestehenden HTML-Templates verbessert und mit der Anwendung abgestimmt.
|
21
documentation/day09_progress.adoc
Normal file
@ -0,0 +1,21 @@
|
||||
= Tag 9
|
||||
|
||||
== Frontend
|
||||
|
||||
Wir haben das Styling des Formulars zur Gruppenerstellung verbessert und die fehlenden Optionen zum Teil hinzugefügt.
|
||||
Außerdem haben wir eine Anzeige für die Details einer Gruppe erschaffen, die auch mit dem Programm funktioniert, und das Styling der Seite angepasst.
|
||||
Wir haben uns entschieden, getrennte HTML-Files zu erstellen: Eins für den Link von der Liste der eigenen Gruppen aus und eins für den Link über die Suche, in der der User kein Mitglied ist, damit ihm im letzteren Fall die Optionen, die ein Mitglied hätte, unzugänglich sind.
|
||||
|
||||
== API Controller
|
||||
|
||||
Den API Controller haben wir voerst fertiggestellt.
|
||||
Alle Anfragen die wir bisher bearbeiten wollen, werden nun auch bearbeitet.
|
||||
|
||||
== EventService Tests
|
||||
|
||||
In Zusammenhang mit dem API Controller haben wir ein paar Tests für den Eventservice erstellt, da auch hier einige neue Methoden hinzugefügt wurden und sich der Controller selbst nur schwer testen lässt.
|
||||
|
||||
== DB und Backend
|
||||
|
||||
Heute haben wir uns darum gekümmert der Datenbank die Spalte visibility hinzuzufügen, damit wir schneller nach öffenlichen und privaten Gruppen suchen können.
|
||||
Ebenfalls haben wir die Suche nach öffentlichen Gruppen implementiert.
|
19
documentation/day10_progress.adoc
Normal file
@ -0,0 +1,19 @@
|
||||
= Tag 10
|
||||
|
||||
== Frontend
|
||||
|
||||
Heute haben wir eine Error-Seite erstellt, die aber noch nicht error.html heißt, damit noch die normale Error-Seite mit dem Log angezeigt wird.
|
||||
Die Seite wird umbenannt, sobald das Frontend in Kombination mit dem Backend funktioniert.
|
||||
Außerdem haben wir die Detailseite überarbeitet, auf die man weitergeleitet wird, wenn man von der Suche aus kommt.
|
||||
Die Seite zeigt nun die richtigen Informationen an.
|
||||
Die benötigten Methoden haben wir in den Controller geschrieben.
|
||||
|
||||
== Keycloak
|
||||
|
||||
Änderungen an Keycloakanbindung -> APIController abgesichert
|
||||
|
||||
== Backend
|
||||
|
||||
Wir haben uns heute um die Umstrukturierung der Vererbung gekümmert.
|
||||
Vorher hatten wir die Methoden die Einfluss auf die Gruppe nehmen(also die Events) in der Klasse Group.
|
||||
Jetzt haben wir es so umgebaut, dass wir in die einzelnen Events die Gruppe reingeben und die Methode in dem jeweiligen Event ausgeführt wird.
|
22
documentation/day11_progress.adoc
Normal file
@ -0,0 +1,22 @@
|
||||
= Tag 11
|
||||
|
||||
== Frontend
|
||||
|
||||
Heute haben wir eine Seite zum Bearbeiten der Mitglieder eine Gruppe mit den entsprechenden Controllern geschrieben.
|
||||
Außerdem haben wir das Styling aller Seiten vereinheitlicht.
|
||||
|
||||
== InviteLink
|
||||
|
||||
Es wird nun beim erstellen einer privaten Gruppe ein Einladungslink erstellt, der zusammen mit der zugehörigen GroupID in einer seperaten Tabelle gespeichert wird.
|
||||
Der Link soll Admins auf der Detailsseite der Gruppe angezeigt werden.
|
||||
Über den Link kommt man dann zur Beitrittsseite der jeweiligen Gruppe.
|
||||
Bei dem Löschen der Gruppe muss in Zukunft auch noch das löschen des Links hinzugefügt werden.
|
||||
|
||||
== Backend
|
||||
|
||||
Heute haben wir alte Fehlermeldungen implementiert.
|
||||
Wir haben außerdem das beitreten in eine Gruppe über die UI implementiert.
|
||||
Zudem haben wir angefangen eine extra Seite zu erstellen, wo man Gruppen über eine csv Datei eine Gruppe erstellen kann.
|
||||
Dort hatten wir Schwierigkeiten einen Button je nach Role des Users anzeigen zu lassen.
|
||||
Das Problem lag im th:if.
|
||||
Dort hatten wir anstatt das ' ' -> " "
|
29
documentation/day12_progress.adoc
Normal file
@ -0,0 +1,29 @@
|
||||
= Tag 12
|
||||
|
||||
== Backend
|
||||
|
||||
zeiHeute haben wir uns darum gekümmert eine Veranstaltung mit einer csv Datei zu erstellen.
|
||||
Außerdem haben wir die Suchfunktion verbessert.
|
||||
Bedeutet Groß und Kleinschreibung wird ignoriert, damit eine bessere suche möglich ist.
|
||||
Außerdem haben wir die Suchfunktion verbessert.
|
||||
|
||||
== Frontend
|
||||
|
||||
Heute haben wir die Templates für das Editieren von Mitgliedern der Gruppe fertiggestellt und den entsprechenden Buttons ihre Funktion gegeben.
|
||||
Das Frontend ist nun im groben fertig, es fehlt nur noch der Feinschliff.
|
||||
Außerdem haben wir einige Changes am Styling gemacht, damit alles konsistenter und schöner aussieht.
|
||||
|
||||
== CSv-Import
|
||||
|
||||
Heute haben wir uns darum gekümmert eine Veranstaltung mit einer csv Datei zu erstellen.
|
||||
Außerdem kann jetzt ein orga auch in der gruppenübersicht -> mitgliedglider bearbeiten über eine csv-datei mitglieder hinzufügen.
|
||||
Wenn man die CSV-Datei auswählt wird nun ihr Name auf der website angezeigt.
|
||||
|
||||
== Eventservice
|
||||
|
||||
Checkgroup Methode auf Query umgestellt(performence)
|
||||
|
||||
== ErrorHandling
|
||||
|
||||
Errorpage angepasst und als default gesetzt.
|
||||
Außerdem die Exceptions überarbeitet, deren Message wird nun auch auf der Errorpage angezeigt.
|
22
documentation/day13_progress.adoc
Normal file
@ -0,0 +1,22 @@
|
||||
= Tag 13
|
||||
|
||||
== Performance Tests
|
||||
|
||||
Wir haben ein paar Performancetests geschrieben und geschaut, wo man eventuell noch optimierungen vornehmen kann.
|
||||
Dann ist uns aufgefallen das das wahrscheinlich so gar nicht so sinnvoll ist.
|
||||
|
||||
== Entadminisierung
|
||||
|
||||
Wir haben um gekümmert dass in jedem Fall mindestens ein admin in einer gruppe bestehen bleibt.
|
||||
|
||||
== Funktionen
|
||||
|
||||
Heute haben wir uns darum gekümmert das unsere Gruppen ein Beitrittslimit haben.
|
||||
Das kann man bei normalen Gruppen über die UI einstellen.
|
||||
Für Vorlesungen haben wir uns entschieden erstmal einen festen Wert zu nehmen, da wir uns noch uneinig sind ob wir die Gruppengröße Anpassbar machen wollen.
|
||||
Ebenfalls haben wir Probleme bei der Suchefunktion und beim Beitrittslimit gefixt.
|
||||
|
||||
== Frontend
|
||||
|
||||
Heute haben wir das Styling weiter verbessert und vereinheitlicht.
|
||||
Außerdem haben wir die Funktion eingebunden, dass man die tatsächliche und die maximale Anzahl Mitglieder sehen kann.
|
23
documentation/day14_progress.adoc
Normal file
@ -0,0 +1,23 @@
|
||||
= Tag 14
|
||||
|
||||
== Gruppen löschen
|
||||
|
||||
Wir haben die Funktionalität Gruppen zu löschen für die Admins ermöglicht.
|
||||
Darüber hinaus werden Gruppen gelöscht wenn sie keine Mitglieder mehr haben
|
||||
|
||||
== MaxUser anpassen
|
||||
|
||||
Die Anzahl der Maximalen User wird immer angepasst wenn beim hinzufügen über CSV die Grenze überschritten wird.
|
||||
|
||||
== Suche optimiert
|
||||
|
||||
Grundlegende überlegungen zur Suche gemacht und mit Grundgerüst angefangen
|
||||
|
||||
== Links anzeigen
|
||||
|
||||
Angefangen zu implementieren, dass die InviteLinks von privaten Gruppen auf der details Seite angezeigt werden.
|
||||
|
||||
== API
|
||||
|
||||
Schnittstelle zum erstellen von Gruppen angelegt.
|
||||
Wird jetzt wohl doch nicht mehr gebraucht ...
|
23
documentation/day15_progress.adoc
Normal file
@ -0,0 +1,23 @@
|
||||
= Tag 15
|
||||
|
||||
== Event
|
||||
|
||||
Heute haben wir ein neues Event hinzugefügt.
|
||||
Dieses bewirkt das man die maximale Teilnehmer Zahl ändern kann.
|
||||
|
||||
== Fehler
|
||||
|
||||
Heute haben wir Fehler die mit dem neuen Event aufgetaucht sind behoben.
|
||||
Außerdem auch andere die uns jetzt erst aufgefallen sind.
|
||||
Wir haben heute angefangen unsere Tests zu refactorn.
|
||||
|
||||
== Invite Link
|
||||
|
||||
Der Einladungslink von privaten Gruppen wird nun auf der Details Seite angezeigt und kann per Button kopiert werden.
|
||||
Die Server URL ist bei Verbindung über localhost aber noch fehlerhaft.
|
||||
Um dies zu beheben wurde localhost gehardcoded, was unbedingt am Ende entfernt werden sollte.
|
||||
|
||||
== Frontend
|
||||
|
||||
Heute haben wir einen Scrollbar für die Mitgliederliste eingefügt und das Styling bei "EditMembers.html" angepasst.
|
||||
|
31
documentation/day16_progress.adoc
Normal file
@ -0,0 +1,31 @@
|
||||
= Tag 16
|
||||
|
||||
== Documentation
|
||||
|
||||
Heute haben wir an der arc42-Dokumentation weitergearbeitet und die ersten Abschnitte fertiggestellt.
|
||||
|
||||
== Tests
|
||||
|
||||
Heute haben wir damit weiter gemacht unsere Tests zu Refactorn.
|
||||
Diese müssen sowieso noch angepasst werden weil wir für die GruppenId jetzt eine UUID nutzen.
|
||||
|
||||
== Controller
|
||||
|
||||
Wir haben den Controller refactored da zu viel Logik in den Methoden waren.
|
||||
Diese haben wir zum größten Teil in den Controllerservice ausgelagert.
|
||||
|
||||
== Titel und Beschreibung
|
||||
|
||||
Wir haben eine Seite erstellt über die man den Titel und die Beschreibung einer Gruppe nachträglich noch anpassen kann.
|
||||
|
||||
== Suche reparieren
|
||||
|
||||
Man kann nicht wieder beitreten sobald man die Gruppe verlassen hat
|
||||
|
||||
== changeMetaData
|
||||
|
||||
Der Titel und die Beschreibung sind nun bearbeitbar über die Detailseite der Gruppe.
|
||||
|
||||
== InviteLink
|
||||
|
||||
Der Einladungs Link wird nun richtig zusammengebaut und angezeigt.
|
22
documentation/day17_progress.adoc
Normal file
@ -0,0 +1,22 @@
|
||||
= Tag 17
|
||||
|
||||
== Documentation
|
||||
|
||||
Heute haben wir an der arc42-Documentation weitergearbeitet.
|
||||
|
||||
== Gruppensuche
|
||||
|
||||
Die Gruppensuche funktioniert nun, auch nach mehrfachem verlassen und beitreten der selben Gruppe.
|
||||
|
||||
== sortierte Gruppen
|
||||
|
||||
Die Gruppen werden nun sowohl auf der Startseite als auch bei der Suche sortiert nach Veranstaltung und normaler Gruppe angezeigt.
|
||||
|
||||
== Checkstyle und Spotbugs
|
||||
|
||||
Alle Fehler wurden behoben auf dem aktuellem Stand des masters.
|
||||
|
||||
== Tests und Refactorn
|
||||
|
||||
Wir haben heute unsere Tests für GroupService Refactort.
|
||||
Außerdem haben wir damit angefangen unsere Klasse ControllerService und unsere Tests dazu zu Refactorn.
|
28
documentation/entscheidungen.adoc
Normal file
@ -0,0 +1,28 @@
|
||||
= Entscheidungsfindung
|
||||
|
||||
=== Tag 1
|
||||
|
||||
- H2 Datenbank: In-Memory, startet automatisch, schnell
|
||||
|
||||
=== Tag 2
|
||||
|
||||
- Swagger für API: Automatische Doku + Interaktive UI
|
||||
- MySql für Production: Wir wissen nix besseres + JSON Datatype
|
||||
- Checkstyle: Google als Basis, Einrückung auf 4 spaces erhöht
|
||||
|
||||
=== Tag 3
|
||||
|
||||
- Spring Security verringert für H2-Console
|
||||
- Event Sourcing: Hat jens gesagt klingt cool
|
||||
|
||||
=== Tag 4
|
||||
|
||||
-
|
||||
|
||||
=== Tag 5
|
||||
|
||||
- Jackson für JSON: Spring dabei + Einfaches handling von subklassen
|
||||
- Lombok event annotations: Jackson braucht den defaultconstructor
|
||||
- Fehlerbehandlung: Exceptions zum besseren umgang in tests etc
|
||||
|
||||
=== Tag 6
|
21
documentation/src/00_DocumentationToDos.adoc
Normal file
@ -0,0 +1,21 @@
|
||||
= To Dos der Documentation
|
||||
|
||||
== Kontextabgrenzung in 03
|
||||
|
||||
* Fachlicher Kontext mit Diagramm
|
||||
* Technischer Kontext mit Diagramm
|
||||
|
||||
== Blocksicht des Aufbaus in 05
|
||||
|
||||
* 1000 verschiedene sachen
|
||||
|
||||
== Laufzeitsicht in 06
|
||||
|
||||
* auch todes viel
|
||||
|
||||
== Noch ne sicht in 07
|
||||
|
||||
* auch ass viel
|
||||
|
||||
== Mehr Konzepte hinzufügen in 08
|
||||
|
BIN
documentation/src/bausteinsicht.png
Normal file
After Width: | Height: | Size: 134 KiB |
BIN
documentation/src/concept_event.png
Normal file
After Width: | Height: | Size: 274 KiB |
BIN
documentation/src/concept_group.png
Normal file
After Width: | Height: | Size: 150 KiB |
BIN
documentation/src/concept_validation.png
Normal file
After Width: | Height: | Size: 67 KiB |
BIN
documentation/src/deployment.png
Normal file
After Width: | Height: | Size: 131 KiB |
BIN
documentation/src/fachlicher_kontext.png
Normal file
After Width: | Height: | Size: 90 KiB |
BIN
documentation/src/frontend_1.png
Normal file
After Width: | Height: | Size: 126 KiB |
BIN
documentation/src/frontend_2.png
Normal file
After Width: | Height: | Size: 105 KiB |
BIN
documentation/src/quality_tree.png
Normal file
After Width: | Height: | Size: 88 KiB |
BIN
documentation/src/technischer_kontext.png
Normal file
After Width: | Height: | Size: 49 KiB |
BIN
documentation/src/whitebox_beitreten.png
Normal file
After Width: | Height: | Size: 126 KiB |
BIN
documentation/src/whitebox_erstellen.png
Normal file
After Width: | Height: | Size: 412 KiB |
BIN
documentation/src/whitebox_suche.png
Normal file
After Width: | Height: | Size: 121 KiB |
BIN
documentation/src/whitebox_verwalten.png
Normal file
After Width: | Height: | Size: 200 KiB |
5
pull-wait-for-it.sh
Normal file
@ -0,0 +1,5 @@
|
||||
#!/bin/sh
|
||||
|
||||
if [ ! -f wait-for-it.sh ]; then
|
||||
wget https://raw.githubusercontent.com/vishnubob/wait-for-it/master/wait-for-it.sh
|
||||
fi
|
10
src/main/resources/schema-h2.sql
Normal file
@ -0,0 +1,10 @@
|
||||
DROP TABLE IF EXISTS event;
|
||||
|
||||
CREATE TABLE event
|
||||
(
|
||||
event_id INT PRIMARY KEY AUTO_INCREMENT,
|
||||
group_id VARCHAR(36) NOT NULL,
|
||||
user_id VARCHAR(50),
|
||||
event_type VARCHAR(32),
|
||||
event_payload VARCHAR(2500)
|
||||
);
|