Podsumowanie Prac¶
Projekt: Panel AIO Factory — wdrożenie zgodnie z Ofertą AIOFactory z 13 stycznia 2026.
Wykonawca: ROOTACCESS · import.allinone@gmail.com.
Klient (Zleceniodawca): AIO Factory — właściciel projektu.
Okres realizacji: 13.01.2026 → 30.04.2026 (faza rozwoju). Faza utrzymania: 01.05.2026 → 31.08.2026.
Data raportu: 2026-05-02.
Wersja dokumentu: 1.0 — finalna do podpisu.
Pobierz wersję PDF tego dokumentu
Streszczenie wykonawcze¶
W ramach umowy z 13 stycznia 2026 dostarczono kompletne środowisko sprzedażowo-operacyjne AIO Factory: 3 fizyczne serwery w architekturze 3-lokalizacji (Hetzner / OVH / OVH) plus sieć VPS z OVH IP-failover, panel operatora w SvelteKit z modułami Ofert, Obsługi Klienta, Sklepów, Automatyzacji i Konfiguracji, silnik automatyzacji Windmill (zastępujący wskazany w ofercie N8N — patrz FAQ #11) z dziesiątkami flowów per platforma, integracje z 7 marketplace'ami (Allegro, Erli, Joom, eBay, Amazon, WooCommerce, Temu) oraz BaseLinkerem jako źródłem prawdy katalogu, własny serwer pocztowy Mailcow z DKIM/SPF/DMARC, Posejdon — most Subiekt → BaseLinker w postaci .NET 8 console app, oraz dokumentację handoffową opublikowaną na docs.aiofactory.pl. Z punktu widzenia oferty: 94 % pozycji dostarczone w pełni lub częściowo (Roadmap); pozostałe 2 pozycje wprost odroczone ofertą (Subiekt Nexo Pro v57+, Vaultwarden self-hosted). Niniejszy dokument jest finałowym artefaktem zamykającym etap rozwojowy i otwierającym fazę utrzymania bug-fix 01.05.2026 – 31.08.2026 w 50 % stawki.
Liczby końcowe (stan na 2026-05-02)¶
| Wskaźnik | Wartość |
|---|---|
| Pozycje oferty zrealizowane w pełni | 35 ✅ |
| Pozycje oferty częściowe (z udokumentowaną granicą) | 3 🟠 |
| Pozycje wprost odroczone zgodnie z ofertą | 2 🔵 |
| Bonusy ponad ofertę | 7 ✅ |
| Świadome wyłączenia (polityka platform / wyłączenia ofertowe) | 6 ⚪ |
| Headline realizacji oferty | ~94 % (31 z 33 pozycji ofertowych zrealizowane lub częściowe) |
| Domeny kodu (monorepo) | 4 — convex/ · dashboard/ · windmill/ · web-aio/ |
| Marketplace zintegrowane | 7 + BaseLinker |
| Fizyczne serwery + sieć VPS | 3 + 1 aktywny VPS (PL) + 10 standby/planowane |
| Stron dokumentacji handoffu | 41 stron .md (sekcje: Start · FAQ · Co dostarczono · Listings · CS · Sklep · Operations · Support · Roadmap · Podsumowanie) |
| Commitów na master (13.01 → 02.05.2026) | ~500 |
Szczegółowy stan pozycja-po-pozycji: Roadmap — stan realizacji. Weryfikacja per zgłoszenie Forgejo: FAQ.
Per-deliverable summary¶
Pięć głównych pakietów oferty (str. 2–6) — co obiecane, co dostarczone, jakie wyłączenia.
1. Serwery i Infrastruktura (Oferta str. 2–3)¶
Promised: 3 fizyczne serwery z redundancją (Hetzner + 2× OVH), sieć VPS w lokalizacjach klientów (11 krajów) z OVH IP-failover, prywatna sieć vRack, NixOS + Docker w biurze, Vaultwarden, lokalne backupy, Netbird VPN, baza WordPress, Reverse Proxy z auto-SSL.
Delivered: Wszystkie elementy core dostarczone i działają w produkcji — host-mom (Hetzner: Mailcow + narzędzia + sklepy), host-dad (OVH: Convex + Windmill + panel + replika sklepu), host-son (OVH: standby — trzecia linia obrony zgodnie z architekturą). vRack OVH spina host-dad + host-son. IP-failover OVH przepina ruch w sekundach. NixOS deklaratywny w repozytorium ~/infra/. Docker compose stacks per usługa. Caddy + auto-SSL (Let's Encrypt) na każdym hoście. Backrest + Backblaze B2 dla backupów off-site. Netbird mesh VPN dla zdalnego dostępu administracyjnego. Sieć VPS — Polska aktywna (buyspace.pl); kolejne kraje uruchamiane sukcesywnie zgodnie z zapisem oferty „sukcesywne uruchamianie kolejnych VPS-ów (w miarę ich dostępności)" (str. 3). Pełen inwentarz: Inwentarz Usług.
Exclusions / deferrals: Vaultwarden self-hosted nie został uruchomiony — decyzją właściciela pozostajemy na Bitwarden cloud dla magazynu haseł projektu. Konfiguracja Vaultwarden jest przygotowana w razie zmiany decyzji w przyszłości — patrz Operations — Usługi opcjonalne.
→ Szczegóły: Serwery i Infrastruktura · Inwentarz Usług.
2. Integracje marketplace + ekosystem narzędzi (Oferta str. 4)¶
Promised: Wielka Piątka marketplace'ów (Allegro „działa", Erli „w trakcie", Joom „priorytet", eBay „priorytet", WooCommerce „własny sklep"), BaseLinker („kluczowy hub"), Subiekt („finalizacja po przejściu na Nexo Pro v57+"), Poczta — Gmail OAuth + self-hosted Mailcow, silnik automatyzacji (oferta wskazywała N8N), przesyłanie zamówień między systemami, aktualizacja stanów magazynowych, obsługa klientów API.
Delivered: 7 platform zintegrowanych (Wielka Piątka + Amazon + Temu jako bonus). Każda ma: OAuth lub klucz API + monitoring tokenu, pobieranie ofert, wystawianie pojedyncze i rodzin (warianty), reguła cenowa (cennik1 + cennik2) × współczynnik end-to-end po stronie serwerowej (TASK-269/290 — wcześniej tylko Allegro). BaseLinker jako źródło prawdy katalogu i stanów (panel czyta, nie zapisuje). Mailcow w pełni — DKIM/SPF/DMARC, IMAP fetcher do modułu Obsługi Klienta. Gmail OAuth z auto-refresh. N8N → Windmill — uzasadnienie zmiany w FAQ #11; funkcjonalnie pokrywa się z N8N i jest stabilniejszy w wieloletnim utrzymaniu. Subiekt dostarczony jako Posejdon (osobne repo git.aiofactory.pl/aio/posejdon, .NET 8) — most Subiekt Nexo → BaseLinker działający na Windows Serverze właściciela. Macierz możliwości per platforma: Listings — Wystawianie ofert.
Exclusions / deferrals:
- Amazon — rynki inne niż PL — wymaga osobnych kont sprzedawcy per kraj (polityka Amazona, nie projektowa). Po założeniu kolejnego konta przez właściciela, podpięcie odbywa się standardową procedurą OAuth w panelu. Patrz FAQ #20.
- Mark-as-read na platformach po automatycznej odpowiedzi — wsparcie publicznego API tylko dla Allegro; pozostałe platformy nie udostępniają tej funkcji w API. Udokumentowana luka — wszystkie inne kanały działają w trybie fetch-only, bez modyfikacji stanu wiadomości po stronie platformy.
- Subiekt Nexo Pro v57+ rewrite Posejdona — odroczone wprost zgodnie z ofertą str. 4: „sugeruję finalizację po przejściu na Subiekt Nexo Pro v57+". Aktualny Posejdon jest gotów na migrację — przepisanie po stronie wykonawcy w nowym zleceniu, gdy właściciel zmieni framework Subiekta.
→ Szczegóły: Listings — Wystawianie ofert · Obsługa Klienta · Posejdon — granica wsparcia.
3. Dashboard — Panel operatora (Oferta str. 6)¶
Promised: Monitoring statusu serwerów / integracji, monitoring spływających zamówień, akcje operacyjne na zamówieniach i produktach, automatyzacja codzienności (np. „zamawianie tkanin"), role i uprawnienia.
Delivered: Panel SvelteKit w panel.aiofactory.pl z modułami: Marketplace → Oferty/Konfiguracja/Konflikty/Historia, Obsługa Klienta (3 zakładki: Zgłoszenia + Scenariusze + Reguły przydziału), Sklep (konfiguracja kont WooCommerce, deploy CSS, mu-plugin), Automatyzacje (uruchamianie scenariuszy, podgląd przebiegów, DLQ), Tkaniny (modułowe zamawianie surowca), Roadmap (tabela stanu realizacji edytowalna przez właściciela), Konfiguracja (konta OAuth, skrzynki email, role użytkowników, opiekunowie). Pełen monitoring: Beszel (CPU/RAM/dysk/kontenery, host-mom + host-dad), wewnętrzne strony statusu, Backrest UI dla backupów. Role i uprawnienia per użytkownik (przypisanie skrzynek pocztowych do konkretnych opiekunów). Bugfixy z finałowego sprintu (zgłoszenia Forgejo #5, #6, #7, #8, #9, #10, #28) — wszystkie zaadresowane: TASK-267/268/269/270 + sprint 1 fazy utrzymania (TASK-316.01–.04).
Exclusions / deferrals: Brak. Wszystkie elementy z oferty str. 6 dostarczone i działają w produkcji.
→ Szczegóły: Co zostało dostarczone — przegląd · poszczególne moduły w bocznym menu.
4. Sklepy internetowe (Oferta str. 4)¶
Promised: Postawienie sklepu WordPress + WooCommerce, integracja z resztą systemu (BaseLinker, panel).
Delivered: 5 instancji buyspace.pl (master/eu/de/test na host-mom + replika produkcyjna na host-dad z OVH IP-failover). Każda instancja: kontener WordPress + dedykowany kontener MariaDB, backup 01:00 → B2 (retencja 30 dni), Caddy auto-SSL. Most BaseLinker ↔ Woo — produkty katalogu BL trafiają na sklep przez REST WC API. Most panel ↔ Woo — Marketplace → Oferty obsługuje sklep jak każdą inną platformę (model cenowy, mapowanie kategorii, publikacja wariantów). Pipeline artykułów blogowych — f/automations/articles/article_pipeline w Windmillu generuje artykuły jako draft do WordPressa przez REST API (Sklep — Pipeline artykułów). Posejdon udostępnia rotację Subiekta do BL (poza serwerami AIO — działa u właściciela).
Exclusions / deferrals: Granica wsparcia twarda — wprost zgodnie z Ofertą str. 4:
„WooCommerce: Twój własny sklep. Ważne: W ramach pakietu uruchamiam sklep i integruję go z resztą systemu. Natomiast nie świadczę supportu dla samego WordPressa/WooCommerce (np. edycja szablonów, wtyczki, zarządzanie treścią). To pozostaje po Twojej stronie."
W praktyce: mieści się w ofercie — postawienie sklepu, podpięcie domeny, integracja z BaseLinker i panelem, backup, infrastruktura, certyfikat SSL. Nie mieści się — edycja motywu/szablonu, instalacja i konfiguracja wtyczek, dodawanie i edycja treści produktów, opieka nad wyglądem, tłumaczenia i lokalizacje. Postawienie nowego sklepu na nowym rynku (DE / FR / inne — Forgejo #26) wchodzi w to wyłączenie — szczegóły FAQ #26.
Posejdon — granica wsparcia: my dostarczamy kod źródłowy + skrypty bootstrap + dokumentację + pomoc w instalacji pierwotnej; właściciel hostuje (Windows Server, .NET 8 SDK, InsERT nexoSDK, IIS na 8081, Scheduled Task). W trybie bug-fix mode naprawiamy bugi w kodzie źródłowym — właściciel pobiera, buduje i wdraża u siebie. Nie mamy zdalnego dostępu do serwera Windows właściciela.
→ Szczegóły: Sklepy internetowe · Sklep — przewodnik szczegółowy · Granica wsparcia.
5. Automatyzacje (Oferta str. 4 i str. 6)¶
Promised: Silnik automatyzacji (oferta: N8N), przesyłanie zamówień między systemami, aktualizacja stanów magazynowych, obsługa klientów API, automatyzacja codzienności (str. 6: „zautomatyzujemy proste procesy, które teraz trzymacie w Excelach").
Delivered: Silnik Windmill zamiast N8N — uzasadnienie i porównanie funkcjonalne w FAQ #11. Stos kilku-set flowów i skryptów Pythona / TypeScript / Bun w windmill/f/, w tym: flowy refresh tokenów OAuth per platforma, fetcherzy zamówień / wiadomości / disputes per platforma (read-only), publikacja ofert per platforma + per typ (singleton / group / variant), klasyfikator AI wiadomości (Claude API, f/support/classify.py), dyspozytor scenariuszy CS (cron co 60 s, f/support/dispatcher.flow/), Pupprint (kolejka imion psów dla naklejek na opakowania), Podaj kolor (pipeline „klient odpowiedział na wiadomość Allegro → kolor zapisany do BaseLinkera"), artykuły blogowe (pipeline LLM → WordPress draft), infra (renew certyfikatów, backup B2, monitoring świeżości snapshotów). Wizualny edytor scenariuszy — operator buduje automatyzacje przez graf węzłów bez kodu (zakładka Obsługa Klienta → Scenariusze, Builder — tutorial).
Exclusions / deferrals: Brak — automatyzacje dostarczone w pełni i rozszerzone ponad ofertę (wizualny edytor scenariuszy nie był wymieniony w ofercie).
→ Szczegóły: Automatyzacje (Windmill) · Obsługa Klienta — przewodnik szczegółowy.
6. Bonusy ponad ofertę¶
Elementy zrealizowane i wdrożone na produkcji, niewymienione explicite w ofercie:
| Element | Rola |
|---|---|
| Postiz | Planowanie i publikacja Social Media (FB / IG / LinkedIn / TikTok / X) — postiz.aiofactory.pl |
| Listmonk | Mailing masowy (newslettery, kampanie) — relay przez Mailcow — listmonk.aiofactory.pl |
| Beszel | Monitoring zdrowia hostów (CPU/RAM/dysk + status kontenerów) — beszel.aiofactory.pl |
| Backrest + B2 | UI do restic, backupy off-site — backrest.aiofactory.pl |
| Forgejo | Self-hosted git + issues — git.aiofactory.pl |
| Wizualny edytor scenariuszy CS | Operator buduje automatyzacje grafem węzłów bez kodu |
| Integracja Temu | Marketplace nie wymieniony w ofercie — pełna integracja z OAuth + publish + fetch |
Paperless-ngx (zarządzanie dokumentami z OCR) jest opcjonalny ze str. 6 oferty — przygotowany konfiguracyjnie, nie uruchomiony w pierwotnym wdrożeniu (właściciel nie zgłosił potrzeby).
Wyłączenia (eksplicytne)¶
Następujące elementy nie wchodzą w zakres pierwotnej oferty i nie są dostarczane w ramach niniejszego rozliczenia. Każde wyłączenie jest udokumentowane w odpowiedniej sekcji handoffu z linkiem do paragrafu oferty.
A. Wsparcie WordPress / WooCommerce (Oferta str. 4 — verbatim)¶
„WooCommerce: Twój własny sklep. Ważne: W ramach pakietu uruchamiam sklep i integruję go z resztą systemu. Natomiast nie świadczę supportu dla samego WordPressa/WooCommerce (np. edycja szablonów, wtyczki, zarządzanie treścią). To pozostaje po Twojej stronie."
W szczególności poza zakresem: szablony, wtyczki, treści produktów, tłumaczenia, lokalizacje, postawienie nowego sklepu na nowym rynku (DE / FR / inne).
B. Subiekt — finalizacja konektora (Oferta str. 4 — verbatim)¶
„Subiekt: jest to wciąż jedyny działający dla Ciebie sposób komunikacji panelu sprzedaży internetowej z magazynem. (…) Sugeruję finalizację po przejściu na Subiekt Nexo Pro w wersji 57+ — by uniknąć podwójnego przepisywania kodu."
Stan: Posejdon dostarczony dla aktualnego Subiekta (commit f76c14e w aio/posejdon, 2026-04-23). Pełna integracja z Subiekt Nexo Pro v57+ odroczona — czeka na migrację właściciela na nowy framework Subiekta. Po migracji: nowe zlecenie po fazie utrzymania.
C. Amazon — rynki inne niż PL¶
Wymaga osobnych kont sprzedawcy per kraj (polityka Amazona). Po założeniu kolejnego konta przez właściciela, podpięcie odbywa się standardową procedurą OAuth w panelu — nie wymaga prac developerskich.
D. Mark-as-read po automatycznej odpowiedzi (poza Allegro)¶
Wsparcie publicznego API tylko dla Allegro; pozostałe platformy nie udostępniają tej funkcji w API. Pobieracze pracują w trybie fetch-only — nie modyfikują stanu wiadomości po stronie platformy. Polityka „pobieracze strictly read-only" jest częścią modelu zaufania scenariuszy CS — patrz Obsługa Klienta — Głośna szyba bezpieczeństwa.
E. Vaultwarden self-hosted¶
Decyzja właściciela: korzystamy z Bitwarden cloud (poza naszą infrastrukturą). Konfiguracja Vaultwarden gotowa w razie zmiany preferencji — patrz Inwentarz Usług → Usługi opcjonalne.
Faza utrzymania — okres wsparcia (bug-fix mode)¶
Zgodnie z Ofertą AIOFactory str. 7:
„Po fazie rozwoju (styczeń–kwiecień 2026), w okresie maj–sierpień 2026 świadczę wsparcie utrzymaniowe w 50 % stawki rozwojowej (3 750 zł / mc). Zakres: monitoring, naprawa błędów, reagowanie na awarie. Nowe funkcjonalności wymagają osobnego ustalenia po sezonie."
Warunki¶
| Element | Wartość |
|---|---|
| Data rozpoczęcia | 01.05.2026 |
| Data zakończenia | 31.08.2026 (3 miesiące) |
| Stawka miesięczna | 3 750 zł / mc (50 % stawki rozwojowej 7 500 zł / mc) |
| Zakres | monitoring 24/7 · naprawa bugów · reagowanie na awarie · drobne korekty dokumentacji |
| Poza zakresem | nowe funkcjonalności · zmiany architektoniczne · prace na WordPress/WooCommerce (poza utrzymaniem zgodnie z wyłączeniem A) · rewrite Posejdona pod Nexo Pro v57+ |
| Kanał zgłoszeń | Forgejo aio/panel (single-repo policy — wszystkie zgłoszenia dotyczące dowolnej części systemu) |
| Cadence | weekendowy sprint (Sob/Nd: triage + coding + deploy); Pn–Pt brak ingerencji w produkcję |
Definicja Bug vs Nowa praca¶
Bug = odchylenie od stanu opisanego w niniejszej dokumentacji handoffu lub regresja w stosunku do działania w fazie rozwoju (do 30.04.2026). W zakresie umowy utrzymaniowej — naprawa bez dodatkowej wyceny.
Nowa praca = funkcjonalność nieopisana w handoffie ani w pierwotnej ofercie z 13.01.2026. Poza zakresem umowy utrzymaniowej — wymaga osobnej wyceny i realizacji po zakończeniu fazy utrzymania (jesień 2026).
Granica formalna oparta o tę dokumentację: jeżeli element jest opisany jako działający w sekcji Co zostało dostarczone, Listings, CS, Sklep, Operations, Roadmap lub Inwentarz Usług — odchylenie od tego stanu to bug.
→ Pełna procedura: Support i SLA — faza utrzymania. Czas reakcji per klasa zgłoszenia (P0/P1/P2/P3) zostanie udokumentowany na stronie support/response-times.md w trakcie pierwszego sprintu fazy utrzymania.
Odzyskiwanie dostępów¶
W razie utraty dostępu do panelu lub Bitwardena:
- Kontakt z wykonawcą poprzez email
import.allinone@gmail.com. - Wykonawca posiada zapasowy klucz
age(do SOPS) umożliwiający odszyfrowanie sekretów w repo. - Procedura przywrócenia: weryfikacja tożsamości właściciela → przekazanie nowych poświadczeń przez bezpieczny kanał → reset haseł użytkowników.
Po zakończeniu fazy utrzymania (31.08.2026) zapasowy klucz age zostanie przekazany właścicielowi (TASK-153 — „H14 — revoke backlog access; transition to bug-fix mode actively"), co domyka cykl handoffu.
Dokumentacja¶
Niniejsza dokumentacja stanowi spełnienie zapisu Oferty str. 7:
„Do całego systemu dostarczę pełną dokumentację. Oznacza to, że rozwój projektu będzie prosty i niezależny ode mnie — jeśli w przyszłości będziesz chciał przekazać go komuś innemu, nie będzie z tym problemu."
Dokumentacja składa się z:
- Strona handoff
docs.aiofactory.pl— operatorska + administracyjna, źródła wdocs/handoff/repozytoriumaio/panel. windmill/ARCHITECTURE.md+windmill/docs/— dokumentacja techniczna dla osoby przejmującej projekt jako developer (TASK-262.16, TASK-262.22).docs/DOMAINS.md— rejestr domen kodu z punktami wejścia i komendami walidacyjnymi.AGENTS.mdper-domena — instrukcje dla AI-agentów wspierających rozwój.backlog/w repo — pełna historia decyzji (backlog decision) i dokumentów projektowych (backlog/docs/). Backlogtask-*z fazy rozwoju zostaje zamknięty na koniec fazy utrzymania (TASK-153).
Dane techniczne — odtwarzalność dokumentu¶
Źródło tej strony: docs/handoff/podsumowanie.md w repozytorium aio/panel.
Build dokumentacji:
Generowanie PDF z tej strony:
cd /home/aio/panel
./scripts/build-podsumowanie-pdf.sh
# wynik: docs/handoff/podsumowanie.pdf (i build/handoff-site/podsumowanie.pdf po just docs-build)
Skrypt używa playwright (Chromium headless) — jest odtwarzalny offline po jednorazowej instalacji uv tool install playwright + playwright install chromium. Pełen opis w scripts/build-podsumowanie-pdf.sh.
Deploy dokumentacji: just docs-deploy (mkdocs build → kopiowanie do kontenera aiodocs na host-dad).
Blok podpisu¶
Niniejszy dokument stanowi finałowy artefakt zamykający fazę rozwojową projektu Panel AIO Factory zgodnie z Ofertą AIOFactory z 13 stycznia 2026 oraz potwierdzający rozpoczęcie fazy utrzymania (bug-fix mode) na okres 01.05.2026 – 31.08.2026 w stawce 3 750 zł / mc.
Oświadczenia stron:
- Wykonawca oświadcza, że dostarczył przedmiot umowy w zakresie opisanym w niniejszym dokumencie i potwierdzonym przez całość dokumentacji handoffu (
docs.aiofactory.pl), z udokumentowanymi wyłączeniami opisanymi w sekcji Wyłączenia (eksplicytne). - Klient oświadcza, że zapoznał się z dokumentacją handoffu, akceptuje dostarczony zakres prac oraz zaakceptowane wyłączenia, i przyjmuje warunki fazy utrzymania opisane w sekcji Faza utrzymania.
| Strona | Imię i nazwisko | Podpis | Data |
|---|---|---|---|
| Wykonawca (ROOTACCESS) | _____ | _____ | ___ |
| Klient / Zleceniodawca (AIO Factory) | _____ | _____ | ___ |
Akceptuję dostarczone: ☐ Tak — w zakresie opisanym powyżej.
Dokument wygenerowany: 2026-05-02 (źródło: docs/handoff/podsumowanie.md).
Wersja: 1.0 — finalna do podpisu.
Pełna wersja PDF: pobierz podsumowanie.pdf.