65 lines
2.3 KiB
Plaintext
65 lines
2.3 KiB
Plaintext
|
#Dokumentation: Praktikum 2#
|
||
|
|
||
|
##Allgemeine Beschreibung der Lösung
|
||
|
|
||
|
Das Praktikum 2 ist in *Python* geschrieben und nutzt das Framework *CherryPy*, mit welchem eine Website zur
|
||
|
Verwendung erzeugt wird.
|
||
|
|
||
|
Dieser Server läuft mit einer Datenbank, welche Informationen via des Python-Moduls *json* in Dateien abspeichern
|
||
|
und auslesen kann.
|
||
|
|
||
|
Die Website wird durch ein Template erzeugt, welches durch die Template-Engine *mako* umgesetzt wird, wodurch
|
||
|
Daten aus der Datenbank ausgeben werden können.
|
||
|
|
||
|
|
||
|
##Beschreibung der Komponenten
|
||
|
|
||
|
###Zweck
|
||
|
|
||
|
Die Website stellt den Inhalt einer Absolventenfeier dar. Es besteht die Möglichkeit sich für diese anzumelden,
|
||
|
mit der Option sich auch wieder abzumelden. Dieser Prozess wird durch ein Passwort geschützt, welches der Benutzer
|
||
|
selber wählen kann. Die Daten die eingeben wurden, können jederzeit geändert werden, es muss jedoch das Passwort
|
||
|
eingeben werden.
|
||
|
|
||
|
###Aufbau
|
||
|
|
||
|
**server.py**
|
||
|
|
||
|
Die *server.py* hat die Aufgabe die Website bereitzustellen und nutzt hierfür das *CherryPy-Framework*, sowie die folgenden Module.
|
||
|
|
||
|
|
||
|
|
||
|
**application.py**
|
||
|
|
||
|
Die *application.py* leitet Anfragen, die durch die Website, welche durch das *CherryPy-Framework* erzeugt wurde,
|
||
|
an die anderen Module weiter.
|
||
|
|
||
|
|
||
|
|
||
|
**datenbank.py**
|
||
|
|
||
|
Die *datenbank.py* stellt den Speicher des Systems dar. Sie dient als Schnittstelle, um Daten abzuspeichern, verändern, oder zu löschen.
|
||
|
|
||
|
|
||
|
|
||
|
**anzeigen.py**
|
||
|
|
||
|
Die *anzeigen.py* generiert die Templates, welche benötigt werden, um die Informationen auf der Website anzuzeigen.
|
||
|
Um dies zu ermöglichen wird die *mako-Engine* verwendet.
|
||
|
|
||
|
|
||
|
|
||
|
###Zusammenwirken der Komponenten
|
||
|
|
||
|
Durch die *server.py* werden die Anfragen durch das *CherryPy-Framework* erkannt und weitergeleitet an die *application.py*
|
||
|
Die *application.py* verarbeitet die Anfragen und gibt Anweisungen an die *datenbank.py* und *anzeigen.py* was mit diesen geschehen soll.
|
||
|
Im folgenden werden diese Anweisungen dann von der *datenbank.py* und *anzeigen.py* ausgeführt.
|
||
|
|
||
|
|
||
|
|
||
|
##Datenablage
|
||
|
|
||
|
Die Daten, die von der *datenbank.py* verarbeitet werden, liegen in dem Verzeichnis "/data/" und liegen im ".json" Format vor.
|
||
|
Als Dateiname wird die jeweilige ID (abhängig von der Reihenfolge der Anmeldung) des Benutzers mit der Endung ".json" verwendet.
|
||
|
In der "letztes.json" wird immer die zuletzt verwendete ID gespeichert, damit das System weiß, bis zu welcher ID Daten vorliegen.
|