- Rok
- Zakres
- Moja rola
SeiBoost
Pełny stos aplikacji webowej SaaS klasy enterprise w Next.js 15. Dashboard real-time przez WebSockets (Soketi), autoryzacja ról (NextAuth), zaawansowany schemat PostgreSQL z Prisma i wdrożenie w Dockerze.
W skrócie
- Rok
- 2025
- Zakres
- Platforma SaaS, dashboard real-time, role i uprawnienia
- Moja rola
- Architektura, full-stack, DevOps
- Technologie
- Next.js 15PrismaPostgreSQLNextAuthSoketiRedisRabbitMQDockerCI/CD
Case study
01Wyzwanie
Dashboard miał pokazywać stan operacji na żywo dla wielu użytkowników jednocześnie, a przy tym rozróżniać, co wolno komu zobaczyć. Odpytywanie serwera co kilka sekund przez każdą otwartą kartę to prosta droga do zapchania bazy — przy kilkudziesięciu zalogowanych osobach ruch rośnie szybciej niż wartość, którą daje.
02Rozwiązanie
- WebSockets przez Soketi zamiast odpytywania — serwer sam wypycha zmianę, a przeglądarka nic nie musi zgadywać.
- Kanały prywatne per rola i per zespół, więc autoryzacja obowiązuje też na warstwie transportu, nie tylko w widoku.
- Redis jako warstwa pośrednia dla zdarzeń i cache’u odczytów, żeby PostgreSQL obsługiwał zapisy, a nie ruch odświeżania.
- Schemat bazy prowadzony migracjami Prisma — zmiana modelu jest wersjonowana razem z kodem, nie klikana w panelu.
03Efekt
- Zmiana stanu pojawia się u wszystkich uprawnionych bez odświeżania strony.
- Uprawnienia są egzekwowane w jednym miejscu — dodanie roli nie wymaga przeglądania każdego widoku.
- Całość działa w Dockerze, więc środowisko lokalne i produkcja są tym samym.
04Dlaczego taki stack
Next.js 15 z renderowaniem po stronie serwera, bo pierwszy ekran po zalogowaniu musiał być gotowy od razu. Soketi zamiast usługi zewnętrznej — dane operacyjne zostają na własnej infrastrukturze i nie ma opłaty za każdą wiadomość.
Masz projekt na oku?
Opisz go w kilku zdaniach — odpiszę w ciągu 24 godzin z bezpłatną wyceną i propozycją stacku.