Autor: Manuel Schumacher
Modul: M133
Damit der ELK-Stack gestartet werden kann muss Docker mit mehr Speicher versehen werden. Die Dokumentation kann hier gefunden werden: Elastic Requirements
Auf Linux Speicher erhöhen:
sysctl -w vm.max_map_count=262144
Programm starten:docker compose up
Die Ports können im .env
eingesehen und angepasst werden.
Falls die Konfiguration mit dem ELK-Stack nicht funktioniert, kann auch das Logging zu Logstash deaktiviert werden. Dazu muss im .env
die Variable IS_LOGGING
auf false
gesetzt werden und dementsprechend auch die Container entfernt werden. Zu beachten ist, dass die Container auf einander angewiesen sind, weswegen die depends_on
auch entfernt werden müssen. Die Logs werden dann nur in der Konsole ausgegeben.
Benutzername | Passwort |
---|---|
admin@example.com | Test123Test123 |
verified@example.com | Test123Test123 |
notverified@example.com | Test123Test123 |
Icon | Meaning |
---|---|
📚 | Content |
💬 | Documentation |
🦄 | Refactoring |
🤡 | Fix / Issue |
🥞 | Mixed / Merge |
👷 | Automation |
📝 | Setting |
💥 | Hotfix |
Es wurde das ganze UI mit entwürfen für das verwalten von Sessions umgesetzt. Zudem wurde der ELK-Stack komplett realisiert und funktionstüchtig gestaltet. Das Programm kann fast wie das richtige verwendet werden. Somit wurden alle funktionalen Anforderungen erfüllt.
Es fehlt nur noch die Datenbank, Downloads, Email und der Datei Viewer. Die Datenbank wurde bewusst noch nicht gemacht, da Mocking
verlangt wurde. Da der Download nahe zusammen mit der Datenbank liegt, wurde dieser auch noch nicht gemacht. Die Emails habe gleich wie die Datenbank als Backendlogik klassifiziert und werde sie somit in er nächsten Abgabe umsetzen. Die Problematik mit dem Datei Viewer wird in der Dokumentation beschrieben. Die Lösung ist noch nicht gefunden.
- UI
- Sessions
- ELK-Stack
- Mocks
Alle funktionalen Anforderungen, welche das letzte Mal nicht umgesetzt wurden, sind in dieser Abgabe realisiert. Die Datenbank wurde mit MariaDB umgesetzt und die Downloads funktionieren. Über eine Email wird der Benutzer über eine Statusänderung informiert. Dazu wurde SendGrid verwendet. Der Datei Viewer wurde mit jsTree umgesetzt. Die Dokumentation wurde um die Datenbank und die Downloads erweitert.
Trotzdem ist das Projekt noch nicht 100%
fertig. Es fehlt noch, dass das UI automatisiert End to End getestet wird. Dies wurde bewusst mit noch nicht gemacht, da die Testfälle noch nicht definiert sind. Diese werden in der nächsten Abgabe umgesetzt.
- Datenbank
- Testdaten
- Emails
- Datei Viewer
- Download
In dieser Abgabe wurde sehr viel getestet und sichergestellt, dass alles möglichst robust ist. Dabei wurden die Umleitungen überprüft, damit keine Fehler auftreten. Die Sessions wuerden bereits in der ersten Abgabe umgesetzt. Jedoch wurden sie neu mithilfe von Redis verbessert, damit sie unabhängig vom Container sind. End to End Tests wurden mit Codeception und Cypress versucht. Der Aufwand war jedoch mit den Container zu gross und die Tests konnten nicht wie gewünscht umgesetzt werden. Trotzdem habe ich aus den Versuchen sehr viel gelernt.
- End to End Tests
- Sessions
- Redis
- Redirects
- VPS Hosting
- Zip in Mail