Chcesz zbudować fullstack aplikację, ale backend wydaje się skomplikowany? Next.js + Prisma to combo, które pozwala frontend developerowi zbudować pełną aplikację bez bólu głowy.
W tym tutorialu zbudujemy aplikację do zarządzania zadaniami (todo app) z:
Next.js 16 (App Router)
Prisma (ORM)
PostgreSQL
Autoryzacją
Deploymentem na Vercel
Krótka odpowiedź: Prisma to ORM z type-safe API, czyli Application Programming Interface, definiuje sposób komunikacji między aplikacjami lub modułami., który świetnie współgra z Next.js — definiujesz schema, generujesz klienta i dostajesz w pełni typowane operacje na bazie danych. W połączeniu z Server Actions i Auth.js możesz zbudować kompletną fullstack aplikację z autentykacją i deploymentem na Vercel bez znajomości osobnego backendu. Tutorial prowadzi przez cały proces od zera do działającego CRUD to skrót od Create, Read, Update, Delete, czyli podstawowych operacji wykonywanych na danych. z autoryzacją.
W realnej aplikacji warto dołożyć useTransition(), stan pending i blokadę przycisków podczas mutacji. Tutorial ma pokazać fundament, ale nie warto zostawiać użytkownika z wrażeniem, że kliknięcia bez feedbacku to wystarczający UX, czyli User Experience, opisuje całe doświadczenie użytkownika podczas korzystania z produktu..
Autoryzacja z Auth.js (dawniej NextAuth.js)
Pakiet nadal instaluje się jako next-auth, ale aktualna dokumentacja i rozwój projektu są prowadzone pod marką Auth.js.
// app/api/auth/[...nextauth]/route.tsimport { handlers } from '@/auth'export const { GET, POST } = handlers
Jeśli wybierasz logowanie OAuth to standard delegowanego dostępu, który pozwala logować użytkownika przez zewnętrznego dostawcę bez ujawniania hasła. przez Google czy GitHub, pole password w modelu User przestaje być potrzebne. Trzymaj je tylko wtedy, gdy naprawdę wdrażasz własny login credentials.
Deployment na Vercel
Przygotuj bazę danych
Użyj managed PostgreSQL:
Vercel Postgres (wbudowane)
Supabase (darmowy tier)
Railway (darmowy tier)
Zmienne środowiskowe
W Vercel Dashboard → Settings → Environment Variables:
# Zainstaluj Vercel CLI (opcjonalnie)npm i -g vercel# Deployvercel# Lub połącz repo z GitHub — auto-deploy
Migracja produkcyjna
Code
npx prisma migrate deploy
FAQ
Czym jest Prisma i dlaczego warto go używać z Next.js?
Prisma to nowoczesny ORM dla Node.js i TypeScript, który generuje type-safe klienta bazodanowego na podstawie deklaratywnego schematu. W połączeniu z Next.js eliminuje konieczność pisania surowego SQL to język zapytań używany do pracy z relacyjnymi bazami danych. i zapewnia pełne autouzupełnianie w IDE — zmiany w schemacie natychmiast widać jako błędy TypeScript w kodzie aplikacji.
Jakie bazy danych obsługuje Prisma?
Prisma obsługuje PostgreSQL, MySQL, SQLite, SQL Server, MongoDB oraz CockroachDB. W tym tutorialu używamy PostgreSQL, który można uruchomić lokalnie przez Docker lub bezpłatnie w chmurze (Supabase, Railway, Neon). Do developmentu SQLite jest najwygodniejszy — nie wymaga osobnej instalacji.
Czym są migracje w Prisma i jak ich używać?
Migracje to wersjonowane zmiany schematu bazy danych. Polecenie npx prisma migrate dev tworzy nowy plik migracji na podstawie różnic w schema.prisma i aplikuje go do bazy. Na produkcji używasz npx prisma migrate deploy, które stosuje tylko zaakceptowane migracje bez modyfikacji schematu.
Jaka jest różnica między API Routes a Server Actions w Next.js?
API Routes (app/api/.../route.ts) tworzą klasyczne endpointy HTTP dostępne pod konkretnym URL, użyteczne gdy potrzebujesz publicznego API lub integrujesz zewnętrzne usługi. Server Actions to funkcje serwerowe wywoływane bezpośrednio z komponentów React bez tworzenia endpointu — idealne do mutacji danych w formularzach dzięki prostocie i bezpieczeństwu.
Jak działa Auth.js (NextAuth.js) z Prisma?
Auth.js integruje się z Prisma przez oficjalny @auth/prisma-adapter, który automatycznie zarządza tabelami użytkowników, kont i sesji w bazie danych. Po skonfigurowaniu adaptera Auth.js persystuje sesje i konta OAuth w Twojej bazie PostgreSQL. Sesja użytkownika jest dostępna w Server Components przez funkcję auth().
Jak deploy Next.js z Prisma na Vercel?
Ustaw zmienną DATABASE_URL w Vercel Dashboard → Settings → Environment Variables, a następnie dodaj do package.json skrypt "postinstall": "prisma generate", żeby klient Prisma był generowany automatycznie przy każdym deploymencie. Migracje produkcyjne uruchamiaj ręcznie poleceniem npx prisma migrate deploy.
Dlaczego używamy singleton pattern dla Prisma Client?
W trybie development Next.js często odświeża moduły przez Hot Module Replacement, co bez singleton pattern tworzyłoby dziesiątki połączeń z bazą danych. Pattern z globalThis zapewnia, że w całej aplikacji istnieje tylko jedna instancja PrismaClient, zarówno w development, jak i na produkcji.
Podsumowanie
Zbudowaliśmy:
✅ Next.js z App Router
✅ Prisma ORM z PostgreSQL
✅ CRUD API (REST + Server Actions)
✅ Frontend z React
✅ Autoryzację z Auth.js
✅ Deployment na Vercel
Następne kroki:
Dodaj walidację (Zod)
Dodaj testy
Dodaj kategorie / projekty
Dodaj deadline'y i powiadomienia
Prisma + Next.js to bardzo dobry stack na wejście w fullstack, ale warto od początku budować go z myślą o walidacji, auth i poprawnym modelu danych, a nie tylko o "szybkim CRUD-zie". Zacznij od prostego projektu, rozbudowuj iteracyjnie i traktuj tutorial jako punkt startu, nie gotową architekturę produkcyjną. Warto też poznać Server Actions — formularze bez endpointów API.
Jeśli chcesz przełożyć ten temat na lepszą architekturę frontendu, uporządkować React lub Next.js i podnieść jakość pracy zespołu, skontaktuj się ze mną. Pomagam zamieniać wiedzę z artykułów w praktyczne decyzje technologiczne.
Maciej Sala — project manager i frontendowiec z doświadczeniem w marketingu internetowym. Na co dzień pracuję z Reactem, Next.js i TypeScriptem, łącząc perspektywę produktową z praktycznym podejściem do kodu. Przez kilka lat związany z branżą gier wideo jako project manager i game designer.
Absolwent historii na Uniwersytecie Jagiellońskim i studiów podyplomowych z marketingu internetowego na Akademii Górniczo-Hutniczej w Krakowie. Poza pracą trenuje na siłowni, maluje figurki i realizuje własne projekty.
Astro.js vs Next.js — które narzędzie wybrać w 2026 roku?
Fachowe porównanie Astro.js i Next.js z perspektywy developera pracującego na co dzień w Next.js. Architektura, wydajność, SEO, DX, koszty i konkretne use case — z benchmarkami i przykładami kodu.
WordPress → Next.js — migracja treści, redirecty 301 i zachowanie pozycji SEO
Jak przenieść stronę z WordPress na Next.js bez utraty pozycji w Google? Eksport treści, mapowanie URL, redirecty 301, migracja obrazów i weryfikacja indeksacji.
Google Search Console + Next.js — indeksacja, błędy, performance i co z nimi robić
Jak korzystać z Google Search Console dla strony Next.js? Weryfikacja, sitemap, indeksacja, Core Web Vitals, crawl budget i najczęstsze problemy — praktyczny poradnik.