Z jakich warstw składa się aplikacja dla firmy i co robi każda z nich?

Opublikowano: Stan na: sierpień 2026 Tekst: Agent AI Tomka Niedźwieckiego · odpowiada: · zasady
Krótka odpowiedź

Cztery warstwy: front (to, co widzi użytkownik), logika po stronie serwera w funkcjach brzegowych, jedna baza Postgres z politykami dostępu i logowaniem, usługi zewnętrzne — płatności, poczta, SMS, modele AI. Do kilku tysięcy kont ten układ wystarcza. Piątą warstwę, kolejkę albo cache, dokłada się po pomiarze, nie na zapas.

Warstwy w pierwszej wersji aplikacji B2B 4warstwy Praktyka zespołu jakzrobicaplikacje.pl, stan: stan na 31.08.2026
Baza w darmowym planie Supabase 500 MB Supabase — Pricing, stan: odczyt 31.08.2026
Transfer w darmowym planie Vercel (Hobby) 100 GBmiesięcznie Vercel — Pricing, stan: odczyt 31.08.2026
Domyślny limit wierszy z API bazy 1 000wierszy Supabase — konfiguracja CLI, ustawienie api.max_rows, stan: odczyt 31.08.2026

Cztery warstwy — co robi każda z nich?

Aplikacja dla firmy w pierwszej wersji ma cztery warstwy, nie kilkanaście modułów. Front, czyli to, co widzi użytkownik. Logika po stronie serwera w funkcjach brzegowych. Jedna baza Postgres z politykami dostępu na poziomie wierszy. Usługi zewnętrzne: płatności, poczta, SMS, modele AI.

Front to strony sprzedażowe, panel klienta i panel administratora. Pierwsza wersja zawiera zwykle logowanie i konta, jedną funkcję główną oraz jedną albo dwie wspierające, płatności, stronę zapisu pod markę klienta, automatyzacje i statystyki. Front niczego nie rozstrzyga o pieniądzach — pokazuje dane i przyjmuje decyzje użytkownika.

Druga warstwa to logika po stronie serwera, u nas w postaci funkcji brzegowych: odbiór powiadomień od operatora płatności, integracje, wysyłki, zadania cykliczne. Tam zostają klucze do usług, których nie wolno pokazywać w przeglądarce. Konfigurację produkcyjną trzymamy w ustawieniach dostawcy, nigdy w repozytorium kodu.

Trzecia warstwa to jedna baza Postgres z politykami dostępu na poziomie wierszy i wbudowanym logowaniem użytkowników. Baza rozstrzyga, kto które wiersze widzi — nie front i nie kod ekranu. To jedyne miejsce, w którym uprawnienia da się wyegzekwować.

Ma to konsekwencję, która zaskakuje przy pierwszej dłuższej liście. Domyślne ustawienie api.max_rows w konfiguracji Supabase to 1 000 wierszy (dokumentacja, odczyt 31 sierpnia 2026), a sam PostgREST nie ogranicza niczego — jego db-max-rows ma domyślnie wartość nieskończoną. Limit stawia dostawca, więc pobranie „wszystkich” rekordów cicho się ucina.

Czwarta warstwa to usługi, których nie ma sensu pisać samodzielnie: operator płatności, poczta transakcyjna, bramka SMS, modele AI przez API. Obowiązuje przy nich zasada, od której nie robimy wyjątków: powiadomienie od operatora płatności jest jedynym źródłem prawdy o wpłacie. Kwota i status zapisują się z tego powiadomienia, nie z przekierowania po zapłacie.

Podział na te cztery warstwy nie jest teorią z diagramu: tak zbudowanych jest kilkanaście aplikacji i serwisów, które utrzymujemy na co dzień. Skala, przy której ten układ się broni, to setki kont w aplikacji B2B i tysiące wizyt miesięcznie na serwis (stan: sierpień 2026).

WarstwaCo robiTypowy wybórLimit albo cena (odczyt 31.08.2026)Co się psuje, gdy tego brak
Front: strony, panel klienta, panel administratorapokazuje dane, przyjmuje decyzje użytkownika; nie rozstrzyga o pieniądzachbuild statyczny na hostingu z CDN (Vercel)Hobby: 100 GB transferu miesięcznie, tylko użytek niekomercyjny; Pro: 20 USD miesięcznie za użytkownika, 1 TBbez panelu administratora obsługa poprawia dane ręcznie w bazie — bez śladu, kto i kiedy
Logika po stronie serwera: funkcje brzegowewebhooki płatności, integracje, wysyłki, zadania cyklicznefunkcje brzegowe u dostawcy bazy (Supabase)plan darmowy: 500 000 wywołań miesięcznie; Pro: 2 mln, potem 2 USD za 1 mlnklucze do usług trafiają do przeglądarki, a wpłata „zalicza się” z przekierowania zamiast z powiadomienia operatora
Baza danych z politykami dostępu i logowaniemtrzyma dane i rozstrzyga, kto które wiersze widzijeden Postgres z politykami na wiersze (Supabase)plan darmowy: 500 MB bazy, 1 GB plików, 5 GB transferu wychodzącego, 50 000 aktywnych użytkowników, projekt pauzowany po tygodniu bez ruchu; Pro od 25 USD miesięczniekażdy zalogowany widzi cudze dane; lista „wszystkiego” ucina się po 1 000 wierszy bez komunikatu
Usługi zewnętrzne: płatności, poczta, SMS, AIprzyjmują pieniądze i dowożą wiadomościStripe, Resend, bramka SMS, modele przez APIStripe w Polsce: 1,5% + 1,00 zł od kart z EOG, 1,6% + 1,00 zł za BLIK; Resend w planie darmowym: 3 000 e-maili miesięcznie i 100 dzienniewpłaty sprawdzane ręcznie w bankowości, a powiadomienia wysyłane z firmowej skrzynki lądują w spamie

Dlaczego jedna baza, a nie kilka osobnych usług?

Bo do skali tysięcy kont rozdzielenie kosztuje więcej, niż daje. Jedna baza to jedna kopia zapasowa, jeden model uprawnień i jedno miejsce, w którym sprawdza się spójność danych. Każda kolejna usługa z własnym magazynem dokłada pracę, której nie widać w wycenie: synchronizację i rozjazd stanów.

Alternatywy wyglądają rozsądnie na diagramie. Osobna baza dla rozliczeń, osobna dla katalogu, integrator sklejający całość. W praktyce to trzy zestawy uprawnień, trzy kopie do testowania i pytanie, która wersja rekordu jest prawdziwa, gdy dwie usługi zapiszą go w tej samej sekundzie.

Kiedy zmienić tę decyzję? Gdy pomiar pokazuje, że baza czeka na zasoby, a nie na sieć, albo gdy nad aplikacją pracuje tyle osób, że blokują sobie nawzajem zmiany w schemacie. Jedno i drugie widać w liczbach, zanim stanie się awarią.

Jedna baza ma jeszcze jedną zaletę, o której łatwo zapomnieć przy rysowaniu architektury: kopia zapasowa jest jedna i da się ją odtworzyć w całości. Kopie sprawdzamy odtworzeniem, nie obecnością pliku.

Co zmienia skala: 10, 1 000 i 10 000 użytkowników?

Zmienia trzy rzeczy, w innej kolejności, niż podpowiada intuicja. Z darmowych planów pierwsza wychodzi zwykle nie baza, tylko poczta. A pierwszą przeszkodą bywa regulamin hostingu, nie jego limity techniczne.

Przy dziesięciu kontach pilotażowych limity są bez znaczenia. Znaczenie ma zapis, który firmy pomijają: plan Hobby w Vercel jest zastrzeżony do użytku niekomercyjnego, a każde zastosowanie komercyjne wymaga planu Pro albo Enterprise (wytyczne fair use, odczyt 31 sierpnia 2026). Aplikacja, która przyjmuje płatności, jest zastosowaniem komercyjnym od pierwszego dnia.

Przy tysiącu kont kończy się poczta. Darmowy plan Resend to 3 000 wiadomości miesięcznie i 100 dziennie (cennik, odczyt 31 sierpnia 2026). Jedno powiadomienie wysłane do tysiąca kont w ciągu jednego dnia przekracza limit dzienny dziesięciokrotnie.

Rozmiaru bazy nie szacujemy z liczby kont. 500 MB w darmowym planie Supabase to limit rozmiaru bazy, a nie obietnica, że zmieści się w nim tysiąc firm z historią. Tę wartość odczytuje się z panelu dostawcy w konkretnej aplikacji i dopiero wtedy planuje plan płatny.

Przy dziesięciu tysiącach kont zaczyna się rachunek za nadwyżki. Plan Pro Supabase kosztuje od 25 USD miesięcznie i zawiera 8 GB dysku (potem 0,125 USD za GB), 250 GB transferu wychodzącego (potem 0,09 USD za GB) oraz 100 000 aktywnych użytkowników miesięcznie (cennik, odczyt 31 sierpnia 2026).

Dopiero w tym miejscu pomiar może uzasadnić piątą warstwę: kolejkę zadań albo cache. Wcześniej jedna baza z sensownymi indeksami i jawnym stronicowaniem obsługuje ten ruch. Ile taka aplikacja kosztuje w rachunku trzyletnim, liczy inny serwis: ile realnie kosztuje aplikacja w trzy lata.

SkalaCo się zmienia w warstwachPróg z cennika albo regulaminu (odczyt 31.08.2026)
10 kont — pilotnie dokładasz niczego; decyduje regulamin hostingu, nie jego limityVercel: plan Hobby zastrzeżony do użytku niekomercyjnego, komercja wymaga Pro (20 USD miesięcznie za użytkownika)
1 000 kontz darmowego planu wychodzi poczta; baza i front bez zmianResend: 3 000 e-maili miesięcznie i 100 dziennie w planie darmowym, Pro od 20 USD miesięcznie
10 000 kontpłatny plan bazy i nadwyżki liczone za GB; tu pomiar może uzasadnić kolejkę albo cacheSupabase Pro: od 25 USD miesięcznie, 8 GB dysku (potem 0,125 USD za GB), 250 GB transferu wychodzącego (potem 0,09 USD za GB), 100 000 aktywnych użytkowników

Czego w pierwszej wersji nie budujemy?

Pięciu rzeczy, z których każda wygląda na „zróbmy od razu”, a każda dokłada warstwę do utrzymania i drugie miejsce, w którym coś może zniknąć.

Płatności są osobnym przypadkiem: nie budujemy ich sami, ale też nie odkładamy na koniec. Testujemy je w trybie testowym operatora i sprawdzamy, co zapisało powiadomienie o wpłacie, zanim aplikacja zacznie przyjmować pieniądze. Który operator ma sens w pierwszej wersji, rozstrzyga porównanie płatności w MVP.

Po czym poznać, że warstwy są ustawione dobrze?

Pięć pytań, które właściciel firmy może zadać bez znajomości kodu. Odpowiedź „sprawdzimy” na którekolwiek z nich znaczy, że warstwa nie jest gotowa.

Wszystkie pięć pytań dotyczy styków między warstwami. Najdroższe awarie nie zdarzają się w środku warstwy, tylko na granicy: front zalicza płatność, której baza nie widzi, funkcja wysyła wiadomość, którą operator odrzucił. Co z tego wynika dla zabezpieczeń, zbieramy w dziale Jak nie zgubić danych i pieniędzy.

Autopromocja

Jak zrobić aplikację prowadzi zespół tomekniedzwiecki.pl. Jeśli chcesz sprawdzić własny pomysł na aplikację: pierwszy krok jest bezpłatny — rozmowa z agentem AI, po której masz kartę projektu, pierwsze ekrany, badanie rynku i wstępny plan przychodu; bez karty płatniczej i bez zobowiązań.

Budowę wyceniamy zawsze indywidualnie (cena zamknięta, płatna przy zawarciu umowy), a po starcie rozliczamy się 10% od przychodu netto aplikacji — zamiast udziałów w firmie, tylko za miesiące z przychodem, do wykupu. Sprawdź swój pomysł za darmo: tomekniedzwiecki.pl.

Najczęstsze pytania

Czy do aplikacji dla firmy potrzebuję własnego serwera?

W pierwszej wersji zwykle nie. Front stoi jako build statyczny na hostingu z siecią CDN, logika mieści się w funkcjach brzegowych, a baza działa jako usługa. Własny serwer dokłada system operacyjny do aktualizowania, monitoring i dyżur przy awarii. Sens ma tam, gdzie wymaga tego prawo albo integracja z urządzeniem w siedzibie firmy.

Czym różni się funkcja brzegowa od zwykłego serwera?

Funkcja uruchamia się na żądanie i kończy po wykonaniu zadania, więc płaci się za wywołania, a nie za czas czuwania — w planie darmowym Supabase mieści się 500 000 wywołań miesięcznie (cennik, odczyt 31 sierpnia 2026). Nie trzyma stanu między wywołaniami i ma ograniczony czas działania, dlatego długie zadania trzeba dzielić albo przenieść do kolejki.

Czy trzymanie wszystkiego w jednej bazie to ryzyko?

Ryzykiem jest kopia zapasowa, której nikt nie odtworzył, a nie liczba baz. Jedna baza upraszcza odtworzenie: jeden punkt w czasie, jedna procedura, jeden model uprawnień. Warunek jest taki sam niezależnie od architektury — kopie testuje się odtworzeniem, a czas i punkt odtworzenia zapisuje się, zanim będą potrzebne.

Czy darmowe plany wystarczą na start aplikacji firmowej?

Technicznie często tak, formalnie nie. Plan Hobby w Vercel jest zastrzeżony do użytku niekomercyjnego, a każde zastosowanie komercyjne wymaga planu Pro albo Enterprise (wytyczne fair use, odczyt 31 sierpnia 2026). Projekt w darmowym planie Supabase zostaje wstrzymany po tygodniu bez ruchu (cennik, odczyt 31 sierpnia 2026), co przy aplikacji z prawdziwymi klientami jest awarią, nie oszczędnością.

Ile warstw ma sklep internetowy?

Sklepami internetowymi w tym serwisie się nie zajmujemy — to inna kategoria oprogramowania, z gotowymi platformami i własnymi regułami. Opisany tu podział dotyczy aplikacji dla firm: paneli, systemów obsługi zleceń, rezerwacji, rozliczeń i pracy zespołu.

Źródła

  1. Supabase — Pricing (limity planów Free i Pro) — https://supabase.com/pricing (odczyt 31.08.2026)
  2. Supabase — CLI configuration, ustawienie api.max_rows (domyślnie 1 000) — https://supabase.com/docs/guides/local-development/cli/config (odczyt 31.08.2026)
  3. PostgREST — Configuration, db-max-rows (domyślnie bez limitu) — https://docs.postgrest.org/en/v12/references/configuration.html (odczyt 31.08.2026)
  4. Vercel — Pricing (Hobby: 100 GB Fast Data Transfer; Pro: 20 USD miesięcznie za użytkownika, 1 TB) — https://vercel.com/pricing (odczyt 31.08.2026)
  5. Vercel — Fair Use Guidelines, sekcja Commercial usage — https://vercel.com/docs/limits/fair-use-guidelines (aktualizacja strony 29.07.2026, odczyt 31.08.2026)
  6. Vercel — Limits (limity ogólne planów Hobby i Pro) — https://vercel.com/docs/limits (aktualizacja strony 25.08.2026, odczyt 31.08.2026)
  7. Resend — Pricing (plan darmowy: 3 000 e-maili miesięcznie, 100 dziennie) — https://resend.com/pricing (odczyt 31.08.2026)
  8. Stripe — cennik dla Polski (karty z EOG, BLIK) — https://stripe.com/pl/pricing (odczyt 31.08.2026)
  9. Zasady odbioru, gwarancji i rozruchu w naszych wdrożeniach — praktyka zespołu — https://jakzrobicaplikacje.pl/o-serwisie/#skad (2026-08-31)
Kto to napisał

Tekst przygotował Agent AI Tomka Niedźwieckiego — treść wygenerowana przez sztuczną inteligencję na podstawie własnych wdrożeń zespołu, dokumentacji dostawców i źródeł podanych wyżej, sprawdzona w osobnym przebiegu weryfikacji faktów i zredagowana. Za fakty odpowiada . Ostatnia weryfikacja: 31 sierpnia 2026.