KB

Studium przypadku

B-CRM — CRM do obsługi leadów i pracy sprzedażowo-operacyjnej

Production-like CRM demo z widokami zależnymi od ról, danymi Supabase, procesem realizacji i opisanymi ograniczeniami.

Ekran logowania i kont demo B-CRM

Problem

Zespoły sprzedażowe i operacyjne potrzebują jednego miejsca na właściciela leada, statusy, callbacki, spotkania, pliki, komentarze i realizację po podpisaniu umowy.

Cel projektu

Zbudować demo CRM, które porządkuje pracę na leadach, rozdziela widoki według ról i pokazuje przejście rekordu ze sprzedaży do realizacji.

Status

Production-like CRM demo

Stack

ReactTypeScriptNext.jsSupabase AuthPostgreSQLTailwind CSSVercelVitest

Użytkownicy i role

Właściciel

Pełna kontrola nad danymi CRM, rolami, ustawieniami, eksportem i dostępem systemowym.

Admin

Zarządza użytkownikami, importem, leadami, strukturą zespołu i ustawieniami CRM.

Menadżer

Pracuje na leadach zespołu, przypisaniach, metrykach, akceptacjach i follow-upie.

Handlowiec

Obsługuje przypisane leady, statusy, komentarze, callbacki, spotkania i oferty.

Finanse

Sprawdza kontekst finansowania, raporty i dane potrzebne przed dalszym rozliczeniem.

Podgląd

Tryb tylko do odczytu dla zarządu, audytu albo bezpiecznej obserwacji.

Księgowość

Pracuje na dokumentach, fakturach, aneksach i paczce demo KSeF po akceptacji umowy.

Logistyka

Koordynuje zamówienia, kompletację, przygotowanie magazynu i dokumenty wydania.

Monter

Obsługuje etap montażu i potwierdza wykonanie prac w terenie.

Najważniejsze funkcje

  • Logowanie Supabase Auth i karty kont demo na ekranie logowania.
  • Normalizacja ról, helpery uprawnień oraz aliasy legacy: manager jako menadżer, sales jako handlowiec.
  • Właściciel leada, statusy, komentarze, historia aktywności, przypomnienia, pliki, callbacki i spotkania.
  • Widoki admina, menadżera, handlowca, kalendarza, kalkulatorów, importu, użytkowników i szczegółu leada.
  • Import CSV, filtrowany eksport, kalkulatory ofertowe i widok oferty gotowy do druku/PDF.
  • Ścieżka realizacji z finansami, księgowością, logistyką i montażem.
  • Bezpieczny samouczek demo prowadzący przez PDF sprzedażowy, kontrolę menadżera, finanse, księgowość, logistykę i montaż.
  • Podgląd paczki/payloadu KSeF w trybie demo bez wysyłania danych produkcyjnych.
  • Pliki SQL Supabase dla schematu, RLS, polityk, kont demo, hierarchii i izolacji demo/produkcja.

Decyzje techniczne

  • Supabase łączy auth, PostgreSQL, polityki i szybkie wdrożenie przyjazne dla demo.
  • Logika ról jest scentralizowana w helperach ról i uprawnień zamiast rozproszona po komponentach UI.
  • Dane są czytane przez klienta Supabase oraz wybrane route handlers tam, gdzie potrzebna jest walidacja serwerowa lub operacje admina.
  • Aplikacja oddziela pracę sprzedaży od realizacji po umowie przez osobne trasy i home path zależny od roli.
  • Konta demo i zakres demo są opisane, żeby review portfolio nie dotykało prawdziwych danych klientów.

Czego się nauczyłem

  • Projektowania workflow opartego o role szerszego niż prosty podział admin/użytkownik.
  • Pracy z Supabase Auth, tabelami PostgreSQL, SQL pod RLS i seedami demo.
  • Budowy dashboardów oraz gęstych ekranów CRM wokół realnych stanów operacyjnych.
  • Łączenia pracy na leadach z finansami, księgowością, logistyką i montażem po podpisaniu umowy.
  • Dokumentowania demo production-like z testami, CI, roadmapą i znanymi ryzykami.

Co poprawiłbym dalej

  • Dodać więcej testów Playwright dla logowania, dashboardów i samouczka realizacji.
  • Rozbić największe route components na mniejsze moduły domenowe.
  • Poprawić logowanie błędów Supabase, analytics i monitoring.
  • Wzmocnić mobile UX dla gęstych tabel i długich formularzy operacyjnych.
  • Dodać bezpieczny skrypt resetu/seedowania demo do powtarzalnych prezentacji.

Ograniczenia

B-CRM jest demo portfolio z wzorcami production-like. Przed realnym użyciem produkcyjnym wymaga szerszych testów e2e, monitoringu, przeglądu bezpieczeństwa i dopracowania UX.