Suavius Atelier
Headless e-commerce na Payload CMS 3 + Next.js
- Marka
- Suavius Atelier (marka własna)
- Stack
- Payload CMS 3 · Next.js 16 · TypeScript · PostgreSQL (Neon) · Cloudflare R2 · Stripe · Vercel · Tailwind 4
- Czas
- Projekt własny, realizowany etapami
Produkcyjny sklep dla butikowej marki sprzedającej ręcznie projektowane podkładki w formie sztuki PCB oraz akcesoria grawerowane laserowo. Zbudowany świadomie tak, by jednocześnie być portfolio demonstrującym nowoczesny stack headless.
Czym jest
Sklep e-commerce dla butikowej marki, zbudowany tak, by jednocześnie być realizacją portfolio pokazującą nowoczesny stack headless CMS. Technicznie to case study miało sprawdzić Payload CMS 3 jako alternatywę dla WooCommerce w segmencie, gdzie liczy się prezentacja produktu i prędkość.
Dlaczego ten stack zamiast WooCommerce
WooCommerce by zadziałał, ale byłby wolniejszy, cięższy i trudniejszy w utrzymaniu. Customowy build Payload CMS + Next.js daje:
- Wydajność - brak narzutu wtyczek, brak nieużywanego CSS i JS, który nie zarabia na swoje miejsce.
- Bezpieczeństwo - brak powierzchni ataku od wtyczek third-party. Zabezpieczony upload, ceny liczone po stronie serwera, weryfikacja podpisów webhooków, nagłówki CSP.
- Kontrola - model danych dokładnie taki, jakiego potrzebuje biznes, nic więcej.
- Koszt - Cloudflare R2 (zero egress) na media, Neon serverless Postgres, Vercel. Cały stack działa przy niemal zerowym koszcie infrastruktury w tej skali.
Kluczowe funkcje
Katalog produktów z wariantami ma stany magazynowe na poziomie SKU, ceny liczone w groszach (bez błędów zmiennoprzecinkowych), workflow draft/publish z historią wersji i pełne pola SEO.
System personalizacji produktu opiera się na reużywalnej bibliotece typów opcji (tekst grawerunku, wybór koloru, upload grafiki klienta), konfigurowalnej globalnie i przypisywanej per produkt. Klient może wgrać własną grafikę do grawerowania. Wszystkie uploady są sprawdzane po zawartości, sanityzowane i serwowane z izolowanego origin.
Checkout i płatności obsługuje Stripe Checkout z przepływem draft-order + webhook. Każda kwota jest przeliczana po stronie serwera - klient wysyła wybory, nigdy ceny. Atomowa finalizacja zamówienia, wykonywana dokładnie jeden raz, zapobiega podwójnemu przetwarzaniu przy ponowieniach webhooków.
Strony marketingowe, kolekcje, kategorie i przekierowania są zarządzane w panelu Payload. Zmiany wchodzą na żywo przez on-demand ISR, bez redeployu. Operacyjnie projekt ma bramki jakości (typecheck + lint przed pushem), migracje przy deployu, healthchecki Playwright po deployu i Renovate na zależności.
Wynik
Działający proof-of-concept pokazujący, że można wyjść z ekosystemu WordPressa bez kompromisu na funkcjonalności sklepu. Mobile 95/100 w Google PageSpeed. Przy scaffoldingu i boilerplate korzystałem z asystentów AI; architektura, model bezpieczeństwa i jakość kodu są moje.
