Powrót do projektów

Produkt · BI / Analityka

Korporacyjny dashboard BI

Inżynier Frontend — zbudowane od zera

Objęte NDA — klient i szczegóły produktu nieujawnione

Ten projekt jest objęty NDA — klienta, nazwy produktu i zrzutów ekranu nie można ujawnić. Poniżej ograniczam się do mojej roli i podejścia technicznego: dashboard business intelligence zbudowany dla dużego sprzedawcy na Amazon o obrotach przekraczających 10 mln USD — przychody, marża na poziomie zamówienia i zapasy zagregowane dla sześciocyfrowej liczby zamówień miesięcznie, dla zespołu operacyjnego, który musiał wychwytywać erozję marży, zanim pojawi się w rachunku zysków i strat.

Wyzwanie

Historia zamówień sprzedawcy przekraczała 100 000 wierszy i wciąż rosła, a zespół musiał filtrować, sortować i eksportować dowolny wycinek tych danych — po dacie, SKU lub statusie — bez zawieszania karty przeglądarki czy timeoutu eksportu. Dashboard obsługujący tylko pierwszą stronę danych nie przetrwałby zderzenia z rzeczywistym zbiorem danych.

Podejście

  • Wirtualizowane renderowanie tabeli, tak że tylko widoczne wiersze są montowane w DOM, co utrzymuje płynność przewijania i filtrowania przy ponad 100 000 zamówień
  • Paginacja oparta na kursorze zamiast offsetowej po stronie API, unikając problemu wolnego liczenia na tabeli tej wielkości
  • Filtrowanie po stronie serwera z debounce (zakres dat, SKU, status), więc klient nigdy nie trzyma w pamięci więcej niż jedną stronę wyników
  • Eksport CSV/PDF po stronie klienta zbudowany jako zadanie w tle ze wskaźnikiem postępu, zamiast blokować interfejs podczas strumieniowania pliku
  • Agregaty marży i przychodów obliczane po stronie serwera i cachowane per okres, dzięki czemu dashboard renderuje się natychmiast zamiast sumować wiersze w przeglądarce

Rezultat

−45%

skrócenia czasu początkowego renderowania dzięki wirtualizowanym tabelom i paginacji kursorowej

100k+

zamówień możliwych do filtrowania i eksportu bez zawieszania po stronie klienta