Node.js to obecnie najpopularniejsza platforma do tworzenia backendów w JavaScript — szybka, lekka i doskonale skalowalna. Dzięki architekturze event loop i non-blocking I/O idealnie nadaje się do systemów API, integracji i mikroserwisów.
To szkolenie Node.js, TypeScript, Express.js zostało zaprojektowane tak, aby uczestnik po kolei przechodził od absolutnych podstaw środowiska Node, przez budowę pierwszych endpointów, aż po pełnoprawny backend z bazą PostgreSQL, typowaniem w TypeScript, autoryzacją na JWT i testami — wszystko na realnych przykładach.
Co da Ci to szkolenie?
- poznasz praktyczną architekturę backendu w Node.js
- nauczysz się pisać kod bezpieczny typowo przy użyciu TypeScript
- zbudujesz REST API o profesjonalnej strukturze modułów
- wykorzystasz relacyjną bazę danych i ORM (TypeORM)
- wdrożysz uwierzytelnianie JWT jak w „prawdziwych” systemach
- napiszesz testy jednostkowe i integracyjne w Jest + Supertest
- przygotujesz aplikację do wdrożenia produkcyjnego
Po szkoleniu będziesz potrafił samodzielnie stworzyć kompletny serwis REST jako podstawa do mikroserwisu, backendu mobilnej aplikacji lub integratora API — z pełnym stackiem Node.js + TypeScript + Express + PostgreSQL + JWT gotowym do deploymentu.
1. Wprowadzenie do środowiska Node.js
- Czym jest Node.js — architektura event loop, non-blocking I/O
- Porównanie z innymi środowiskami (np. Java)
- Instalacja Node.js i konfiguracja środowiska (VSCode, Node, npm, nvm)
- Tworzenie pierwszego projektu (npm init, package.json)
- Praca z modułami (require, import/export)
- Uruchamianie projektu z użyciem nodemon w dev
- Podstawy pracy z REST API zasoby, endpointy, metody http
2. Pierwsze REST API w czystym Node.js
- Tworzenie prostego serwera HTTP (bez frameworka)
- Obsługa żądań i odpowiedzi (req,res)
- Parsowanie JSON i query params
3. Wprowadzenie do TypeScript
- Dlaczego TypeScript — korzyści typowania w projektach Node.js i porównanie ze zwykłym JSem
- Instalacja i konfiguracja (tsconfig.json, @types/node)
- Typy podstawowe, interfejsy, typy złożone
- Klasy, dziedziczenie, modyfikatory dostępu
- Typowanie funkcji, promisów, obiektów i tablic
- Kompilacja i uruchamianie kodu TS (ts-node, tsc --watch)
4. Express.js
- Instalacja i konfiguracja Express z TS (express, @types/express)
- Tworzenie struktury projektu (src, controllers, routes, models, middlewares)
- Definiowanie tras i kontrolerów (GET, POST, PUT, DELETE)
- Middleware – logger, error handler, walidacja żądań
- Typowanie obiektów Request, Response, NextFunction
- Obsługa błędów i zwracanie statusów http
- Proste testowe API
5. Połączenie z bazą danych PostgreSQL + TypeORM
- Relacyjne bazy w node
- Konfiguracja połączenia (TypeORM, dotenv, ormconfig)
- Tworzenie encji
- Operacje CRUD z TypeORM (Repository, QueryBuilder)
- Relacje między tabelami (OneToMany, ManyToMany)
6. Autoryzacja i uwierzytelnianie (JWT)
- Wprowadzenie do JWT (JSON Web Tokens)
- Tworzenie endpointów register i login
- Generowanie i weryfikacja tokenów (jsonwebtoken)
- Middleware autoryzacyjny – ochrona routów
- Przechowywanie i przekazywanie tokena w nagłówkach
7. Testowanie aplikacji
- Wprowadzenie do testów jednostkowych i integracyjnych
- Jest + Supertest
8. Deployment do prod
- Build na produkcję (build, tsc)