Alan Borys — platforma sprzedażowa dla Polski i Norwegii
Zbudowałem od podstaw jedną platformę działającą pod dwiema domenami. Zakres objął aplikację Next.js, Payload CMS, sprzedaż przez Stripe, PostgreSQL, deployment kontenerowy oraz konfigurację produkcyjnego VPS.
01
Wyzwanie
Celem było stworzenie jednej spójnej platformy dla marki działającej jednocześnie na rynku polskim i norweskim. Serwis miał nie tylko prezentować ofertę, ale także umożliwiać sprzedaż online oraz wygodne zarządzanie treścią bez angażowania programisty przy każdej zmianie.
Projekt wymagał połączenia dwóch wersji rynkowych, CMS-u, płatności, danych i infrastruktury w jeden system gotowy do bezpiecznego działania na produkcji.
02
Rozwiązanie
Platformę zbudowałem od podstaw w Next.js, React i TypeScript. Payload CMS zarządza treścią, ofertą i danymi sprzedażowymi, a Stripe obsługuje proces płatności za szkolenia i produkty.
Polska i norweska wersja korzystają ze wspólnej architektury i PostgreSQL, ale działają pod osobnymi domenami. Pozwala to rozwijać oba rynki w jednym systemie, z treścią i komunikacją dopasowaną do odbiorców.
Jedna architektura · dwa rynki
Wersje PL i NO w działającej platformie
Polska i norweska wersja korzystają ze wspólnego systemu, lecz są przedstawione odbiorcom pod własnymi domenami i w lokalnym języku.
03
Jeden system, dwa rynki
Przygotowałem polską wersję pod adresem alanborys.pl oraz norweską pod alanborys.no. Obie domeny prowadzą do wspólnej aplikacji, która rozpoznaje rynek i serwuje właściwą wersję treści.
Takie podejście pozwala utrzymywać jeden kod, panel CMS i proces sprzedaży, bez duplikowania całego produktu. Jednocześnie każda wersja może mieć własny język, komunikację i ofertę.
04
CMS, oferta i płatności
Skonfigurowałem Payload CMS wraz z kolekcjami i strukturą danych potrzebnymi do zarządzania stronami, treściami, szkoleniami, formularzami, zamówieniami i materiałami. Panel pozwala aktualizować ofertę bez zmian w kodzie aplikacji.
Stripe został zintegrowany z procesem sprzedaży i synchronizacją oferty. W praktyce frontend, CMS i płatności działają jako jeden przepływ — od prezentacji szkolenia po obsługę zamówienia.
05
Od kontenerów do produkcji
Przygotowałem kompletne środowisko produkcyjne na VPS z Debianem: Docker, Docker Compose, PostgreSQL oraz kontenery aplikacji i usług zależnych. Konfiguracja obejmuje zmienne środowiskowe, sekrety, migracje danych, health checki i automatyczne restarty po restarcie serwera.
Caddy pełni rolę reverse proxy, kieruje ruch do aplikacji i obsługuje HTTPS z certyfikatami TLS. Zakres wdrożenia objął również domeny, DNS, konfigurację hostingu VPS oraz pocztę i firmowe skrzynki dla obu domen.
Przepływ wdrożenia
- Next.js + React
- Payload CMS
- Stripe
- PostgreSQL
- Docker Compose
- Caddy
- VPS · Debian
- Produkcja
06
Pełna odpowiedzialność za realizację
Odpowiadałem za architekturę aplikacji, responsywny frontend, CMS, dane, płatności i przygotowanie produkcji. Dzięki temu decyzje dotyczące interfejsu, procesu sprzedaży i infrastruktury były podejmowane w jednym kontekście.
Projekt nie został potraktowany jako samo wdrożenie strony. Doprowadziłem go od kodu i panelu zarządzania do działającego środowiska, które obsługuje dwa rynki pod własnymi domenami.
Moja rola
Od kodu do działającego środowiska
Prowadziłem realizację end to end — od decyzji architektonicznych i interfejsu po CMS, sprzedaż, serwer oraz usługi domenowe.
Architektura i frontend
Zaprojektowałem wspólną aplikację Next.js, responsywny interfejs React i mechanizm obsługi dwóch rynków pod osobnymi domenami.
CMS i sprzedaż
Skonfigurowałem Payload CMS, model danych, panel zarządzania oraz integrację Stripe potrzebną do sprzedaży oferty online.
Wdrożenie i infrastruktura
Przygotowałem kontenery, Docker Compose, PostgreSQL, Caddy oraz środowisko VPS gotowe do utrzymania aplikacji produkcyjnej.
Domeny i operacje
Skonfigurowałem domeny, DNS, HTTPS i obsługę poczty, aby oba rynki mogły działać jako kompletna usługa.
Projekt dla klientki
Zobacz działającą platformę
Alan Borys jest komercyjnym projektem rozwijanym dla klientki. Kod źródłowy i szczegóły infrastruktury nie są publiczne.


