Skip to content

bztfinformatik/lb1-21r8390-php

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

75 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

PHP - LB


Autor: Manuel Schumacher
Modul: M133

Doku 📚

Dokumentation 📂

How To:

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.

Fehler

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.

Anmelden

Benutzername Passwort
admin@example.com Test123Test123
verified@example.com Test123Test123
notverified@example.com Test123Test123

Commits

Icon Meaning
📚 Content
💬 Documentation
🦄 Refactoring
🤡 Fix / Issue
🥞 Mixed / Merge
👷 Automation
📝 Setting
💥 Hotfix

2. Abgabe 📦

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

3. Abgabe 📦

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

4. Abgabe 📦

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

TODO:

  • VPS Hosting

Nice to have:

  • Zip in Mail