add documentation into branch to merge into master
This commit is contained in:
41
documentation/day04_progress.adoc
Normal file
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.
|
||||
|
||||
Reference in New Issue
Block a user