Продукт · BI / Аналітика
Корпоративний BI-дашборд
Frontend-інженер — побудовано з нуля
Під NDA — клієнт і деталі продукту прихованіЦей проєкт під NDA — клієнта, назву продукту та скріншоти показати не можна. Далі — лише про мою роль і технічний підхід: дашборд бізнес-аналітики для великого продавця на Amazon з обігом понад $10 млн — виручка, маржа на рівні замовлення й запаси, зведені по шестизначній кількості замовлень щомісяця, для операційної команди, якій потрібно було ловити ерозію маржі до того, як вона з'явиться у звіті P&L.
Задача
Історія замовлень продавця перевищувала 100 000 рядків і продовжувала зростати, а команді потрібно було фільтрувати, сортувати й експортувати будь-який зріз цих даних — за датою, SKU чи статусом — без зависання вкладки браузера чи таймауту експорту. Дашборд, що обробляє лише першу сторінку даних, не витримав би зіткнення з реальним набором даних.
Підхід
- Віртуалізований рендеринг таблиці, коли в DOM монтуються лише видимі рядки, зберігаючи плавність скролу й фільтрації на понад 100 000 замовлень
- Курсорна пагінація на рівні API замість офсетної, що дозволило уникнути проблеми повільного підрахунку на таблиці такого розміру
- Фільтрація на боці сервера з дебаунсом (за діапазоном дат, SKU, статусом), тож клієнт ніколи не тримає в пам'яті більше однієї сторінки результатів
- Експорт CSV/PDF на боці клієнта, реалізований як фонове завдання з індикатором прогресу, а не блокуванням інтерфейсу під час стрімінгу файлу
- Агрегати маржі та виручки обчислюються на сервері й кешуються по періодах, тож дашборд рендериться миттєво замість підсумовування рядків у браузері
Результат
−45%
зменшення часу початкового рендерингу завдяки віртуалізованим таблицям і курсорній пагінації
100k+
замовлень, які можна фільтрувати й експортувати без зависання на клієнті