NestJS - Intensiv-Schulung für Einsteiger
Institut: HECKER CONSULTINGBereich: Technik, EDV, Telekommunikation
Kursbeschreibung
Erstellen Sie mit NestJS, TypeORM und Typescript unglaublich schnell voll funktionsfähige Backend-APIs. Inklusive Tests und Bereitstellung!
NestJS ist ein modernes Backend-Framework, das für die Erstellung skalierbarer und zuverlässiger APIs verwendet wird.
NestJS ist ein sogenanntes "Battery-Included"-Framework, d.h. es enthält Tools für nahezu jeden möglichen Anwendungsfall, von der Datenpersistenz über die Validierung bis hin zum Konfigurationsmanagement, zum Testen und vielem mehr.
Sie werden eine Reihe von Anwendungen mit wachsender Komplexität erstellen und verwenden dabei so wenige Bibliotheken und Tools wie möglich. Stattdessen werden Sie viele eigene Systeme schreiben, um besser zu verstehen, wie jedes Teil von NestJS zusammenarbeitet.
Jede Anwendung, die Sie erstellen, beinhaltet eine Datenmodellierung und Persistenz. Sie werden zunächst Datensätze in einem einfachen dateibasierten Datenspeicher (der von Grund auf neu erstellt wird) speichern und anschließend die Speicherung von Daten in einer produktionsfähigen PostgresSQL-Instanz vornehmen.
Testen ist ein grundlegendes Thema in NestJS. Ein großer Teil der Funktionen in NestJS ist darauf ausgerichtet, dass Ihr Projekt einfach zu testen ist. Sie werden sowohl Integrations- als auch Unit-Tests schreiben, um sicherzustellen, dass Ihr Projekt wie erwartet funktioniert.
Die Grundlagen von NestJS- NestJS - Projekt einrichten
- TypeScript-Konfiguration
- Erstellen eines Controllers
- Starten einer NestJS-Anwendung
- Datei-Namenskonventionen
- Routing-Dekoratoren
- App-Einrichtung
- Verwendung der NestJS CLI zum Erzeugen von Dateien
- Mehr zur Dateierzeugung
- Hinzufügen von Routing-Logik
- Zugriff auf Request-Daten mit Decorators
- Pipes für die Validierung verwenden
- Hinzufügen von Validierungsregeln
- Hinter den Kulissen der Validierung
- Wie Typinformationen aufbewahrt werden
- Dienste und Repositories
- Implementierung eines Repositorys
- Lesen und Schreiben in eine Speicherdatei
- Implementieren eines Dienstes
- Manuelles Testen des Controllers
- Meldung von Fehlern mit Ausnahmen
- Verstehen der Inversion der Kontrolle
- Einführung in die Dependency Injection
- Refactoring zur Verwendung von Dependency Injection
- Einige weitere Anmerkungen zu DI
- Projekt-Übersicht
- Erzeugen von Modulen, Controllern und Diensten
- Einrichten von DI zwischen Modulen
- Mehr über DI zwischen Modulen
- Verbrauchen mehrerer Module
- Module Nachbereitung
- Einrichten einer Datenbankverbindung
- Erstellen einer Entität und eines Repositorys
- Anzeigen des Inhalts einer DB
- Verstehen von TypeORM-Dekoratoren
- Eine kurze Anmerkung zu Repositories
- Ein paar zusätzliche Routes
- Body-Validierung einrichten
- Manuelles Testen von Routen
- Abfrage von Daten
- Daten aktualisieren
- Entfernen von Datensätzen
- Suchen und Filtern von Datensätzen
- Entfernen von Datensätzen
- Datensätze aktualisieren
- Ausschluss von Response-Eigenschaften
- Serialisierung-Lösung
- Serialisierung im Interceptor
- Anpassen des DTO des Interceptor
- Einhüllen des Interceptors in einen Decorator
- Controller-weite Serialisierung
- Überblick über die Authentifizierung
- Implementierung der Signup-Funktionalität
- Handhabung der Benutzeranmeldung
- Einrichten von Sitzungen
- Ändern und Abrufen von Sitzungsdaten
- Kommunikation vom Interceptor zum Decorator
- Verbinden eines Interceptors mit Dependency Injection
- Global skalierte Interceptoren
- Zugriffsverhinderung mit Authentication Guards
- Überblick über das Testen
- Testen einrichten
- TypeScript als Hilfe bei Mocks
- Verbessern des Datei-Layouts
- Ändern von Mock-Implementierungen
- Refactoring zur Verwendung intelligenter Mocks
- Unit-Test eines Controllers
- Weitere Mock-Implementierungen
- Erste Schritte mit End-to-End-Tests
- Erstellen eines End-to-End-Tests
- App-Setup-Probleme in Spezifikationsdateien
- Anwenden einer global skalierten Pipe
- Anwenden einer global skalierten Middleware
- Behebung von Fehlern bei wiederholten Testläufen
- Erstellen separater Test- und Entwicklungsdatenbanken
- Dotenv verstehen
- Anwenden von Dotenv für die Konfiguration
- Angeben der Laufzeitumgebung
- Einen SQLite-Fehler beheben
- Assoziationen erstellen
- Arten von Assoziationen
- Die Dekoratoren ManyToOne und OneToMany
- Einrichten der Assoziation
- Transformieren von Eigenschaften mit einem DTO
- Erstellen eines Query Builders
- Schreiben einer Abfrage zur Erstellung des Kostenvoranschlags
- Testen der Logik der Schätzung
- Der Weg zur Produktion
- Verstehen des Synchronisierungsflags
- Die Gefahren von Synchronize
- Die Theorie hinter Migrationen
- TypeORM und NestJS Config
- Env-spezifische Datenbankkonfiguration
- Installieren der TypeORM CLI
- Generieren und Ausführen von Migrationen
- Erforderliches Migrationsupdate für die Produktion
- Ausführen von Migrationen während E2E-Tests
- DB-Konfiguration für die Produktion
- Bereitstellen der App
- Strukturieren Sie Ihren Code mit Typescript.
- Erhöhen Sie die Wiederverwendbarkeit und Testbarkeit Ihres Codes mit Dependency Injection.
- Verschaffen Sie sich ein Verständnis für NestJS hinter den Kulissen.
- Verwenden Sie Decorators, um Ihren Code drastisch zu vereinfachen.
- Verstehen Sie den speziellen Anfrage-Antwort-Zyklus von NestJS.
- Validieren Sie Daten, die in eingehenden Anfragen enthalten sind.
- Modellieren Sie die Daten Ihrer Anwendung mit TypeORM-Entitäten.
- Binden Sie verschiedene Datentypen mit TypeORM-Beziehungen zusammen.
- Erstellen Sie Authentifizierungs- und Berechtigungssysteme von Grund auf.
- Verwenden Sie Guards, um zu verhindern, dass nicht autorisierte Benutzer Zugriff auf sensible Daten erhalten.
- Verwenden Sie einen API-Client, um Ihre Anwendung manuell zu testen.
- Schreiben Sie Integrations- und Unit-Tests, um sicherzustellen, dass Ihr Code funktioniert.
- Stellen Sie eine vollständige Anwendung für die Produktion bereit.
Erstellen Sie mit NestJS, TypeORM und Typescript unglaublich schnell voll funktionsfähige Backend-APIs. Inklusive Tests und Bereitstellung!
NestJS ist ein modernes Backend-Framework, das für die Erstellung skalierbarer und zuverlässiger APIs verwendet wird.
NestJS ist ein sogenanntes "Battery-Included"-Framework, d.h. es enthält Tools für nahezu jeden möglichen Anwendungsfall, von der Datenpersistenz über die Validierung bis hin zum Konfigurationsmanagement, zum Testen und vielem mehr.
Sie werden eine Reihe von Anwendungen mit wachsender Komplexität erstellen und verwenden dabei so wenige Bibliotheken und Tools wie möglich. Stattdessen werden Sie viele eigene Systeme schreiben, um besser zu verstehen, wie jedes Teil von NestJS zusammenarbeitet.
Jede Anwendung, die Sie erstellen, beinhaltet eine Datenmodellierung und Persistenz. Sie werden zunächst Datensätze in einem einfachen dateibasierten Datenspeicher (der von Grund auf neu erstellt wird) speichern und anschließend die Speicherung von Daten in einer produktionsfähigen PostgresSQL-Instanz vornehmen.
Testen ist ein grundlegendes Thema in NestJS. Ein großer Teil der Funktionen in NestJS ist darauf ausgerichtet, dass Ihr Projekt einfach zu testen ist. Sie werden sowohl Integrations- als auch Unit-Tests schreiben, um sicherzustellen, dass Ihr Projekt wie erwartet funktioniert.
Die Grundlagen von NestJS- NestJS - Projekt einrichten
- TypeScript-Konfiguration
- Erstellen eines Controllers
- Starten einer NestJS-Anwendung
- Datei-Namenskonventionen
- Routing-Dekoratoren
- App-Einrichtung
- Verwendung der NestJS CLI zum Erzeugen von Dateien
- Mehr zur Dateierzeugung
- Hinzufügen von Routing-Logik
- Zugriff auf Request-Daten mit Decorators
- Pipes für die Validierung verwenden
- Hinzufügen …