Poziom
Średniozaawansowany
Szkolenie Wprowadzenie do Node.js i NestJS z TypeScript
Szkolenie dla programistów JavaScript i TypeScript, którzy chcą tworzyć aplikacje backendowe z użyciem Node.js, NestJS i TypeScript. Program obejmuje architekturę NestJS, moduły, kontrolery, providery, dependency injection, REST API, walidację, uwierzytelnianie, integrację z bazami SQL, migracje, testowanie, mikroserwisy, deployment, Docker oraz podstawy zabezpieczania i monitorowania aplikacji.
Uczestnicy uczą się budować modularne aplikacje backendowe, porządkować logikę biznesową, projektować API, integrować aplikację z bazą danych i przygotowywać projekt do dalszego rozwoju w środowisku zespołowym. Zakres szkolenia obejmuje solidne podstawy pracy z Node.js i NestJS, bez obiecywania pełnej architektury produkcyjnej poza zakresem 3 dni.
Czego nauczysz się na szkoleniu?
-
Skonfigurujesz projekt backendowy w Node.js, NestJS i TypeScript z użyciem Nest CLI oraz podstawowej struktury modułów
-
Zbudujesz REST API z kontrolerami, serwisami, routingiem, walidacją danych, obsługą błędów i dokumentacją Swagger/OpenAPI
-
Zastosujesz dependency injection, providery, middleware, pipes, guards, interceptory, filtry wyjątków i niestandardowe dekoratory
-
Połączysz aplikację z bazą danych SQL z użyciem TypeORM oraz przygotujesz modele, encje, DTO i migracje
-
Przygotujesz testy jednostkowe i integracyjne oraz wykorzystasz logi i debugowanie do diagnozowania problemów aplikacji
-
Opiszesz podstawowe scenariusze deploymentu, konteneryzacji, zabezpieczania API, konfiguracji środowiskowej i pracy z mikroserwisami
Program szkolenia
Dzień 1
1. Wprowadzenie do NestJS
- Podstawy NestJS
- Charakterystyka NestJS, architektura frameworka i typowe zastosowania backendowe.
- Architektura frameworka NestJS: modularność i warstwowa budowa aplikacji.
- Instalacja i konfiguracja projektu za pomocą Nest CLI.
- Dependency Injection: podstawy, zakres odpowiedzialności i zastosowania.
- Zarządzanie modułami i struktura aplikacji.
2. Kluczowe komponenty NestJS
- Moduły: organizacja kodu w aplikacji.
- Providery: serwisy, rejestracja zależności i współdzielenie logiki.
- Kontrolery: definicje tras i obsługa żądań HTTP.
- Serwisy: logika biznesowa i dostęp do danych.
- Middleware: przetwarzanie żądań przed kontrolerami.
- Pipes: transformacja i walidacja danych.
- Guards: zabezpieczenia i kontrola dostępu.
- Interceptory: modyfikacja żądań, odpowiedzi i przepływu wykonania.
- Exception Filters: obsługa wyjątków i spójny format błędów.
3. REST API w NestJS
- Trasy, routing i struktura endpointów REST.
- Walidacja danych przy użyciu klas i dekoratorów.
- Autoryzacja i uwierzytelnianie za pomocą JWT i OAuth.
- Upload plików, przetwarzanie danych wejściowych i ograniczenia bezpieczeństwa.
- Dokumentacja Swagger/OpenAPI i kontrakty komunikacji API.
Dzień 2
4. Bazy danych w NestJS
- Integracja z bazami danych SQL: TypeORM, SQLite, MySQL, PostgreSQL.
- Instalacja i konfiguracja TypeORM.
- Schematy, modele, encje i relacje bazy danych.
- Połączenie z bazą danych w serwisach aplikacyjnych.
- Migracje struktury bazy danych i kontrola zmian schematu.
5. Zaawansowane techniki pracy w NestJS
- Potoki (pipes), transformacja danych i walidacja requestów.
- Niestandardowe dekoratory i rozszerzanie metadanych aplikacji.
- Obsługa błędów, personalizacja wyjątków i jednolity format odpowiedzi.
- Modele logiki biznesowej: modele, encje i DTO.
- Różnice pomiędzy Command, Query i Event.
- CQRS: komendy, zapytania i obsługa zdarzeń.
6. Mikroserwisy w NestJS
- Tryb mikroserwisowy NestJS i konteksty uruchomieniowe aplikacji.
- Komunikacja pomiędzy mikroserwisami: RabbitMQ, Kafka i wzorce wymiany komunikatów.
- Zależności w środowisku rozproszonym.
Dzień 3
7. Testowanie i debugowanie aplikacji
- Testy jednostkowe z wykorzystaniem frameworka Jest.
- Testy integracyjne aplikacji NestJS.
- Diagnostyka aplikacji, analiza logów i podstawy monitorowania działania.
8. Deployment i optymalizacja aplikacji
- Aplikacja gotowa do wdrożenia.
- Konfiguracja środowiska produkcyjnego i zmiennych środowiskowych.
- Deployment aplikacji za pomocą Docker.
- Zabezpieczenia aplikacji: ochrona danych, ochrona API i podstawowe ryzyka konfiguracji.
9. Podsumowanie i praktyczne ćwiczenia
- Kluczowe koncepcje szkolenia.
- Warsztat: kompletna aplikacja w Node.js i NestJS.
- Sesja pytań i odpowiedzi.