Wprowadzenie
Wprowadzenie
Dokumentacja opisuje architekturę aplikacji do zarządzania sprzedażą wielokanałową (multi-marketplace).
System integruje się z różnymi platformami sprzedażowymi (np. Amazon, Mirakl, Kaufland), agreguje dane produktów i zamówień oraz umożliwia ich dalsze przetwarzanie (np. wysyłka, fakturowanie, eksport do Afterbuy).
Główne założenia
1. Multi-platform / Multi-marketplace
System rozróżnia:
- Platform – dostawca API (np. Amazon, Mirakl)
- Marketplace – konkretny rynek (np. Amazon DE)
Pozwala to obsługiwać:
- wiele marketplace w ramach jednej platformy
- różne modele API (single vs multi marketplace)
2. Centralny model danych
Aplikacja posiada własny, ustandaryzowany model danych:
- Product Model – zarządzanie katalogiem produktów
- Order Model – obsługa zamówień
➡️ Dane z platform są mapowane do jednego spójnego formatu
3. Single Source of Truth
- Product jest źródłem prawdy dla danych produktowych
- MarketplaceProduct jest źródłem prawdy dla stanu produktu na marketplace
4. Pipeline przetwarzania danych
Dane przechodzą przez jasno określone etapy:
External API → Normalizacja → Model lokalny → Pipeline → Synchronizacja
5. Asynchroniczność
System opiera się na:
- jobach (kolejka)
- schedulerze
- przetwarzaniu zadań w tle
➡️ brak ciężkich operacji synchronicznych
Kluczowe komponenty
Integracje (Platform Services)
Każda platforma posiada własną implementację:
- pobieranie produktów
- pobieranie zamówień
- synchronizacja danych
Modele domenowe
- Product Model
- Order Model
- Marketplace / Platform
Pipeline
- przetwarzanie cen
- budowanie payloadów
- synchronizacja z marketplace
Kontekst runtime
MarketplaceContext– aktualny marketplace w trakcie operacjiActionContext– w momencie wykonywaniaAction
Przepływ danych (high-level)
Produkty
Product → MarketplaceProduct → Marketplace API
Zamówienia
Marketplace API → Order → Local App → Afterbuy
Cel architektury
- skalowalność (wiele marketplace)
- elastyczność (różne API)
- spójność danych
- łatwa rozbudowa o nowe integracje