Baza AI
CODE

Baza AI

Narzędzie analityczne do danych z IdoSell: zamówienia, klienci, produkty i reklamacje w jednym miejscu.

PROJECT
WEB-051
ŹRÓDŁO
API IDOSELL
BAZA
SQLITE
BEZPIECZEŃSTWO
FERNET + PBKDF2
EKSPORT
CSV (BOM) · XLSX · PNG
STATUS
UKOŃCZONY
DATA
12 sierpnia 2026

Lokalny program pobierający dane ze sklepu, zapisujący je w SQLite i pozwalający je przeglądać, filtrować, analizować i eksportować. Klucz API szyfrowany, PIN przechowywany jako hash, serwer domyślnie słuchający wyłącznie na tym komputerze.

BAZA.AIANALITYKA DANYCH IDOSELL
LOKALNIE
WEJŚCIENARZĘDZIEPRZETWARZANIEMAGAZYNDECYZJAKONTROLAWYJŚCIE01API IDOSELL02POBRANIEzamówienia, klienci03NORMALIZACJA04SQLITE05FILTRY06AGREGATYgrupowanie 2-poziomowe07ANALIZAWYMIAROWA08ALERTYawaryjność, RMA09WYKRESY10EKSPORTCSV · XLSX · PNGCHIP LOAD → RPM → POSUWfz = 0,06–0,09 mmMATERIAŁNARZĘDZIERPMPOSUW mm/minSKLEJKA 182 ostrza · Ø618 0002 400MDF 182 ostrza · Ø616 0002 000DĄB LITY2 ostrza · Ø615 0001 700ALU 60611 ostrze · Ø612 000900WIÓROKPYŁ = ZA WOLNO
KLUCZ API SZYFROWANY (FERNET), PIN JAKO HASH PBKDF2 · SERWER DOMYŚLNIE TYLKO NA 127.0.0.1
01

PROBLEM

Panel sklepowy odpowiada dobrze na pytania operacyjne — co zamówiono dzisiaj, co wysłać. Zawodzi przy pytaniach analitycznych: które produkty psują się najczęściej, którzy klienci reklamują ponadprzeciętnie, jak sprzedaje się dana seria kolorystyczna w rozbiciu na miesiące.

Eksporty z panelu też nie pomagają, bo obejmują widok bieżącej strony albo wymagają ręcznego sklejania kilku plików.

02

POMYSŁ

Ściągnąć dane raz, trzymać je lokalnie i dać nad nimi narzędzie analityczne z dowolnym grupowaniem: klient, SKU, seria, kolor, kategoria, zestaw, kraj, status, dzień, miesiąc, rok — z drugim poziomem grupowania i kompletem filtrów.

Eksport ma obejmować wszystkie wiersze pasujące do filtrów, a nie tylko widoczną stronę. To brzmi banalnie, dopóki nie okaże się, że jest głównym powodem, dla którego panel nie wystarcza.

03

PROJEKT

Program pobiera zamówienia, klientów, produkty i reklamacje, normalizuje je i zapisuje w bazie SQLite. Interfejs jest przeglądarkowy, ale serwer domyślnie nasłuchuje wyłącznie na pętli zwrotnej — udostępnienie w sieci lokalnej wymaga jawnego przełącznika.

Bezpieczeństwo potraktowane jest poważnie mimo lokalnego charakteru: klucz API szyfrowany algorytmem Fernet w osobnym pliku, PIN dostępu przechowywany jako hash PBKDF2, nigdy jawnie. Program omija też porty blokowane przez przeglądarki, żeby użytkownik nie zderzył się z komunikatem o niebezpiecznym porcie.

Moduł reklamacji ma trzy widoki: według numeru RMA, częstotliwość na klienta (reklamacje na sto zamówień) i najbardziej awaryjne produkty liczone procentem awaryjności — czyli trzy różne pytania biznesowe, nie trzy sposoby wyświetlenia tej samej tabeli.

Dane są pobierane przyrostowo. Pełny import przy każdym uruchomieniu byłby prostszy w implementacji i nie do zniesienia w użyciu — przy kilku latach historii zamówień pierwsze pobranie i tak trwa, a kolejne muszą dociągać wyłącznie zmiany.

04

REALIZACJA

Analiza wymiarowa pozwala zestawić dowolny wymiar z dowolnym, z drugim poziomem i filtrami. Osobna podzakładka obsługuje audyt faktur i korekt. Wykresy obejmują sprzedaż w czasie oraz podziały według serii, koloru i klienta, w czterech typach, z zapisem do PNG.

Karta produktu zbiera wszystko w jednym miejscu: zdjęcia, parametry, warianty, skład zestawu, historię sprzedaży i reklamacje. Karta klienta pokazuje, co i kiedy kupował.

05

EFEKT

Pytania, które wcześniej wymagały eksportu i pracy w arkuszu, są odpowiedzią na dwa kliknięcia. Eksport CSV używa UTF-8 z BOM i średnika jako separatora — drobiazg, który decyduje o tym, czy plik otworzy się poprawnie w Excelu bez ręcznego importu.

06

GALERIA

03 ZDJĘĆ
  • Baza AI — podgląd zestawienia przed eksportem · zrzut z projektu

  • Baza AI — zakładki analityczne aplikacji · zrzut z projektu

  • Baza AI — podgląd dokumentu WZ · zrzut z projektu

07

WNIOSKI

Największą wartość dało nie samo raportowanie, tylko zestawienie reklamacji z produktami. Procent awaryjności per SKU jest liczbą, której nie widać w panelu sklepowym, a która wprost wskazuje, gdzie szukać problemu jakościowego.

Drugą obserwacją była wartość widoku „reklamacje na sto zamówień”. Bezwzględna liczba reklamacji wskazuje na największych klientów, bo oni kupują najwięcej. Dopiero znormalizowanie do liczby zamówień pokazuje, gdzie rzeczywiście jest problem — i bywa, że wskazuje zupełnie inny podmiot.