Ekosystem aplikacji Migracja bez downtime Next.js + Supabase App mobilna

Kaszuby24.pl

Portal z 19 000 artykułami, który wyrósł z WordPressa. Przepisany na nowoczesny ekosystem 6 aplikacji — bez przerwy w działaniu i bez utraty pozycji w Google.

6 aplikacji w ekosystemie
19 000+ artykułów zmigrowanych
100+ tras API i integracji
0 minut przestoju podczas migracji

To nie strona. To platforma.

Kaszuby24.pl to jeden z największych regionalnych portali informacyjnych na Kaszubach — kilkadziesiąt tysięcy odwiedzających miesięcznie, codzienna praca kilkuosobowej redakcji i archiwum artykułów sięgające ponad dekady wstecz.

Kiedy WordPress przestał wystarczać — ograniczał wydajność, utrudniał rozwój i nie dawał kontroli nad danymi — podjęliśmy decyzję o przepisaniu całego systemu od podstaw. Nie tylko strony. Całego ekosystemu.

  • Portal główny — Next.js 16, React 19, 24 trasy API, renderowanie na krawędzi
  • Panel redakcyjny — Vue 3 + Express, 94 endpointy, zarządzanie całą treścią portalu
  • Aplikacja mobilna — React Native + Expo, dostępna na iOS i Android
  • Własna baza danych — self-hosted Supabase, PostgreSQL, storage na media
  • Portal rozkładów — Next.js + OpenTripPlanner, rozkłady komunikacji regionalnej
  • Portal pogody — dane IMGW, widżety morskie, rolnicze, drogowe

Przepływ danych w ekosystemie

kaszuby24.pl Next.js 16 · ISR · 24 API
panel.kaszuby24.pl Vue 3 · Express · 94 tras
App iOS / Android Expo SDK 54 · React Native
Supabase (własny serwer) PostgreSQL · Storage · Auth
rozklady.kaszuby24.pl Next.js · OpenTripPlanner · GTFS
pogoda.kaszuby24.pl OpenWeatherMap · IMGW

Sześć aplikacji. Jeden spójny ekosystem.

Panel redakcyjny kaszuby24.pl — dashboard z analityką Panel redakcyjny — panel.kaszuby24.pl
Portal kaszuby24.pl — strona główna Portal — kaszuby24.pl
Portal pogodowy pogoda.kaszuby24.pl Pogoda — pogoda.kaszuby24.pl
Aplikacja mobilna Kaszuby24 na iPhone i Android App mobilna iOS / Android

Technologia dobrana do zadania, nie do mody

Portal główny (Frontend)
Next.js 16 React 19 TypeScript Tailwind v4 Partytown Sentry
Panel redakcyjny
Vue 3 Pinia Express 5 TipTap 3 FullCalendar Leaflet
Aplikacja mobilna
Expo SDK 54 React Native Zustand Expo Router Flash List React Native Maps
Baza danych i infrastruktura
Supabase (self-hosted) PostgreSQL Supabase Storage Docker Nginx
AI i automatyzacja
Azure OpenAI Google Gemini ElevenLabs TTS Azure Speech-to-Text Azure Blob Storage
Integracje zewnętrzne
Google Ads API Search Console API GA4 IndexNow Facebook API Instagram X (Twitter) Flickr API EAS Build

Trzy decyzje, które zdefiniowały projekt

01

Własny serwer bazy danych zamiast chmury

Zamiast płacić za zewnętrzną usługę bazy danych, postawiliśmy Supabase na własnym serwerze. Pełna kontrola nad danymi redakcji, zgodność z RODO i zerowe uzależnienie od zewnętrznego dostawcy. Koszty operacyjne radykalnie niższe przy wielokrotnie większych możliwościach.

Supabase self-hosted · PostgreSQL
02

Migracja niewidzialna dla użytkownika i redakcji

WordPress odłączono od ruchu publicznego, ale API pozostało aktywne jako fasada — aplikacja mobilna nie zauważyła żadnej zmiany. Ruch przejmowaliśmy stopniowo. Nowy system przejął dane i funkcje, stary służył jako bufor podczas przejścia. Zero przestoju. Zero utraconych danych.

WP-compat layer · Phased migration
03

ISR i Partytown — wydajność bez kompromisów

Portal z 19 000 artykułami musi być szybki na każdym urządzeniu. Incremental Static Regeneration sprawia, że strony z archiwum ładują się jak statyczne pliki, a aktualizują w tle. Partytown odciął GTM od głównego wątku przeglądarki — czas blokowania na mobile spadł o ponad 1200 ms.

Next.js ISR · Partytown · Core Web Vitals

Co konkretnie zbudowaliśmy

Panel redakcyjny od zera

Własny CMS zaprojektowany pod potrzeby redakcji — zarządzanie artykułami, wydarzeniami, nekrologami, galeriami i reklamami z jednego miejsca. Edytor TipTap z pełnym formatowaniem, harmonogram publikacji, role użytkowników, historia zmian.

Vue 3 Express TipTap FullCalendar

Aplikacja mobilna iOS i Android

Natywna aplikacja dostępna w App Store i Google Play. Artykuły, nekrologi, galerie zdjęć, rozkłady komunikacji, mapa wydarzeń, zapisane artykuły offline, push notyfikacje o ważnych wydarzeniach z regionu.

Expo SDK 54 React Native EAS Build OTA Updates

Lektor artykułów (ElevenLabs)

Każdy artykuł może być odsłuchany — synteza mowy ElevenLabs zamienia tekst w naturalnie brzmiący głos lektora. Redaktor klika jeden przycisk, system generuje plik audio, który pojawia się na stronie artykułu i w aplikacji mobilnej.

ElevenLabs TTS Azure Speech Supabase Storage

Galerie z systemem dostępu

Galerie zdjęć z tokenem dostępu podpisanym HMAC — możliwość zamknięcia wybranych albumów za kodem dostępu lub płatnością. Masowe pobieranie jako ZIP, optymalizacja zdjęć przy wgrywaniu, przechowywanie na Supabase Storage.

Supabase Storage HMAC tokens Flickr API

Rozkłady komunikacji regionalnej

Własna instancja OpenTripPlanner z danymi GTFS dla regionu Kaszub i Pomorza — planer trasy, rozkłady autobusowe, integracja z danymi ZTM Gdańsk i przewoźnikami lokalnymi. Dane odświeżane automatycznie co tydzień.

OpenTripPlanner GTFS Next.js GraphQL

SEO i widoczność — kompleksowo

Dane strukturalne JSON-LD dla każdego typu treści (artykuł, wydarzenie, nekrolog, wideo), automatyczne sitemapy XML (news, image, video), integracja IndexNow do natychmiastowego indeksowania nowych artykułów, Search Console API do monitorowania pozycji.

JSON-LD IndexNow GSC API News Sitemap

Nekrologi — oddzielna platforma

Moduł nekrologów z własną bazą, regionami, formularzem dodawania i unikalnym designem. Obsługa dziesiątek tysięcy wpisów, filtrowanie po regionach i dacie, automatyczne przekierowania starych adresów URL z WordPressa.

Supabase Slug aliases ISR

Social media i dystrybucja treści

Zautomatyzowana kolejka publikacji na Facebooku i Instagramie, scoring treści przed wysyłką, harmonogram postów z panelu redakcyjnego. Integracja z X (Twitter). Automatyczne reelsy pogodowe i wideo generowane przez Azure Container Apps.

Facebook API Instagram X API Azure Container Apps

Punkt startowy i punkt docelowy

Punkt startowy — WordPress

Jeden system, jedno wąskie gardło

  • Jeden CMS dla wszystkiego — treść, grafika, wtyczki, reklamy
  • Każda aktualizacja WordPressa to ryzyko awarii całego portalu
  • Brak aplikacji mobilnej — redakcja traciła rosnący ruch z telefonów
  • Serwer pod pełnym obciążeniem przy każdym żądaniu — brak cache'owania
  • Galerie bez kontroli dostępu — żadnych możliwości monetyzacji zdjęć
  • Dane redakcji u zewnętrznego dostawcy hostingu — zero kontroli
  • Ręczna dystrybucja treści w social mediach — kilka godzin tygodniowo
Punkt docelowy — własny ekosystem

Sześć aplikacji. Jedna spójna platforma.

  • Własny panel redakcyjny dopasowany do procesów tej konkretnej redakcji
  • Portal i panel niezależne — awaria jednego nie blokuje drugiego
  • Aplikacja mobilna w App Store i Google Play z push notyfikacjami
  • ISR — strony archiwalne serwowane jak pliki statyczne, aktualizowane w tle
  • Galerie z systemem tokenów dostępu i możliwością sprzedaży albumów
  • Dane na własnym serwerze — pełna kontrola, backup, zgodność z RODO
  • Automatyczna kolejka social media i lektor artykułów (ElevenLabs)

Następny krok

WordPress Cię
już ogranicza?

Budujemy ekosystemy dla redakcji, portali regionalnych i platform z dużą ilością treści. Jeśli masz portal i czujesz, że istniejące narzędzia za Tobą nie nadążają — porozmawiajmy.

Dlaczego my?

Rozumiemy media i redakcję Kaszuby24 to nasz własny projekt — wiemy co znaczy codzienna praca redakcyjna i budujemy narzędzia które naprawdę pomagają.
Full-stack, jedna firma Portal, panel, baza danych, aplikacja mobilna, SEO, integracje — projektujemy i wdrażamy cały ekosystem bez podwykonawców.
Dane zostają u Ciebie Supabase na własnym serwerze, własne kopie zapasowe, żadnego uzależnienia od zewnętrznych platform. Twoje dane zawsze pod Twoją kontrolą.