Database: Suche in StudiVZ - JirkaDellOro/EIA2 GitHub Wiki
Vorbereitung
Übernehmen Sie den Code aus Lektion 08 aus dem EIA2-Code-Repository in ihr Projekt als neuen Ordner. Darin implementiert ist eine primitivste Verwaltung von Studentendaten, welche lediglich aus Name, Vorname und Matrikelnummer bestehen.
Der Client stellt eine Maske zur Verfügung, welche den Eintrag eines neuen Datensatzes und die Ausgabe aller Datensätze erlaubt. Intern wird per Ajax die Verbindung zum Server verwaltet, die Daten für den Versand vorbereitet und die Serverantwort ausgewertet. Der Server wandelt die ankommenden Daten in ein assoziatives Array um und entscheidet aufgrund des Eintrags unter "command", welche Aktion folgen soll. Neu ist das Database-Script, welches die Daten an eine Datenbank übergibt und von dort liest, und nach erfolgten Prozeduren die weiteren vorgegebenen Aktivitäten anstößt.
Studieren Sie die Skripte intensiv, insbesondere Database. Es ist bereits ausführlich kommentiert. Bringen Sie die Anwendung zunächst auf ihrer Pages-Seite, einer eigenen persönlichen Heroku-App und einer eigenen Datenbank zum Laufen. Der Beispielcode verweist derzeit auf eine Testdatenbank, welche zum Ausprobieren angelegt ist. Beachten Sie, dass in der Datei package.json nun auch eine Abhängigkeit zu MongoDB eingetragen ist. So weiß der Server, dass er dieses Modul mit einbinden muss. Um dies auf ihrem persönlichen Rechner testen zu können, müssen Sie mongodb
sowie @types/mongodb
über npm
in ihrem Projekt installieren.
Konzeption
Konzipieren Sie die Erweiterung dieser Client-Server-Anwendung um die Möglichkeit, den Datenbankserver nach Datensätzen mit bestimmten Matrikelnummern suchen zu lassen. Erstellen Sie Aktivitätsdiagramme für die erforderlichen Erweiterungen in den Programmteilen Client, Server und Database.
Produktion
Implementieren Sie schließlich die Erweiterungen und stellen Sie die Lauffähigkeit im Netz mit Heroku und Mongodb her. Zum Testen können Sie auch gerne versuchen, die Anwendung lokal zu betreiben. Hierzu müssen Sie noch die Node-Treiber installieren und einen entsprechenden Ordner für die Datenbank anlegen. Sehen Sie dazu auch die Abgabe aus der letzten Woche.