[Übung] Ein erstes node.js Plattenlabel

Als erste Server-Anwendung wird in dieser Übung eine lesende Schnittstelle für ein Plattenlabel erstellt. Dabei werden die Daten der Einfachheit halber in JSON-Dateien abgelegt.

Die Auszubildenden lernen die Verwendung von node.js, npm und JSON-Dateien kennen.

Voraussetzungen

Dauer

1,5 Tage

Themen

node.js, express, npm, json

Ablauf

Als erstes wird das Ziel der Übung beschrieben:

Es soll einen JSON-REST-Server geben, der die Daten eines Plattenlabels ausliest und zur Verfügung stellt.

Dazu werden zunächst die Objekte eine Labels an einer Metaplanwand besprochen:

Objekt Eigenschaften
Band Name, Slug, Alben, Musiker
Album Name, Slug, Lieder, Erscheinungsjahr, Band
Lied Name, Slug, Länge, Text, Alben
Musiker Name, Slug, Instrument, Band

Wichtig ist hier auch zu erklären, was ein SLUG ist und warum dieser nötig ist.

Erklärung

In einer URL dürfen bestimmte Zeichen nicht dargestellt werden, anderen sehen unschön aus (z.B. Leerzeichen). Deshalb wird ein aus einem oder wenigen Wörtern bestehender benutzer- und suchmaschinenfreundlicher Text (sprechender Name) erstellt. So wird zum Beispiel aus der Überschrift „[Ausbildung] Grundlagen node.js“ der Slug „ausbildung-grundlagen-node-js“

[collapse]

Der nächste Schritt befasst sich mit der Planung der URLs, die abrufbar sein sollen, und was als Antwort von Server erwartet wird. Auch hier eignen sich Moderationskarten.

URL Antwort
/ Link zu /band, /album, /lied, /musiker
/band/ Verlinkte Liste der Bands
/band/{bandSlug} JSON Band (Alben, Musiker verlinkt!)
/album/ Verlinkte Liste der Alben
/album/{albumSlug} JSON Album (Lieder, Band verlinkt!)
/lied/ Verlinkte Liste der Lieder
/lied/{liedSlug} JSON Lied (Album verlinkt!)
/musiker/ Verlinkte Liste der Musiker
/musiker/{musikerSlug} JSON Musiker (Band verlinkt!)

Im letzten Schritt schließlich werden noch 4 wichtige Links verteilt:

Schließlich wird noch der Ablauf besprochen und die Auszubildenden fangen an zu Entwickeln, wobei nach jeden Schritt eine Kontrolle erfolgt.

  1. Basis package.json und app.js
  2. Einbinden der Routen mit leerer Antwort
  3. Aufbau der Datenbank (JSON in Ordnern)
  4. Routen senden Antworten
  5. Verlinken der Felder in den Antworten.

Erweiterung

Sollte noch Zeit zur Verfügung stehen, kann die Übung erweitert werden:

  • Neuer Pfad Instrumente
  • Neuer Pfad Konzerte
  • Erweiterung der Datenbank um mehr Objekte
  • Erweiterung der Felder der Objekte
  • Einbau Fehlerprüfung (Objekt nicht vorhanden)

Musterlösung

Anklicken für Lösung

Der gesamte Quellcode kann hier gefunden werden: https://github.com/WebDaD/uebung-plattenlabel

[collapse]

2 Antworten auf „[Übung] Ein erstes node.js Plattenlabel“

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.