Senior programista NestJS do enterprise'owych backendów
Wrocław, Polska · Strefa CET · Przyjmuję nowe projekty
NestJS to mój pierwszy wybór na backendy, które potrzebują struktury. Dependency injection, architektura modułowa, guardy, interceptory i porządne testy — wzorce, które sprawiają, że enterprise'owe aplikacje da się utrzymywać na skali. Buduję backendy, które Twój zespół naprawdę zrozumie i rozwinie.
Backendy SaaS multi-tenant
Izolacja tenantów na poziomie bazy lub schematu, konfiguracja per-tenant i integracja billingowa. Moduły NestJS na czyste oddzielenie logiki tenantów od funkcji biznesowych.
API dla regulowanych branż
Logowanie audytowe, szyfrowanie danych at rest, obsługa danych zgodna z GDPR i kontrola dostępu role-based dla fintech, healthtech i platform prawnych, gdzie compliance nie jest opcjonalny.
Złożony RBAC i autoryzacja
Precyzyjne systemy uprawnień z custom guardami, integracją CASL i hierarchicznym dziedziczeniem ról. Daleko poza prosty admin/user — team-based access, ownership zasobów i dynamiczne uprawnienia.
Mikroserwisy z NestJS
Rozproszone backendy na warstwie transportowej NestJS — TCP, Redis, RabbitMQ, gRPC lub Kafka. Współdzielone DTO i walidacja między serwisami z testami kontraktowymi.
Backend do aplikacji mobilnych i webowych
Jedno API obsługujące klientów mobilnych (React Native) i webowych (Next.js). Wersjonowane endpointy, push notyfikacje, upload plików i aktualizacje real-time po WebSocketach.
Architektura modułów
Projektuję granice modułów NestJS dopasowane do domeny. Feature modules, shared modules, dynamic modules na multi-tenancy. Czyste importy, brak zależności cyklicznych, każdy moduł testowalny w izolacji.
Dependency injection
Custom providers, factory providers, asynchroniczna konfiguracja modułów. Używam DI, żeby kod był testowalny i wymienialny — nie jako ceremonia. Każdy serwis ma jasny kontrakt i daje się mockować.
Guardy, interceptory i pipe'y
Guardy autentykacji, interceptory logowania, pipe'y walidacji z class-validator lub Zod. Request lifecycle NestJS używany prawidłowo — kontrolery są cienkie, cross-cutting concerns scentralizowane.
Integracja z TypeORM i Prisma
Warstwa bazodanowa z wzorcami repository, transakcjami, migracjami i seedingiem. Złożone zapytania z QueryBuilderem kiedy ORM nie wystarczy. Constrainty i indeksy bazodanowe na integralność danych.
Testy na każdym poziomie
Unit testy z mockowanymi providerami, testy integracyjne z prawdziwą bazą, E2E z Supertestem. NestJS ułatwia testowanie — w pełni to wykorzystuję. Każdy moduł ma własny zestaw testów.
OpenAPI i dokumentacja
Auto-generowane Swagger docs z dekoratorów, dokumentacja zsynchronizowana z kodem. Wersjonowanie API, przykłady request/response i generowanie client SDK z OpenAPI spec.
Modelowanie domeny
Mapuję domenę biznesową na moduły, serwisy i encje NestJS. Definiujemy kontrakty API, schemat bazy i punkty integracji zanim zaczniemy pisać kod aplikacji.
Test-driven development
Piszę testy równolegle z ficzerami. Każdy endpoint ma testy integracyjne, każdy serwis unit testy. Suite testowy to siatka bezpieczeństwa na przyszłe zmiany i onboarding zespołu.
Gotowość produkcyjna
Deploy z Dockerem, health checki, dokumentacja Swagger i strukturowane logowanie. Twój zespół dostaje codebase z czytelnymi wzorcami do naśladowania przy każdym nowym ficzerze.
Express daje wolność, ale żadnej struktury. NestJS daje dependency injection, system modułów i dekoratory wymuszające spójność w rosnącym codebase. Na małe API Express jest OK. Na cokolwiek, co Twój zespół musi utrzymywać latami, NestJS się zwraca.
Tak. Robię migracje stopniowo — opakowuję istniejące middleware Expressa, przenoszę route na kontrolery NestJS jeden po drugim i wprowadzam DI stopniowo. Bez big-bang rewrite.
Prisma to mój domyślny — ma najlepsze wsparcie TypeScript i tooling migracji. Przy projektach wymagających złożonych zapytań lub ficzerów bazodanowych używam TypeORM lub Drizzle. Wybór zależy od złożoności zapytań.
Tak. JWT + refresh tokeny, social login OAuth 2.0, sesje, klucze API — wdrażam to, co pasuje do use case. Na autoryzację buduję custom guardy z CASL na precyzyjne, type-safe sprawdzanie uprawnień.
Tak — ma wbudowane wsparcie mikroserwisów z wieloma warstwami transportu (TCP, Redis, RabbitMQ, gRPC, Kafka). Używam NestJS zarówno w monolicie, jak i mikroserwisach — wybieram w zależności od faktycznej złożoności projektu.
Pracuję na stawce dziennej lub miesięcznej, zależnie od typu współpracy. Umów bezpłatną 30-minutową rozmowę — dam Ci uczciwą wycenę na podstawie zakresu projektu.
Szukasz senior NestJS developera?
Umów bezpłatną 30-minutową rozmowę techniczną. Powiem Ci uczciwie, czy pasuję do Twojego projektu.

