image image image
Задача Продавец на Wildberries раз в неделю получает отчёт о реализации: XLSX на 84 колонки и до сотен тысяч строк. В кабинете видна сумма к перечислению, но не видна прибыль по каждому товару. Её считают вручную в Excel, а готовые сервисы просят API-ключ от кабинета. Решение https://statsvod.ru/ считает прибыль по каждому товару прямо из отчёта, без API-ключей: - браузер разбирает файл на месте, отчёт никуда не отправляется; - себестоимость учитывает даты: каждая продажа считается по цене своего дня; - на дашборде прибыль по товарам, ABC-анализ и выгрузка в Excel; - итог сверяется с отчётом до копейки тремя способами. Технические решения Потоковый парсер XLSX. Распакованный лист на 400 тыс. строк весит около гигабайта. Парсер читает его потоком в Web Worker и держит ключи товаров номерами до конца разбора. 400 тыс. строк разбираются за 4,5 секунды, каталог на 5000 товаров укладывается в 100 МБ. Сквозное шифрование себестоимости. Из пароля выводятся два ключа (PBKDF2 и HKDF): ключ шифрования остаётся в браузере, на сервер уходит только доказательство входа. Справочник шифруется AES-GCM, и даже полная утечка базы не раскрывает ни одной цены. Моя роль Всё делал один: продукт, архитектуру, фронтенд, бэкенд и инфраструктуру. Подробнее: https://ydy.su/portfolio/stat-svod https://ydy.su/blog/400-tysyach-strok-excel-v-brauzere-i-server-kotoryy-nichego-ne-znaet
https://statsvod.ru/