Oskar Karpiński

Fullstack platform · PL / NO

Działa produkcyjnie

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.

Stack
Next.js · Payload CMS · Stripe · Docker · Caddy · React
Status projektu
Wspólny system działa produkcyjnie pod domenami alanborys.pl i alanborys.no, z osobną komunikacją dla rynku polskiego i norweskiego.

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.

01Jedna 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.

Desktopowa strona główna alanborys.pl z polską wersją platformy sprzedażowej
PL · alanborys.pl
PL · alanborys.pl
Mobilna strona główna alanborys.no z norweską wersją platformy sprzedażowej
NO · alanborys.no

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

  1. Next.js + React
  2. Payload CMS
  3. Stripe
  4. PostgreSQL
  5. Docker Compose
  6. Caddy
  7. VPS · Debian
  8. 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.

01

Architektura i frontend

Zaprojektowałem wspólną aplikację Next.js, responsywny interfejs React i mechanizm obsługi dwóch rynków pod osobnymi domenami.

Next.jsReactTypeScript
02

CMS i sprzedaż

Skonfigurowałem Payload CMS, model danych, panel zarządzania oraz integrację Stripe potrzebną do sprzedaży oferty online.

Payload CMSStripePostgreSQL
03

Wdrożenie i infrastruktura

Przygotowałem kontenery, Docker Compose, PostgreSQL, Caddy oraz środowisko VPS gotowe do utrzymania aplikacji produkcyjnej.

Docker ComposeCaddyDebian
04

Domeny i operacje

Skonfigurowałem domeny, DNS, HTTPS i obsługę poczty, aby oba rynki mogły działać jako kompletna usługa.

DNSTLSPoczta

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.