Blog · Case study
Nouviro: katalog produktów, oferty i kanały sprzedaży
Nouviro to platforma, w której katalog nie jest „ładną listą produktów”, tylko centrum operacji: opisy, media, parametry, publikacja ofert i statusy na wielu kanałach. Ten tekst opisuje decyzje produktowe, nie listę marketingowych haseł.
Problem, który chcieliśmy rozwiązać
W handlu wielokanałowym najwięcej czasu zabiera utrzymanie spójności danych. Ten sam produkt ma inne limity znaków na marketplace, inne wymagania co do zdjęć i inne statusy magazynowe. Gdy źródłem prawdy jest arkusz, błędy rosną wraz z liczbą SKU.
Nouviro stawia na jeden model produktu w bazie relacyjnej oraz procesy, które potrafią opublikować i zaktualizować ofertę bez ręcznego kopiowania. Panel ma być szybki przy setkach i tysiącach pozycji, nie tylko przy demo z dziesięcioma kartami.
Architektura danych
Produkt, warianty, media i parametry to osobne byty powiązane relacjami. Dzięki temu zmiana zdjęcia albo ceny nie wymaga przepisywania całego rekordu. Opisy długie i krótkie trzymamy osobno, bo kanały mają różne limity.
Operacje tła (sync statusów, pobieranie mediów, walidacje) idą poza requestem HTTP. Użytkownik widzi status zadania: w kolejce, w toku, błąd, gotowe. To ważne przy dużej liczbie pozycji, bo synchroniczny request i tak by się wyłożył.
Publikacja i jakość treści
Samo „wrzucenie” produktu na kanał nie wystarczy. Przed publikacją uruchamiamy checklistę: komplet zdjęć, wymagane parametry, sensowna cena, poprawny EAN tam gdzie jest wymagany. Błędy wracają do panelu jako konkretna lista, nie jako ogólne „nie udało się”.
Tam, gdzie pomaga automatyzacja opisów, traktujemy AI jako asystenta draftu, nie jako źródło prawdy. Finalna akceptacja zostaje po stronie operatora.
Wdrożenie produkcyjne
Frontend i API działają w kontenerach Docker za Nginx z HTTPS. Migracje bazy nie blokują startu procesu HTTP (inaczej pojawia się 502 przy restarcie). Rebuild z GitHub idzie z brancha main. Sekrety (klucze API marketplace, baza) nie trafiają do repozytorium.
Czego nauczyliśmy się na produkcji
- Operatorzy potrzebują filtrów i masowych akcji wcześniej, niż się wydaje.
- Logi syncu to funkcja produktowa: bez nich support tonie w zgłoszeniach.
- Limity API partnerów wymuszają kolejki i backoff, nie „pętlę for”.
- Media zajmują więcej dysku i czasu niż sam kod: planuj storage od początku.
Dla kogo jest ten case
Dla zespołów, które mają katalog i kanały sprzedaży, a nie tylko landing. Jeśli budujesz podobny system (nawet w innej branży), kluczowe są: model danych, statusy zadań i czytelne błędy integracji. Produkt: nouviro.com. Więcej o procesie: Jak budujemy SaaS.