Bazoš Wydawca — Etap 2 (rotacja, harmonogram, monitorowanie, grupy, synchronizacja z Excelem)
Projekt: Aplikacja desktopowa w Pythonie do automatyzacji publikacji ogłoszeń na Bazoš.skTechnologie: Python, Playwright, PySide6, SQLite, import/eksport ExcelKoszt drugiego etapu: 27 000 UAHTermin realizacji: 12–14 dni roboczych po zarezerwowaniu płatności na Sejfie i otrzymaniu czeskiego PSČ dla probe Bazoš.cz.
1. Cel drugiego etapu
Rozszerzenie roboczej wersji MVP do pełnoprawnego narzędzia produkcyjnego do codziennej pracy menedżera na Bazoš.sk.
Etap 2 zamyka wszystkie kluczowe scenariusze regularnej pracy: — automatyczna rotacja i ponowna publikacja ogłoszeń; — uruchamianie pracy według harmonogramu bez udziału użytkownika; — monitorowanie stanu opublikowanych ogłoszeń; — zarządzanie grupami kont; — dwustronna synchronizacja wyników z Excelem; — wsparcie dla dowolnych "prosty" kategorii Bazoš.sk przez uniwersalny silnik (zamiast jednej stałej kategorii Notebooky z Etapu 1).
Po Etapie 2 menedżer otrzymuje narzędzie, które wymaga minimalnej interwencji ręcznej: ustawić harmonogram raz → bot sam publikuje, aktualizuje, monitoruje i zapisuje wyniki z powrotem do Excela.
2. Co wchodzi w drugi etap
2.1 Moduł rotacji / automatycznej ponownej publikacji
— konfigurowany interwał rotacji w dniach: • globalny domyślny 3 dni; • możliwość nadpisania interwału dla konkretnego konta (na przykład dla laptopów 1 dzień, dla drobiazgów 3 dni); — logika rotacji: usunięcie starego ogłoszenia na Bazoš → publikacja nowego z tymi samymi danymi (ten sam tytuł/opis/zdjęcie/PSČ) → aktualizacja linku w bazie danych i Excelu; — przycisk „Zaktualizuj wybrane konto”: pozwala menedżerowi ręcznie uruchomić rotację dla jednego konkretnego konta, nie dotykając innych; — nowy status
reservedo wykluczenia towarów z rotacji: • ustawiany ręcznie w aplikacji (prawy klik → „Zarezerwować”) lub przez kolumnę w Excelu; • takie towary bot pomija podczas rotacji do momentu zdjęcia statusu; — kontrola limitu 50 aktywnych ogłoszeń na konto: • przed publikacją bot sprawdza liczbę aktywnych ogłoszeń na koncie; • jeśli limit osiągnięty → rotacja dla tego konta zostaje zatrzymana, w logu zapisuje się powiadomienie, menedżer ręcznie decyduje co zrobić (usunąć stare ogłoszenia lub tymczasowo wyłączyć konto); • automatycznego usuwania starych ogłoszeń bot nie wykonuje.2.2 Moduł harmonogramu / planowania
— harmonogram dla każdego konta osobno z dwoma trybami: • konkretna godzina: na przykład konto #1 publikuje o 09:00, 13:00, 17:00; • zakres z interwałem: na przykład od 09:00 do 18:00 co 60 minut; — automatyczne uruchamianie rotacji według harmonogramu: aplikacja sama w określonym czasie uruchamia kolejkę dla konta, przechodzi przez pending-towary, robi przerwy między publikacjami i kończy pracę; — weekendy/święta nie są uwzględniane — logika jest taka sama każdego dnia; — przegląd harmonogramu na zakładce „Ustawienia” w formie tabeli: konto → najbliższe uruchomienie → następne uruchomienie; — możliwość tymczasowego wyłączenia harmonogramu dla konta (znacznik „aktywny/nieaktywny”).
2.3 Moduł monitorowania stanu ogłoszeń
— okresowe sprawdzanie URL opublikowanych ogłoszeń w tle; — częstotliwość sprawdzania konfigurowana w UI (domyślnie co 12 godzin); — dla każdego URL bot określa jeden z stanów: •
active— ogłoszenie dostępne i aktywne; •inactive— ogłoszenie zostało usunięte przez Bazoš, zablokowane, lub link zwraca 404; — aktualizacja statusu towaru w aplikacji: nowy statusinactive, oddzielny filtr na zakładce „Towary” do szybkiego wyboru wszystkich nieaktywnych; — dziennik zmian dla każdego towaru: kiedy zostało opublikowane → kiedy stało się nieaktywne → przyczyna (jeśli można ją określić na podstawie odpowiedzi Bazoš); — bot nie wykonuje automatycznej ponownej publikacji nieaktywnych ogłoszeń — to decyzja menedżera: może on zaznaczyć takie towary i nacisnąć „Uruchom ponownie wybrane”.2.4 Moduł grupowania kont
— dowolne grupy użytkowników kont z własnymi nazwami (na przykład „Laptopy”, „Drobna elektronika”, „Samochody”, „Sprzęt AGD”); — na starcie konfigurowane są 2 grupy, możliwość dodawania nowych bez ograniczeń; — jedno konto należy dokładnie do jednej grupy (nie do kilku); — filtr według grup na zakładkach „Towary”, „Konta”, „Kolejka”; — start/stop kolejki dla konkretnej grupy: możliwość uruchomienia publikacji tylko dla kont wybranej grupy, nie dotykając innych; — konfiguracja grup zapisywana jest w bazie danych, przenoszona razem z projektem przy kopiowaniu na inny komputer.
2.5 Moduł dwustronnej synchronizacji z Excelem
— przycisk „Zapisz wyniki w Excelu” na zakładce „Towary”: • wybierany jest źródłowy plik Excel (lub zapamiętywany ostatnio używany); • bot aktualizuje w tym pliku kolumny:
status,published_url,published_at,error_comment; • zapis tylko w istniejących wierszach — struktura pliku nie jest łamana; — przetwarzanie sprzedanych/usuniętych towarów: • towary ze statusemsoldlubinactivesą usuwane z pliku Excel (odpowiedni wiersz jest usuwany); • opcjonalnie można włączyć „nie usuwać, oznaczać statusem” — przełącza się w ustawieniach; — kolumnaproduct_idzalecana do użycia jako kotwica do niezawodnego dwustronnego dopasowania (jeśli jej nie ma — fallback na tytuł); — synchronizacja uruchamiana jest tylko za pomocą przycisku (automatycznego timera w Etapie 2 nie ma — dodawany w razie potrzeby w następnych etapach).2.6 Uniwersalny silnik „prosty kategorie” Bazoš.sk
W Etapie 1 wspierana była tylko kategoria PC → Notebooky. W Etapie 2 realizowany jest uniwersalny publisher, działający z dowolną „prostą” podkategorią Bazoš.sk bez hardcodowania:
— Excel wspiera dowolne wartości w kolumnach
category/subcategory; — bot automatycznie rozwiązuje je w poprawny URL sekcji + wybór podkategorii w formularzu; — „prosta kategoria” = podkategoria z podstawowym formularzem publikacji (tytuł, opis, cena, PSC, zdjęcie, kontakt, hasło), bez dodatkowych specyficznych pól.Gwarantowane pokrycie w Etapie 2:
— wszystkie 20 podkategorii z pliku
Palets.xlsx: • PC → Dyski twarde/SSD, Konsole do gier, Urządzenia do gier • Elektro → Odkurzacze, Telewizory, Projektory, Hifi/Radia, Radiotelefony, Inne audio wideo, Inne drobne, Ręczne miksery/Miksery • Foto → Kamery wideo • Telefony → Inne marki • Dzieci → Zabawki, Meble dla dzieci • Dom i ogród → Sprzęt ogrodowy, Inne • Meble → Lampy, oświetlenie • Samochody → Części zamienne użytkowe — proste podkategorie Auto/Motocykle, wyraźnie wymienione przez klienta: Części zamienne, Tuning, Odzież, Inne (pod warunkiem, że probe formularze potwierdzają brak specyficznych pól); — z dużym prawdopodobieństwem działa każda inna prosta podkategoria w działach PC, Elektro, Telefony, Foto, Dzieci, Meble, Dom i ogród — ponieważ silnik jest uniwersalny, nowe podkategorie dodawane są poprzez edycję jednej linii mapowania bez przerabiania logiki; — w ciągu 5 dni roboczych po oddaniu Etapu 2 klient może przetestować dowolną prostą podkategorię — jeśli coś nie działa, naprawiam to bezpłatnie w ramach okresu poprawek błędów.2.7 Probe Bazoš.cz dla Etapu 3 (bonus, bez dodatkowej płatności)
W ramach Etapu 2 przeprowadzam krótki probe (1–2 godziny) czeskiej strony Bazoš.cz: — sprawdzam, czy słowackie konto + słowackie proxy publikuje na .cz bez wyzwalania ponownej weryfikacji; — sprawdzam, czy formularz publikacji jest identyczny z .sk (selekcje, pola, Dropzone); — na podstawie wyników ustalam ostateczną kwotę Etapu 3 w uzupełnieniu do tego TŻ przed rozpoczęciem Etapu 3.
To nie wchodzi w koszt Etapu 2 jako osobna praca — uboczny wynik rozwoju uniwersalnego silnika kategorii.
2.8 Włączany w okres poprawek Etapu 1 punkt
W ramach okresu poprawek pierwszego etapu (czyli do rozpoczęcia Etapu 2 i bez dodatkowej płatności):
— dodanie kolumny
product_idw UI na zakładce „Towary” dla wygodnego wyszukiwania i identyfikacji towarów; — wartości kolumny są pobierane z polaproduct_idw Excelu podczas importu (jak już wPalets.xlsxz formatem#P001,#P004,#P005).3. Co NIE wchodzi w drugi etap
Następujące punkty uzgodnione jako osobne etapy lub nie wchodzące w projekt w ogóle:
→ Etap 3 (Bazoš.cz):— pełna publikacja na Bazoš.cz z wsparciem wszystkich 5 modułów Etapu 2; — równoległy moduł site
app/sites/bazos_cz/; — rozszerzenie Excel do wyboru publikacji site; — test na czeskich PSČ; — orientacyjny koszt: 10 000–12 000 UAH, 4–5 dni (ostateczna kwota po probe w Etapie 2).→ Etap 4 (skalowanie i złożone kategorie):— równoległa praca ponad 10 kont na jednym PC (pul browser workers, równoległe kolejki, optymalizacja GUI); — wsparcie kategorii z unikalnymi polami: Motocykle/Skutery (z pojemnością silnika, rokiem), Samochody/Auta (pełne auta), Nieruchomości (nieruchomości z metrażem) — jeśli będą wymagane; — orientacyjny koszt: ~22 000 UAH, 8–10 dni.
→ Etap 5 (multi-PC, opcjonalnie):— praca dwóch i więcej PC z wspólną bazą danych (PostgreSQL) do centralnego zarządzania kontami i publikacjami; — synchronizacja stanu między instancjami; — orientacyjny koszt: ~25 000 UAH, 10–12 dni.
Jeśli dla dwóch PC wystarczy niezależna praca (różne zestawy kont na każdym PC, bez synchronizacji) — Etap 5 nie jest potrzebny.
→ Nie wchodzą w projekt w ogóle (po uzgodnieniu z klientem): — płatna promocja / topowanie / Komercyjny ogłoszenie; — antydetekcja / emulacja „odcisków” przeglądarki ponad aktualną logikę; — analityka, raporty, dashboardy dotyczące efektywności ogłoszeń; — kategorie z zasadniczo innymi polami formularza (pełne auta, nieruchomości).
4. Kryteria akceptacji Etapu 2
Akceptacja odbywa się według checklisty:
Moduł rotacji:— [ ] konfigurowany interwał rotacji globalnie i na konto; — [ ] przycisk „Zaktualizuj wybrane konto” uruchamia rotację tylko dla wybranego konta; — [ ] towary ze statusem
reservesą pomijane; — [ ] przy osiągnięciu limitu 50 ogłoszeń rotacja dla konta zostaje zatrzymana i zapisuje się w logu.Moduł harmonogramu:— [ ] dla konta można ustawić harmonogram w dwóch trybach (konkretna godzina / zakres z interwałem); — [ ] aplikacja sama uruchamia rotację według harmonogramu; — [ ] tabela harmonogramu na zakładce „Ustawienia” wyświetla najbliższe uruchomienia.
Moduł monitorowania:— [ ] okresowe sprawdzanie URL uruchamiane jest według timera; — [ ] częstotliwość sprawdzania konfigurowana w UI; — [ ] nieaktywne ogłoszenia otrzymują status
inactive; — [ ] na zakładce „Towary” działa filtr według statusuinactive.Moduł grup:— [ ] można stworzyć minimum 2 grupy i przypisać do nich konta; — [ ] filtry według grup działają na wszystkich zakładkach; — [ ] start/stop kolejki według grupy uruchamia publikację tylko kont tej grupy.
Moduł synchronizacji Excel:— [ ] przycisk „Zapisz wyniki w Excelu” aktualizuje potrzebne kolumny w źródłowym pliku
-
Zobacz, jest tu niuans - termin 12-14 dni roboczych wydaje się realistyczny, jeśli Etap 1 jest już działający i nie trzeba przerabiać podstawy. Co do budżetu, 27 000 UAH można przeznaczyć na Etap 2, ale trzymałbym odbiór ściśle według checklisty, ponieważ rotacja, harmonogram, monitoring, grupy i synchronizacja w Excelu - to już nie mały bot, a normalne narzędzie robocze =)
Co do realizacji, zrobiłbym to prościej - nie rozmywać logiki po przyciskach interfejsu, a zebrać rdzeń wokół kolejek, statusów, wydarzeń i tabel ustawień. Wtedy PySide6 będzie tylko zarządzaniem, Playwright - wykonawcą publikacji i weryfikacji, SQLite - źródłem prawdy, a Excel - wymianą zewnętrzną. Wydaje się, że w ten sposób jest mniejsze ryzyko, że po miesiącu system zacznie żyć własnym życiem, jak stary szafa na działce, ale to inna sprawa.
Widzę ważny moment w specyfikacji - dla product_id potrzebny jest kotwica dopasowania, w przeciwnym razie fallback na tytuł może dać fałszywe dopasowania przy podobnych produktach. Jeszcze pytanie - Etap 1 ma już stabilną strukturę bazy danych i oddzielną warstwę dla Bazoš.sk, czy teraz część logiki jest związana bezpośrednio z ekranem Notebooky? I drugie pytanie - w Palets.xlsx wszystkie 20 podkategorii już mają te same obowiązkowe pola, bez ukrytych różnic w cenie, telefonie czy zdjęciu?
Podobne przypadki zadań:
> https://business.ingello.com/vorfahr - automatyzacja i logika wokół procesu operacyjnego, blisko pomysłu narzędzia wydawcy
> https://business.ingello.com/forma-bpm - procesy biznesowe, statusy, kolejki i zarządzany system operacyjny
… > https://systems-fl.ingello.com - główny profil Ingello Systems w zakresie złożonych systemów i automatyzacji
Można iść etapami: najpierw szybko sprawdzamy architekturę Etapu 1 i Excel, potem robimy rdzeń rotacji i harmonogramu, potem monitoring, grupy i synchronizację. Ogólnie w porządku, tylko nie przyjmowałbym pracy bez testowego przebiegu na kilku kontach, kilku kategoriach i oddzielnym scenariuszu limitu 50 ogłoszeń.
-
Cześć, pracowałem nad narzędziem automatyzacyjnym do publikacji ogłoszeń na OLX z rotacją i monitoringiem - podobnie jak w waszym projekcie Bazoš, zawierało harmonogram dla 25+ kont z synchronizacją Excel i śledzeniem statusu ✅
Ciekawe, czy planujecie zintegrować usługi antycaptcha do omijania ochrony Bazoš podczas masowych publikacji w drugim etapie?
Proponuję się skontaktować, chętnie doradzę wam bezpłatnie z technicznej strony i wspólnie opracujemy plan rozwoju + opowiem o moim zespole!
-
196 w cenie i terminie - 27000 UAH, 12-14 dni roboczych po zarezerwowaniu płatności w Sejfie i otrzymaniu czeskiego PSČ do weryfikacji Bazoš.cz.\nzobacz, tu jest niuans - prowadziłbym etap 2 jako rozszerzenie już działającego MVP, a nie jako przepisywanie od zera.\nwięcej ryzyka w scenariuszach Playwright, SQLite i obecnej logice importu Excel.\n\n> https://business.ingello.com/vorfahr - bliskie w sensie automatyzacji regularnych operacji wokół zewnętrznego systemu\n> https://business.ingello.com/forma-bpm - podobne w kolejkach, statusach, rolach i zarządzaniu procesami roboczymi\n> https://systems-fl.ingello.com - Ingello Systems dla projektów na FLH\n\nAI tutaj nie jest potrzebny dla modnego słowa, ważniejsza jest niezawodna automatyzacja - harmonogram, rotacja, statusy, dziennik zmian, kontrola limitów i staranna rejestracja wyników w Excelu według product_id.\nzrobiłbym to prościej - najpierw zamknąć rdzeń rotacji i monitorowania, potem grupy kont, następnie synchronizację Excel i na końcu uniwersalny silnik kategorii z weryfikacją na 20 podkategoriach z Palets.xlsx.\n\ndla startu potrzebny jest obecny kod Etapu 1, przykład Palets.xlsx, 1-2 konta testowe, proxy i czeskie PSČ.\ndokładna ocena ryzyka będzie po przeglądzie kodu, ale według opisu objętość wygląda realistycznie =)\n\nczy dobrze rozumiem, że Etap 1 już stabilnie publikuje w Notebooky na Bazoš.sk i teraz trzeba tylko doprecyzować rozszerzenie kategorii, harmonogramy i odwrotną rejestrację w Excelu?\n i drugie pytanie - czy do usunięcia starego ogłoszenia jest stabilny scenariusz przez Moje ogłoszenia, hasło ogłoszenia lub osobna logika już została zrobiona?
Aktualne zlecenia dla freelancerów w kategorii Python
Power BI
57 PLN
Dashboard działa na serwerze Google, trzeba przenieść całą logikę + kod Jakie umiejętności są potrzebne: wdrażanie procesów ETL na serwerze Linux + praca z BigQuery i Postgre Jest działający kod, który działa na Google, gdzie znajduje się sama baza danych, trzeba przenieść na… Python, Bazy danych i SQL ∙ 2 godziny 21 minut temu ∙ 4 oferty |
Bot Telegram do zatrudniania/poszukiwania pracowników. Do szukania pracy
90 PLN
1. Ogólna koncepcja Stworzenie bota Telegram do automatyzacji rekrutacji i dwustronnego poszukiwania pracy. System działa na zasadzie aktywnej reakcji i wzajemnego potwierdzenia zainteresowania (Double Opt-In). W systemie przewidziano dwie role: Pracodawca (Właściciel firmy)… Python, Tworzenie chatbota ∙ 1 dzień 10 godzin temu ∙ 83 oferty |
Wsparcie techniczne platformy internetowej (Python/Django)Jest działający projekt internetowy, trzeba go utrzymywać i stopniowo porządkować, bez przepisywania od zera. Stos technologiczny projektu: Backend: Python, Django, Django Rest Framework Frontend: Next.js Baza danych: PostgreSQL Infrastruktura: AWS (EC2), Nginx Istnieją… Python, Programowanie stron internetowych ∙ 1 dzień 12 godzin temu ∙ 68 ofert |
Opracowanie usługi internetowej z płatnym dostępem do czatu onlineDzień dobry, konieczne jest opracowanie usługi internetowej, która obejmuje:* osobiste linki dla użytkowników;* stronę z opisem usługi;* płatność przez PayPal;* czat online w czasie rzeczywistym;* wyświetlanie wideo na stronie użytkownika;* rejestrację opłaconego czasu i… Python, Programowanie stron internetowych ∙ 2 dni 13 godzin temu ∙ 74 oferty |
Tworzenie aplikacjiChcę stworzyć aplikację mobilną do komunikacji, w aplikacji ma być audio, wideo rozmowa, tworzenie grupowych czatów, możliwość synchronizacji z kontaktami telefonu, ustawieniami konta: powiązanie przez e-mail, 2fa, numer telefonu, możliwość dostosowywania powiadomień aplikacji,… Java, Python ∙ 3 dni 11 godzin temu ∙ 36 ofert |