Szkolenie Node.js
Poziom
ŚredniozaawansowanyCzas
24h / 3 dniTermin
IndywidualnieCena
IndywidualnieSzkolenie z Node.js
Jak budować nowoczesne aplikacje serwerowe w Node.js i TypeScript? Szkolenie pokazuje praktyczne tworzenie backendu z użyciem Node.js, Express i NestJS — frameworka inspirowanego Angular, który porządkuje architekturę aplikacji serwerowych. Program obejmuje asynchroniczność, TypeScript, REST API, walidację, autoryzację, bazy danych, testy jednostkowe i e2e, zadania cykliczne, WebSocket, mikroserwisy oraz podstawy build, deploy i monitoringu. Uczestnicy uczą się budować aplikacje łatwe w utrzymaniu, testowaniu i dalszym rozwoju.
Dla kogo jest to szkolenie?
Dla programistów ze znajomością JavaScript w zakresie podstawowym lub średnio zaawansowanym, którzy chcą poznać nowoczesne metody budowy aplikacji serwerowych w technologii Node.js i TypeScript
Dla programistów Angular, którzy chcieliby zacząć pisać backend, gdyż architektura NestJS jest mocno nim inspirowana
Dla programistów front-end lub full-stack, którzy chcą tworzyć REST API, integrować aplikacje z bazą danych oraz przygotowywać backend do testowania, wdrażania i monitorowania
Czego nauczysz się na szkoleniu?
- Zbudujesz aplikację serwerową w Node.js z użyciem TypeScript, Express i NestJS.
- Wyjaśnisz model asynchroniczności Node.js, w tym callback, Promise, async/await, Observable oraz nieblokujące operacje wejścia/wyjścia
- Przygotujesz REST API w NestJS z routingiem, walidacją, autoryzacją, obsługą wyjątków i dokumentacją Swagger
- Połączysz aplikację z bazą danych, przygotujesz migracje oraz uporządkujesz strukturę danych testowych
- Napiszesz i uruchomisz testy jednostkowe oraz e2e z mockowaniem serwisów i przygotowaniem danych testowych
- Skonfigurujesz wybrane konteksty uruchomieniowe aplikacji, w tym CLI, zadania CRON, WebSocket, mikroserwisy, build, deploy i monitoring procesów
Program szkolenia Node.js
Dzień 1
Moduł 1: Podstawy Node.js i architektura aplikacji serwerowych
- Wprowadzenie do aplikacji serwerowych w Node.js
- Platforma Node.js i środowisko uruchomieniowe JavaScript
- Jednowątkowa i wielowątkowa architektura aplikacji
- Nieblokujące operacje wejścia/wyjścia
- Moduły CommonJS
- Node Package Manager – npm
Moduł 2: Asynchroniczność w Node.js
- Model asynchroniczności w Node.js
- Callback
- Promise
- async/await
- Observable
- Kontrola przepływu danych asynchronicznych
Moduł 3: TypeScript w aplikacjach Node.js
- TypeScript w aplikacjach Node.js
- ES Modules
- Proces kompilacji TypeScript do JavaScript
- Statyczne typowanie
- Interfejsy
- Dekoratory
- Typy generyczne
Moduł 4: Express i podstawy API
- Express
- Prosty serwer API
- Routing
- Architektura middleware
- Obsługa żądań i odpowiedzi HTTP
Moduł 5: Architektura NestJS
- Architektura NestJS
- Nest CLI
- Nowa aplikacja NestJS
- Komponenty aplikacji NestJS
- Dependency Injection
- Module
- Controller
- Providers
- Service
- Guard
- Middleware
- Custom Decorators
- Pipes
- Interceptors
- Exception Filter
Dzień 2
Moduł 6: REST API w NestJS
- REST API w NestJS
- Routing
- Autoryzacja
- Walidacja
- Upload plików
- Dokumentacja Swagger
- Serwowanie HTML i plików statycznych
- Konfiguracja aplikacji
Moduł 7: Bazy danych
- Integracja aplikacji z bazą danych
- TypeORM
- SQLite/MySQL
- Encje i relacje danych
- Repozytoria i operacje na danych
- Migracje struktury bazy danych
Moduł 8: Testowanie aplikacji
- Testy e2e
- Zapytania: GET, POST, DELETE
- Upload plików w testach
- Testy jednostkowe
- Moduł testowy
- Mockowanie serwisów
- Dane testowe – fixtures
- Pliki i struktura katalogów
- Rekordy testowe w bazie danych
Dzień 3
Moduł 9: Inne konteksty wywołania aplikacji
- Inne konteksty wywołania
- CLI
- Elementy aplikacji uruchamiane z linii poleceń
- Zadania CRON
- Konfiguracja zadań cyklicznych
- Separacja logiki aplikacji od kontekstu uruchomienia
Moduł 10: Komunikacja real-time i mikroserwisy
- WebSocket – komunikacja real-time
- Kanały komunikacji dwukierunkowej
- RPC – mikroserwisy
- Komunikacja między usługami
- Granice odpowiedzialności modułów i usług
Moduł 11: Build, deploy i monitoring aplikacji
- Build aplikacji Node.js
- Deploy aplikacji serwerowej
- Skrypty budujące z shell.js
- Narzędzia do deploymentu
- Monitoring aplikacji
- Zarządzanie procesami z PM2