====== LU03.A04/L04 - Webformulare: JSON-Daten lesen, bearbeiten, einfügen und löschen ======
- Bestandteile eine node-Servers kennen.
- Basis-Server ausführen können.
- Daten anzeigen, verändern und schreiben können.
===== Rahmenbedingungen =====
* Sozialform: individual
* Hilfsmittel: OpenBooks
* Zeit: 30 Minutes
* Erwartetes Resultat: Node-Server, der verschiedene abgefragte Daten am Monitor/Browser bearbeitet und ausgibt.
===== Ausgangslage =====
Um Rahmen des Web-Entwicklungsprojekts „Personenverzeichnis“ soll eine bestehende Node.js-Applikation mit Express und EJS (Embedded JavaScript) finalisiert und in Betrieb genommen werden. Bisher blockieren fehlerhafte Dateipfade, unvollständige Routen-Variablen sowie Caching-Probleme im Firefox-Browser das fehlerfreie Hinzufügen, Bearbeiten und Löschen von Datensätzen. Ihre Aufgabe ist es, die Ordnerstruktur zu bereinigen, die Server-Logik zu vervollständigen und die Benutzeroberfläche mit einem dynamischen Hobby-Dropdown sowie optimierten Buttons auszustatten. Der lokale Prototyp muss anschliessend auf Port 3000 fehlerfrei und stabil laufen.
===== Auftrag =====
Installieren Sie die Ihnen zur Verfügung gestellten Files wie unten abgebildet und lassen Sie die //Mini-Applikation// laufen. Legen Sie Personen an, filtern diese und löschen auch Datensätze.
Wenn alles korrekt gemacht wurde, sieht Ihre Applkation ungefähr wie folgt aus:
{{:de:modul:m307:learningunits:lu03:aufgaben:applikationsmaske.png?600|Ansicht der Webmaske}}
===== Benötigte File und Ablage-Struktur =====
Die nachfolgenden Files müssen wir folgt im VS Studio Code abgelegt werden: {{:de:modul:m307:learningunits:lu03:aufgaben:a04.zip|Benötigten Files als Zipfile}}
Stellen Sie also sicher, dass diese den nachfolgenden Aufbau haben.
▼ a04 (Projekt-Wurzelverzeichnis)
▼ public
▼ css
style.css
▼ views
index.ejs
data.json
server.js
===== Arbeitsschritte ====
**1. Order & Files**
* Laden Sie die Files herunter
* Importieren Sie diese ins VS Studio Code
**2. Projektabhängigkeiten einrichten**
Bevor das Skript starten kann, müssen die benötigten Node-Pakete installiert werden. Gehen Sie also in Ihr Projektverzeichnis und tippen den nachfolgenden Befehl in die Kommandozeile.
**Hinweis:** Unter Windows muss der gewählte Terminal ein **Commandline** oder **Command Prompt** sein.
npm init -y
**3. Express installieren **
Die benötigten Module installieren: Express (für den Server) und EJS (für die Templates) müssen im Projekt registriert werden:
npm install express ejs
** 4. Schreibberechtigung der JSON-Datei setzten**
Es kann passieren, dass Sie die JSON-Datei nicht beschreiben können, was sich durch eine Fehlermeldung beim Server bemerkbar macht. Damit wir die JSON-Datei auch beschreiben können, müssen wir hier die Berechtigung anpassen. Gehen Sie im Terminal an die Stelle, an dem die JSON-Datei gespeichert wurde und geben die nachfolgenden Codezeilen ein.
** 4.1 Winddows-Powershell**
# Entfernt das Schreibschutz-Attribut (R = Read-Only) von der Datei
attrib -r data.json
**4.2 MacOS**
# Gibt dem Besitzer (User) Lese- und Schreibrechte (rw-)
chmod 644 data.json
# Falls der ganze Ordner blockiert ist, rekursiv für alle Dateien freigeben:
chmod -R 755
===== Lösungen =====
Gibt keine, da die Aufgabe darin besteht die Applikation zu laufen zu bringen.
----
[[https://creativecommons.org/licenses/by-nc-sa/4.0/|{{https://i.creativecommons.org/l/by-nc-sa/4.0/88x31.png}}]] Volkan Demir