WEB/Sammlung/P3/Dokumentation.txt

122 lines
3.5 KiB
Plaintext
Raw Normal View History

2016-10-16 21:53:15 +02:00
#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.
###API
**index**
Stellt die Startseite der Absolventenfeier dar. Diese enthält eine Tabelle mit Anmeldungen und bietet die Möglichkeit diese zu bearbeiten.
**ausschuss_app**
Zeigt dem Prüfungsausschuss eine sortierte Liste mit Anmeldungen und bietet die Möglichkeit ein Abschlussthema zu bearbeiten.
**hinzufuegen_app**
Zugriff auf die *Bearbeiten-Funktion*, jedoch ohne einlesen vorhandener Daten. Wird genutzt um einen neuen Eintrag zu erstellen.
**passwort_app**
Passwort-Abfrage für die übergebene ID.
**passwort_loeschen_app**
Passwort-Abfrage zum Löschen der übergebenen ID.
**bearbeiten_app**
Möglichkeit Einträge in *inhalt_alle* zu verändern.
**bearbeiten_ausschuss_app**
Möglichkeit *Abschlussarbeit* in *inhalt_alle* hinzuzufügen, oder zu ändern.
**speichern_app**
Speichert übergebene Einträge in *inhalt_alle*. Danach wird Inhalt in .json gespeichert.
**speichern_ausschuss_app**
Speichert übergebenen Eintrag *Abschlussarbeit* in *inhalt_alle*. Danach wird Inhalt in .json gespeichert.
**loeschen_app**
Löscht übergebene ID, sofern das übergebene Passwort, mit dem in *inhalt_alle* gespeicherten.
**fehler_app**
Lässt Fehlermeldungen ausgeben.