Schulung · Workshop · Coaching · Beratung

NestJS Schulung für Einsteiger: REST-APIs mit TypeORM

NestJS Intensiv-Schulung für Einsteiger: Backend-APIs mit Struktur

Dauer: ab 1 Tag | Preis: ab 900 EUR (Netto) | Termin: Ganztägig + halbtägig

Nach der Schulung bauen Sie mit NestJS, TypeScript und TypeORM eine REST-API, die validiert, authentifiziert, getestet und mit Migrationen in Produktion gebracht wird.

Warum setzen so viele Node.js-Teams für größere Backends auf NestJS?

NestJS gibt Node.js-Backends eine feste Architektur: Module schneiden die Fachlichkeit, Controller nehmen Anfragen an, Provider enthalten die Logik, und ein Dependency-Injection-Container verbindet alles. Validierung, Konfiguration, Datenbankzugriff, Authentifizierung und Tests sind keine Bastelarbeit, sondern folgen bewährten Mustern. Das macht Projekte lesbar, auch wenn mehrere Teams daran arbeiten oder das Projekt Jahre alt ist.

Die Intensiv-Schulung für Einsteiger baut Schritt für Schritt eine vollständige Anwendung auf. Sie beginnen mit Controllern, Routing und der NestJS CLI, speichern Daten zunächst in einer selbst geschriebenen Datei-Ablage und wechseln dann zu TypeORM mit SQLite und PostgreSQL. Dabei sehen Sie hinter die Kulissen: wie ValidationPipe und class-validator eingehende Daten prüfen, wie Decorator-Metadaten zur Laufzeit erhalten bleiben und wie Interceptors Antworten serialisieren. Es folgen Registrierung und Anmeldung mit Sitzungen und JWT, Guards für Rollen, Unit-Tests mit Jest, End-to-End-Tests mit Supertest, Konfiguration mit @nestjs/config sowie Migrationen und die Bereitstellung als Container.

Gerade die strengen Konventionen von NestJS helfen, wenn ein Coding-Agent Code beisteuert: Ein Endpunkt besteht immer aus DTO, Controller-Methode, Service und Test, und genau diese Vollständigkeit lässt sich vom Agenten einfordern und automatisch prüfen. Wir arbeiten dafür mit Claude Code an der Kommandozeile, lassen neue Ressourcen über die Schematics der CLI anlegen und prüfen im Review besonders Guards, ausgeschlossene Felder und generierte Migrationen.

Vorkenntnisse in JavaScript sind nötig, TypeScript-Grundlagen hilfreich. Für Teams mit einer bestehenden Express-Anwendung planen wir auf Wunsch einen Block zur schrittweisen Umstellung ein. Nach jedem Block programmieren Sie selbst; im Praxisprojekt entsteht eine API zur Preisschätzung von Gebrauchtwagen.

Die meisten Probleme in NestJS-Projekten, die ich begleite, liegen nicht im Framework, sondern an seinen Rändern: synchronize: true läuft noch in Produktion, Passwort-Hashes landen in der JSON-Antwort, weil niemand serialisiert, und eine neue Route ist ohne Guard erreichbar. NestJS bietet für all das saubere Mittel – Migrationen, Interceptors, global registrierte Guards. Wer sie von Anfang an konsequent nutzt, spart sich die teuren Überraschungen nach dem ersten Release.
Themen und Inhalte für Ihre Beratung, Coaching, Workshop, Training, Schulung und Weiterbildung:

NestJS Intensiv-Schulung für Einsteiger: Backend-APIs mit Struktur

Die Grundlagen von NestJS
  • Architektur: Module, Controller, Provider und Lebenszyklus einer Anfrage
  • Projekt einrichten mit der NestJS CLI und nest new
  • TypeScript-Konfiguration: experimentalDecorators und emitDecoratorMetadata
  • Einen Controller von Hand erstellen
  • Anwendung starten mit NestFactory.create() und nest start --watch
  • Namenskonventionen für Dateien und Klassen
  • Routing-Dekoratoren: @Get(), @Post(), @Patch(), @Delete()
  • Plattform-Adapter: Express als Standard, Fastify als Alternative
  • Schnellere Builds mit dem SWC-Compiler (nest start -b swc)
Projekte mit der NestJS CLI generieren
  • App-Struktur nach nest new: main.ts, app.module.ts und Testordner
  • Dateien erzeugen mit nest generate module, controller und service
  • CRUD-Gerüste mit nest g resource, Optionen --dry-run und --no-spec
  • Routing-Logik ergänzen: Routen-Präfixe, Pfad- und Query-Parameter
  • Globales Präfix und API-Versionierung mit enableVersioning()
  • OpenAPI-Dokumentation und Swagger UI mit @nestjs/swagger erzeugen
Request-Daten mit Pipes validieren
  • Zugriff auf Request-Daten mit @Body(), @Param() und @Query()
  • ValidationPipe global einrichten: whitelist, forbidNonWhitelisted und transform
  • Validierungsregeln in DTOs mit class-validator
  • Hinter den Kulissen: class-transformer macht aus JSON eine DTO-Instanz
  • Wie Typinformationen zur Laufzeit erhalten bleiben: reflect-metadata
  • Eingebaute Pipes: ParseIntPipe, ParseUUIDPipe und DefaultValuePipe
  • Eigene Pipes, Schema-Validierung mit Zod als Alternative
Dienste, Dependency Injection und Module
  • Aufgabenteilung zwischen Controller, Service und Repository
  • Ein Repository implementieren, das in eine JSON-Datei liest und schreibt
  • Einen Service implementieren und im Controller verwenden
  • Controller manuell testen mit einem API-Client oder .http-Dateien
  • Fehler melden mit Ausnahmen wie NotFoundException
  • Inversion of Control verstehen
  • Dependency Injection: Provider, Injection-Token und IoC-Container
  • Refactoring auf Konstruktor-Injektion mit @Injectable()
  • Weitere DI-Details: Scopes, useValue, useFactory und useClass
  • Eigene Exception-Filter für einheitliche Fehlerantworten
  • Projektübersicht: Fachmodule für Benutzer und Berichte schneiden
  • Module, Controller und Services gemeinsam erzeugen und registrieren
  • DI zwischen Modulen einrichten: exports und imports
  • Mehr zu DI zwischen Modulen: globale Module und forwardRef()
  • Mehrere Module verwenden, Abhängigkeiten schlank halten
  • Dynamische Module mit forRoot() und forRootAsync()
Persistente Daten mit TypeORM
  • Datenbankverbindung mit TypeOrmModule.forRoot() einrichten
  • Entität und Repository anlegen, @InjectRepository()
  • Datenbankinhalt mit einem grafischen DB-Client ansehen
  • TypeORM-Dekoratoren: @Entity(), @Column(), @PrimaryGeneratedColumn()
  • Repository-API: create() und save(), Entity-Hooks
  • Zusätzliche Routen für Lesen, Ändern und Löschen anlegen
  • Body-Validierung mit DTOs für Anlegen und Ändern (PartialType)
  • Routen manuell testen und Antworten prüfen
  • Daten abfragen mit findOneBy() und find()
  • Datensätze aktualisieren: laden, Felder zuweisen, speichern
  • Datensätze entfernen: remove() gegenüber delete()
  • Suchen, Filtern und Paginierung mit where, skip und take
  • Transaktionen mit DataSource.transaction() und dem QueryRunner
  • Alternativen zu TypeORM: Prisma, Drizzle ORM, MikroORM
Datenserialisierung mit Interceptors
  • Antwortfelder wie den Passwort-Hash mit @Exclude() ausschließen
  • Lösungswege: ClassSerializerInterceptor oder eigene Antwort-DTOs
  • Serialisierung in einem eigenen Interceptor mit dem RxJS-Operator map()
  • Das Antwort-DTO des Interceptors konfigurierbar machen
  • Den Interceptor in einen eigenen Decorator @Serialize() einhüllen
  • Serialisierung für einen ganzen Controller anwenden
  • Interceptors für Logging, Zeitmessung und Caching
Authentifizierung und Autorisierung
  • Überblick: Registrierung, Anmeldung, Sitzung und Token im Vergleich
  • Registrierung: Passwort-Hashing mit Salt über scrypt
  • Benutzeranmeldung ohne Hinweis auf vorhandene Konten
  • Cookie-Sitzungen einrichten und mit httpOnly und sameSite absichern
  • Sitzungsdaten ändern und abrufen, Abmelden
  • Vom Interceptor zum Decorator: @CurrentUser() mit createParamDecorator()
  • Interceptor mit DI verbinden, um den angemeldeten Benutzer zu laden
  • Global wirksame Interceptors über APP_INTERCEPTOR registrieren
  • Zugriff verhindern mit Authentication Guards und CanActivate
  • Token-basierte Anmeldung mit @nestjs/jwt und Passport-Strategien
  • Rollen und Berechtigungen: eigener Decorator, Reflector und Rollen-Guard
  • Helmet, CORS und Rate Limiting mit @nestjs/throttler
Unit-Tests mit Jest
  • Teststrategie: Unit-, Integrations- und End-to-End-Tests in NestJS
  • Test-Setup mit Test.createTestingModule()
  • TypeScript als Hilfe bei Mocks: typisierte Fakes
  • Testdateien sinnvoll ablegen und das Datei-Layout verbessern
  • Mock-Implementierungen je Testfall ändern
  • Intelligente Mocks mit In-Memory-Zustand
  • Unit-Test eines Controllers
  • Provider ersetzen mit overrideProvider() und jest.fn()
  • Testabdeckung messen und Tests in die CI-Pipeline einbinden
Integrations- und End-to-End-Tests
  • Erste Schritte mit End-to-End-Tests: Supertest und INestApplication
  • Einen End-to-End-Test für Registrierung und Anmeldung schreiben
  • Setup-Probleme in Spec-Dateien: Setup aus main.ts ins AppModule
  • Eine global wirksame Pipe über APP_PIPE anwenden
  • Global wirksame Middleware mit configure() und MiddlewareConsumer anwenden
  • Wiederholte Testläufe: Testdatenbank vor jedem Lauf zurücksetzen
  • Getrennte Datenbanken für Tests und Entwicklung
  • Integrationstests gegen ein echtes PostgreSQL mit Testcontainers
App-Konfiguration verwalten
  • Umgebungsvariablen und .env-Dateien verstehen
  • ConfigModule und ConfigService aus @nestjs/config anwenden
  • Laufzeitumgebung über NODE_ENV angeben
  • Konfiguration beim Start gegen ein Schema validieren (Joi oder Zod)
  • Typisierte Konfiguration mit registerAs() und Namensräumen
Beziehungen und Query Builder mit TypeORM
  • Assoziationen erstellen: Benutzer und Fahrzeugberichte verknüpfen
  • Arten von Beziehungen: 1:1, 1:n und n:m
  • Die Dekoratoren @ManyToOne() und @OneToMany()
  • Die Beziehung einrichten und beim Speichern setzen
  • Eigenschaften im DTO transformieren mit @Transform()
  • Relationen laden: relations, Eager Loading und das N+1-Problem
  • Einen Query Builder mit createQueryBuilder() erstellen
  • Abfrage für die Preisschätzung mit Filter, Sortierung und Mittelwert
  • Die Logik der Schätzung testen
Bereitstellung für die Produktion
  • Der Weg zur Produktion: Build, Konfiguration, Datenbank und Betrieb
  • Das synchronize-Flag verstehen
  • Die Gefahren von synchronize in Produktion
  • Theorie der Migrationen: up() und down()
  • TypeORM-Optionen aus @nestjs/config über forRootAsync()
  • Datenbank je Umgebung: SQLite lokal, PostgreSQL in Produktion
  • TypeORM-CLI mit einer eigenen DataSource-Datei einrichten
  • Migrationen generieren und ausführen, auch kompiliert im Build
  • Migrationen vor End-to-End-Tests automatisch ausführen
  • DB-Konfiguration für die Produktion: Verbindungs-URL und SSL
  • Die App bereitstellen: Docker-Image mit Multi-Stage-Build
  • Health Checks mit @nestjs/terminus, Graceful Shutdown
  • Zeitgesteuerte Aufgaben mit @nestjs/schedule
NestJS-Projekte mit Coding-Agenten
  • Neue Ressourcen über nest g resource anlegen lassen, damit der Agent die Projektstruktur übernimmt
  • Vollständigkeitsregel für NestJS-Endpunkte: DTO mit class-validator, Service, Guard und E2E-Test
  • Geänderte Entitäten nur per migration:generate umsetzen; Migration vor migration:run lesen
  • Im Review gezielt suchen: Routen ohne Guard, fehlendes @Exclude(), synchronize: true
  • Jest- und Supertest-Läufe als Feedbackschleife nach jeder Änderung an einem Modul
Praxisprojekt: API zur Preisschätzung für Gebrauchtwagen
  • Benutzerkonten mit Registrierung, Sitzung und Admin-Rolle zur Freigabe von Verkaufsberichten
  • Verkaufsberichte erfassen und per Query Builder einen Marktpreis schätzen
  • Unit- und End-to-End-Tests, Migrationen für PostgreSQL und OpenAPI-Dokumentation
  • Auslieferung als Docker-Container mit Health-Check-Endpunkt
Lernziele
  • Sie gliedern ein NestJS-Backend in Module mit Controllern und Providern und verbinden sie über Dependency Injection
  • Sie validieren eingehende Daten mit DTOs, class-validator und der ValidationPipe
  • Sie modellieren Entitäten und Beziehungen mit TypeORM und schreiben Abfragen mit dem Query Builder
  • Sie bauen Registrierung, Anmeldung und rollenbasierten Zugriff mit Sitzungen, JWT und Guards
  • Sie verhindern mit Interceptors und @Exclude(), dass sensible Felder in API-Antworten gelangen
  • Sie schreiben Unit-Tests mit Jest und End-to-End-Tests mit Supertest gegen eine eigene Testdatenbank
  • Sie bringen die Anwendung mit Migrationen, umgebungsspezifischer Konfiguration und Docker in Produktion
Zielgruppe
  • JavaScript- und TypeScript-Entwickler:innen, die strukturierte Backends mit Node.js bauen wollen
  • Teams, die eine gewachsene Express-Anwendung auf eine wartbare Architektur umstellen möchten
  • Angular-Entwickler:innen, die Module, Decorators und Dependency Injection auch im Backend nutzen wollen

*) Die Inhalte werden individuell abgestimmt und mit Praxisbeispielen abgerundet.

Ein Symbol für einen Kalender.

Offene Termine

Kostenlose Reservierung
Ein Symbol für Angebot erhalten.

Unser Angebot

Sind Sie auf der Suche nach einer Veranstaltung, die genau Ihrem Bedarf entspricht? Einer Veranstaltung, welche nur Inhalte vermittelt, die Sie selbst gewählt haben und speziell auf Ihr Unternehmen zugeschnitten ist? Dann sind Sie bei uns richtig!

Dauer

Ein Symbol für Dauer.
ab 1 Tag (8 UE)

Die Dauer richtet sich nach Ihren Vorstellungen und inhaltlichen Wünschen. Sie bekommen genau das, was Sie brauchen.

Preis

Ein Symbol für Preis.
ab 900 EUR (Nettopreis)
ab 1.071 EUR (Bruttopreis)

Die Preise verstehen sich bei Unternehmern gemäß § 14 BGB zzgl. MwSt. Der dargestellte Ab-Preis gilt für firmeninterne Veranstaltungen und entspricht dem niedrigsten Gesamtpreis für Veranstaltungen mit bis zu drei (3) Teilnehmenden.

Termin

Ein Symbol für einen Kalender.
Ganztägig + halbtägig
nach Vereinbarung

Ihr Wunschtermin wird bei der Planung berücksichtigt. Die Veranstaltung findet ganztägig + halbtägig zu flexiblen Zeiten statt.

Ihre Vorteile

Ein Symbol für ein Vorgespräch durchführen.
Persönliches Vorgespräch
Ein Symbol für die individuelle Vorbereitung.
Individuelle Vorbereitung
Ein Symbol für Experten aus der Praxis.
Experten aus der Praxis
Ein Symbol für ein Zertifikat.
Inklusive Zertifikat

Unsere Garantien

1. Relevanz-Garantie

Wir passen den Inhalt spezifisch an die Bedürfnisse jedes Teilnehmers an. Irrelevante Themen werden ausgespart, um den größtmöglichen Nutzen zu garantieren.

2. Qualitäts-Garantie

Durch regelmäßiges Feedback optimieren wir unsere Schulungen kontinuierlich und garantieren Ihnen ein Lernerlebnis der Extraklasse.

3. Zufriedenheits-Garantie

Unsere Zufriedenheitsgarantie spricht für sich – bei Unzufriedenheit entstehen Ihnen keine Kosten.

Wir helfen gerne weiter!

Rufen Sie uns an, schreiben eine E-Mail oder nutzen das Kontaktformular.

Jetzt anfragen
Einige Unternehmen, für die wir tätig waren

digital-dialog GmbH Langenfeld

Zentrum für Geoinformationswesen der Bundeswehr

Bundesministerium für Arbeit und Soziales

Teilnehmer

Feedback

Herr Hecker ist sehr gut auf individuelle Wünsche, Fragen und Anregungen eingegangen. Eine sehr informative, interessante und gelungene Veranstaltung.
Teilnehmer

Feedback

Herr Hecker hat das Thema sehr anschaulich dargestellt und ist auf alle Fragen eingegangen. Ich fühle mich jetzt gut vorbereitet, um durchzustarten.
Teilnehmer

Feedback

Die gelassene, professionelle Art hat mir gut gefallen. Kompetent, engagiert, professionell. Gute Beispiele, sympathisches Auftreten. Eigene Themenideen wurden aufgegriffen.
Unser Angebot für Ihre firmeninterne Beratung, Coaching, Workshop, Training und Weiterbildung

Lösungen für Ihren Bedarf an Coaching, Workshop, Training, Schulung und Weiterbildung

Profitieren Sie von unserer langjährigen Expertise in der beruflichen Weiterbildung, modernen Lernmethoden und einem Portfolio von über 600 IT-, Online- und Digital-Beratungsleistungen.
Selbstverständlich lassen sich die einzelnen Themen kombinieren. So erhalten Sie genau die Weiterbildung, die Sie wünschen und brauchen - als Coaching, Workshop, Training, Schulung und Weiterbildung!

✓
Ein Symbol für eine einzelne Person.

Für eine Person

Training & Coaching für Einzelpersonen

  • Passgenaue Inhalte auf den einzelnen Teilnehmer zugeschnitten
  • Ein sehr effektives Format, das schnell Ergebnisse bringt
  • Individuelles Training und Coaching motivieren und wirken
Jetzt anfragen
✓
Ein Symbol für eine Gruppe von Personen.

Für eine Gruppe

Training & Workshops für Teams und Abteilungen

  • Bedarfsgerechte Inhalte auf die Herausforderung der Praxis zugeschnitten
  • Konsequente Praxisorientierung, modernste Techniken und Tools
  • Neue Fähigkeiten und Kenntnisse nachhaltig in den Arbeitsalltag integrieren
Jetzt anfragen
✓
Ein Symbol für ein Unternehmen.

Für eine Firma

Training-Komplett-Lösungen für Ihr Unternehmen‍

  • Ganzheitliche Konzepte für Ihre Mitarbeiterentwicklung
  • Individueller Skill-Katalog zur Erweiterung Ihres internen Weiterbildungsangebots
  • Nachhaltige Personalentwicklung realisieren
Jetzt anfragen

Anfrage für eine unverbindliche + kostenlose Erstberatung zum Thema

NestJS - Beratung, Coaching, Workshop, Training, Schulung und Weiterbildung

Wir freuen uns über Ihre Anfrage und antworten so schnell es geht!

Ich interessiere mich für den Termin:

Termin anfragen

Das Angebot von "HECKER CONSULTING" richtet sich ausschließlich an Unternehmen und Behörden (iSv § 14 BGB). Verbraucher (§ 13 BGB) sind vom Vertragsschluss ausgeschlossen. Mit Absendung der Anfrage bestätigt der Anfragende, dass er nicht als Verbraucher, sondern in gewerblicher Tätigkeit handelt. § 312i Abs. 1 S. 1 Nr. 1-3 und S. 2 BGB (Pflichten im elektronischen Geschäftsverkehr) finden keine Anwendung.

Vielen Dank, Ihre Nachricht wurde empfangen!
Beim Absenden des Formulars ist etwas schiefgelaufen.
Beratung, Coaching, Workshop, Training, Schulung

Ähnliche Leistungen, die Sie interessieren könnten.

Wir erweitern ständig unser Beratungsportfolio. Über 600 IT-, Online-, Digital-Beratungsleistungen haben wir für Sie im Programm. Selbstverständlich lassen sich die einzelnen Themen kombinieren. So erhalten Sie genau die Beratung, die Sie wünschen und brauchen - als Coaching, Workshop, Training, Schulung und Weiterbildung!

Mehr IT-, Online-, Digital-Beratungsleistungen anzeigen >>
Nach oben