NestJS bietet eine strukturierte Plattform für serverseitige TypeScript-Anwendungen. Der produktive Nutzen entsteht, wenn Module, Dependency Injection, Request-Lifecycle und Querschnittsfunktionen als zusammenhängendes System verstanden werden.
Der Kurs baut eine REST-Anwendung von der leeren Projektstruktur bis zum getesteten, dokumentierten und konfigurierbaren Dienst auf. Jeder Schritt ergänzt ein Architekturprinzip und enthält Kontrollpunkte für typische Fehlkonfigurationen.
Inhaltsübersicht
- Lernziele
- Projektaufbau und NestJS-Kernkonzepte
- Request-Lifecycle und Querschnittsfunktionen
- REST-Design, DTOs und Validierung
- Konfiguration, Datenzugriff und Fehlerbehandlung
- Tests und produktionsnahe Vorbereitung
- Praxisprojekt: Verwaltungs-API für Aufgaben und Teams
- Prüfpunkte und typische Fehler
Lernziele
- Projektstruktur, Module, Controller, Provider und Dependency Injection sicher anwenden.
- Request-Lifecycle sowie Zusammenspiel von Middleware, Guards, Interceptors, Pipes und Filtern verstehen.
- REST-Ressourcen mit klaren DTOs, Statuscodes, Versionierung und Pagination gestalten.
- Konfiguration und Umgebungswerte typisiert, validiert und testbar bereitstellen.
- Relationalen Datenzugriff sauber kapseln und Fehler in stabile API-Antworten übersetzen.
- Unit-, Integrations- und End-to-End-Tests sowie API-Dokumentation integrieren.
Projektaufbau und NestJS-Kernkonzepte
Die Anwendung wird nach fachlichen Modulen gegliedert. Controller übernehmen Transport, Provider kapseln Anwendungslogik und Adapter verbinden Infrastruktur.
- Projekt erzeugen, Compiler- und Qualitätskonfiguration prüfen und Startskripte vereinheitlichen.
- Root-Modul sowie erste fachliche Module mit klaren Verantwortlichkeiten anlegen.
- Controller mit Routen erstellen und Parameterbindung nachvollziehen.
- Services und weitere Provider registrieren und über Konstruktorinjektion verwenden.
- Provider-Sichtbarkeit über exports und imports gezielt steuern.
- Custom Provider mit Tokens für austauschbare Implementierungen einsetzen.
- Zyklische Abhängigkeiten erkennen und durch bessere Modulgrenzen vermeiden.
Entscheidungskriterien und Hinweise
- Module werden nach Fachlichkeit und nicht nur nach technischen Klassen geschnitten.
- Abhängigkeiten werden sichtbar injiziert und nicht über globale Zustände beschafft.
Request-Lifecycle und Querschnittsfunktionen
Eine HTTP-Anfrage durchläuft mehrere Erweiterungspunkte. Ihre Reihenfolge bestimmt, wo Authentifizierung, Transformation, Messung und Fehlerbehandlung greifen.
- Middleware für protokollnahe Vorverarbeitung und Korrelationsdaten einsetzen.
- Guards für Zugriffsvoraussetzungen und Berechtigungsentscheidungen verwenden.
- Pipes für Validierung und Transformation von Parametern und DTOs konfigurieren.
- Interceptors für Messung, Mapping, Caching und Antwortverarbeitung nutzen.
- Exception Filter für stabile externe Fehlerverträge implementieren.
- Globale und lokale Erweiterungspunkte mit klarer Priorität kombinieren.
- Request-scoped Provider nur bei tatsächlichem Bedarf einsetzen.
Entscheidungskriterien und Hinweise
- Querschnittsfunktionen besitzen eine dokumentierte Reihenfolge.
- Request Scope wird wegen seiner Laufzeitkosten bewusst begrenzt.
REST-Design, DTOs und Validierung
Die API wird ressourcenorientiert gestaltet, ohne fachliche Aktionen künstlich in CRUD zu pressen. Eingabe- und Ausgabeverträge bleiben unabhängig von internen Klassen.
- Ressourcen, Identitäten und zulässige Zustandsübergänge definieren.
- Routen, Methoden, Statuscodes und Fehlercodes konsistent festlegen.
- DTOs für Erstellen, Ändern, Filtern und Ausgeben getrennt modellieren.
- Globale Validierung mit Whitelist und kontrollierter Transformation aktivieren.
- Pagination, Sortierung und Filter mit festen Grenzen umsetzen.
- API-Versionierung und Deprecation-Strategie vorbereiten.
- OpenAPI-Dokumentation erzeugen und gegen reale Antworten prüfen.
Entscheidungskriterien und Hinweise
- DTOs sind API-Verträge und keine wiederverwendeten ORM-Klassen.
- Pagination besitzt stabile Sortierung und harte Seitengrenzen.
Konfiguration, Datenzugriff und Fehlerbehandlung
Konfiguration wird als typisierter Vertrag behandelt. Datenzugriff liegt hinter einer Schnittstelle, damit Controller weder Datenbankdetails noch Umgebungsvariablen kennen.
- Konfigurationswerte zentral laden, validieren und nach Fachmodulen gruppieren.
- Secrets getrennt von normalen Laufzeitwerten behandeln.
- Repository- oder Adapter-Schnittstelle für den Datenzugriff definieren.
- Transaktionsgrenzen an fachlichen Operationen ausrichten.
- Datenbankfehler in stabile Konflikt-, Nichtgefunden- oder Validierungsfehler übersetzen.
- Health-Endpunkte für Prozess, Abhängigkeiten und Betriebsbereitschaft unterscheiden.
Entscheidungskriterien und Hinweise
- Fehlende Konfiguration führt zu einem frühen, verständlichen Startabbruch.
- Controller enthalten keine direkten Datenbankzugriffe.
Tests und produktionsnahe Vorbereitung
Tests prüfen unterschiedliche Risiken auf der passenden Ebene. Kleine Unit-Tests geben schnelles Feedback; End-to-End-Tests sichern den vollständigen HTTP-Vertrag.
- Provider mit Testmodul und kontrollierten Abhängigkeiten isoliert prüfen.
- Controller- und Pipe-Verhalten mit repräsentativen Eingaben testen.
- Integrationstest für Repository und reale Testdatenbank aufbauen.
- Anwendung für End-to-End-Tests starten und vollständige HTTP-Abläufe prüfen.
- Dokumentation, Validierung, Fehlerantworten und Statuscodes in Contract-Tests absichern.
- Strukturierte Logs, Korrelations-ID und kontrolliertes Shutdown-Verhalten ergänzen.
- Build, Linting, Tests und Startprüfung in einer Pipeline zusammenführen.
Entscheidungskriterien und Hinweise
- Tests prüfen Verhalten und nicht unnötig interne Methodenaufrufe.
- Produktionsvorbereitung umfasst Start, Shutdown, Health und Telemetrie.
Praxisprojekt: Verwaltungs-API für Aufgaben und Teams
Eine modulare Verwaltungs-API bildet Teams, Aufgaben und Statuswechsel ab. Neben CRUD-Operationen enthält sie Suche, Pagination, fachliche Aktionen, Datenpersistenz und einen Betriebsstatus.
Die Implementierung wird fortlaufend durch Unit-, Integrations- und End-to-End-Tests abgesichert. Am Ende steht ein reproduzierbarer Build mit API-Dokumentation und validierter Konfiguration.
- Projekt und fachliche Module für Teams und Aufgaben strukturieren.
- Controller, Services und Provider mit klaren Abhängigkeiten implementieren.
- DTOs, globale ValidationPipe, Fehlerfilter und Antwortmapping ergänzen.
- Repository-Adapter und relationale Testdatenbank anbinden.
- Pagination, Filter, Statuswechsel und Konfliktbehandlung umsetzen.
- OpenAPI-Beschreibung erzeugen und mit End-to-End-Tests abgleichen.
- Health-Endpunkt, strukturierte Logs und kontrolliertes Shutdown-Verhalten einrichten.
- Gesamten Prüfpfad aus Build, Linting, Tests und Startprüfung ausführen.
Prüfpunkte und typische Fehler
- Module werden fachlich geschnitten und nicht nur nach Controller, Service und Entity getrennt.
- Controller enthalten keine Datenbankzugriffe oder umfangreiche Fachlogik.
- DTOs bleiben eigenständige API-Verträge.
- Globale Querschnittsfunktionen besitzen eine bewusst dokumentierte Reihenfolge.
- Konfiguration scheitert früh und verständlich bei ungültigen Werten.
- End-to-End-Tests prüfen reale HTTP-Antworten, Statuscodes und Fehlerverträge.
Fachbereichsleitung und Trainerteam
-

Lucas Beich
Telefon: + 49 (221) 74740055
E-Mail: lucas.beich@seminar-experts.de -

Paul Goldschmidt
Telefon: + 49 (221) 74740055
E-Mail: paul.goldschmidt@seminar-experts.de
Seminardetails
| Dauer: | 3 Tage ca. 6 h/Tag, Beginn 1. Tag: 10:00 Uhr, weitere Tage 09:00 Uhr |
| Preis: |
Öffentlich oder Live Stream: € 1.797 zzgl. MwSt. Inhaus: € 5.100 zzgl. MwSt. |
| Teilnehmeranzahl: | min. 2 - max. 8 |
| Teilnehmer: | JavaScript- und TypeScript-Entwickler, Full-Stack-Entwickler, Backend-Einsteiger und Projektteams mit geplantem NestJS-Einsatz |
| Voraussetzungen: | Gute JavaScript-Grundkenntnisse, erste TypeScript-Praxis, Verständnis von HTTP und REST sowie sicherer Umgang mit npm und einer Entwicklungsumgebung |
| Standorte: | Stream Live, Inhaus/Firmenseminar, Berlin, Bremen, Darmstadt, Dresden, Erfurt, Essen, Flensburg, Frankfurt, Freiburg, Friedrichshafen, Hamburg, Hamm, Hannover, Jena, Kassel, Köln, Konstanz, Leipzig, Luxemburg, Magdeburg, Mainz, München, Münster, Nürnberg, Paderborn, Potsdam, Regensburg, Rostock, Stuttgart, Trier, Ulm, Wuppertal, Würzburg |
| Methoden: | Fachvortrag, Live-Coding, Demonstrationen, praktische Übungen und strukturierte Auswertung am System |
| Seminararten: | Öffentlich, Webinar, Inhouse, Workshop - Alle Seminare mit Trainer vor Ort, Webinar nur wenn ausdrücklich gewünscht |
| Durchführungsgarantie: | ja, ab 2 Teilnehmern |
| Sprache: | Deutsch - bei Firmenseminaren ist auch Englisch möglich |
| Seminarunterlage: | Dokumentation auf Datenträger oder als Download |
| Teilnahmezertifikat: | ja, selbstverständlich |
| Verpflegung: | Kalt- / Warmgetränke, Mittagessen (wahlweise vegetarisch) |
| Support: | 3 Anrufe im Seminarpreis enthalten |
| Barrierefreier Zugang: | an den meisten Standorten verfügbar |
| Weitere Informationen unter + 49 (221) 74740055 |
Seminartermine
Die Ergebnissliste kann durch Anklicken der Überschrift neu sortiert werden.
