Das lernst du
- Kapitel 1Node.js: JavaScript auf dem Server – Was Node.js ist, Daten als JSON, Warten mit async/await, Fehler abfangen – das Handwerkszeug für jeden Server.
JavaScript ohne Browser · Daten als JSON · Warten mit async und await · Fehler abfangen mit try und catch · Boss: Bestellungen auswerten - Kapitel 2Express: der erste Webserver – Routen und Antworten, Pfad-Parameter, Statuscodes und Suchfilter – und am Ende eine eigene kleine API.
Routen und Antworten · Pfad-Parameter mit :id · Statuscodes setzen · Suchen und Filtern mit der Query · Boss: eine Wetter-API - Kapitel 3REST: anlegen, lesen, ändern, löschen – POST, PATCH und DELETE mit den richtigen Statuscodes, saubere Adressen nach REST und eine komplette Notizen-API.
POST: Daten anlegen · PUT und PATCH: Daten ändern · DELETE: Daten löschen · Eine Ressource, fünf Routen · Boss: die Notizen-API - Kapitel 4Backend: ein eigener Server mit Node.js und Express – Ein Server beantwortet Anfragen: Routen, Parameter, Suchfilter, Daten empfangen und eine kleine REST-API – alles live in der App.
Der erste Server: Express · Routen mit Platzhaltern: req.params · Suchen und filtern: req.query · Daten empfangen: POST und express.json() · Boss: eine kleine REST-API - Kapitel 5Eingaben prüfen und klare Fehler – Pflichtfelder, Typen und Grenzen prüfen, Regeln als Schema, einheitliche Fehlerantworten und eine Event-Anmeldung mit 409.
Pflichtfelder prüfen · Typen und Grenzen prüfen · Eine Prüf-Funktion für alle Routen · Einheitliche Fehlerantworten · Boss: die Event-Anmeldung - Kapitel 6Router und Middleware – Routen mit express.Router bündeln, Bereiche einhängen, Middleware vor den Routen und ein 404-Handler im API-Format.
express.Router: Routen bündeln · Mehrere Bereiche in einer API · Middleware anmelden: req ergänzen · Der 404-Handler am Ende · Boss: eine API mit Bereichen - Kapitel 7Listen-APIs: Seiten, Sortieren, Filtern – Seitenweise laden, sortieren ohne die Daten zu verändern, Filter kombinieren, Antworten mit Metadaten und ein kompletter Produktkatalog.
Seitenweise laden · Sortieren per Query · Mehrere Filter kombinieren · Antworten mit Metadaten · Boss: der Produktkatalog - Kapitel 8Backend vertiefen: Middleware, Router und Schutz – Code vor jeder Route, Routen ordnen, Fehler zentral behandeln und Bereiche mit einem Schlüssel schützen.
Middleware: Code vor jeder Route · Routen ordnen: express.Router · Fehler zentral behandeln · Bereiche schützen: Header und 401 · Boss: eine geschützte Notiz-API - Kapitel 9Eine SQL-Datenbank im Server – Datenbank öffnen, Tabellen anlegen, mit prepare und Platzhaltern einfügen und lesen, Beispieldaten beim Start – und eine Rangliste.
Datenbank öffnen und Tabelle anlegen · Einfügen mit prepare und run · Lesen mit all und get · Beispieldaten beim ersten Start · Boss: eine Rangliste in der Datenbank - Kapitel 10REST-API mit Datenbank – Listen, einzelne Zeilen, Anlegen, Ändern und Löschen – alle Routen einer REST-API direkt auf einer SQL-Tabelle.
GET: die Liste aus der Datenbank · GET mit id: eine Zeile oder 404 · POST: in der Datenbank speichern · PATCH und DELETE mit changes · Boss: die Aufgaben-API mit SQL - Kapitel 11Sicher und sauber speichern – SQL-Injection verstehen und verhindern, benannte Platzhalter, doppelte Werte mit UNIQUE und 409 abfangen, Transaktionen – und eine Bestellung mit Lagerbestand.
SQL-Injection verstehen · Platzhalter mit Namen · UNIQUE: doppelte Einträge abfangen · Transaktionen: alles oder nichts · Boss: die Bestellung mit Lagerbestand - Kapitel 12Tabellen verbinden – Fremdschlüssel, JOIN in der API, Zählen und Summen mit GROUP BY, verschachtelte Antworten – und ein Shop-Dashboard.
Fremdschlüssel: Bestellungen gehören Kunden · JOIN: Daten aus zwei Tabellen · Zählen und Summen mit GROUP BY · Verschachtelte Antworten bauen · Boss: das Shop-Dashboard - Kapitel 13Konten und Passwörter – Warum Passwörter nie im Klartext liegen, Hashen mit Salz, Registrieren und Anmelden – sicher und mit den richtigen Statuscodes.
Warum Passwörter nie im Klartext · Hashen mit Salz · Registrieren: ein Konto anlegen · Anmelden: das Passwort prüfen · Boss: Registrierung und Anmeldung - Kapitel 14Angemeldet bleiben: Tokens – Sitzungs-Tokens ausgeben, den Authorization-Header lesen, Routen mit Middleware schützen, abmelden – und ein privates Profil.
Ein Sitzungs-Token ausgeben · Der Authorization-Header · Middleware schützt Routen · Abmelden: Token ungültig machen · Boss: das private Profil - Kapitel 15Rollen und signierte Tokens – 401 oder 403, Besitz prüfen, Tokens mit HMAC signieren, Ablaufzeiten – und ein Admin-Bereich wie mit JWTs.
Rollen: 401 oder 403? · Nur der Besitzer darf ändern · Signierte Tokens mit HMAC · Ablaufzeit im Token · Boss: ein Admin-Bereich mit signierten Tokens - Kapitel 16Angriffe abwehren – Rate-Limits gegen Durchprobieren, Ausgaben gegen XSS entschärfen, Sicherheits-Header, Fehler nicht verraten – und eine gehärtete Anmeldung.
Zu viele Versuche bremsen · HTML-Ausgaben entschärfen (XSS) · Sicherheits-Header setzen · Fehler nicht verraten · Boss: die gehärtete Anmeldung - Kapitel 17Logging und Fehlerbehandlung – Anfragen loggen, Antwortzeiten messen, Fehler in async-Routen weiterreichen, eigene Fehlerklassen – und eine Fehlerbehandlung für die ganze API.
Eine Logging-Middleware · Antwortzeiten messen · Fehler in async-Routen · Eigene Fehlerklassen · Boss: Fehlerbehandlung für die ganze API - Kapitel 18Frontend + Backend: eine Full-Stack-App – Webseite und Server arbeiten zusammen: Daten laden, Listen anzeigen, Formulare senden, Fehler zeigen – zwei Dateien, live verbunden.
Die Seite fragt den eigenen Server · Daten vom Server als Liste zeigen · Ein Formular ans Backend schicken · Wenn der Server Nein sagt: antwort.ok · Boss: eine Full-Stack-Todo-App - Kapitel 19Konfiguration und Betrieb – Umgebungsvariablen, Geheimnisse außerhalb des Codes, ein Config-Objekt, ein Health-Check – und ein Server, der bereit für den Deploy ist.
Umgebungsvariablen lesen · Geheimnisse gehören nicht in den Code · Ein Config-Objekt mit Standardwerten · Ein Health-Check für den Betrieb · Boss: bereit für den Deploy - Kapitel 20API-Tests schreiben – Mit assert prüfen, Tests mit node:test, die eigene API testen, Fehlerfälle abdecken – und eine Testsuite für eine ganze API.
assert: prüfen statt hoffen · Der erste Test mit node:test · Die eigene API testen · Fehlerfälle testen · Boss: eine Testsuite für die Notizen-API - Kapitel 21Projekt: eine Buchungs-API – Datenmodell mit freien Plätzen, Vorstellungen auflisten, buchen mit Transaktion, eigene Buchungen mit Anmeldung – und die fertige API mit Testsuite.
Das Datenmodell mit freien Plätzen · Vorstellungen auflisten · Plätze buchen mit Transaktion · Meine Buchungen – nur für Angemeldete · Boss: die fertige Buchungs-API
Abschlussprojekt: Deine Buchungs-API
Eine REST-API mit SQL-Datenbank, Anmeldung, geschützten Routen, Transaktionen und Tests.
So funktioniert's
Jede Lektion beginnt mit kurzen Erklärseiten. Danach übst du mit Auswahlfragen, Lückentexten, Code ordnen und eigenem Code – mit Hinweisen und sofortigem Feedback. Kostenlos, ohne Werbung, auf Handy, Tablet und PC.