ProgramowanieOchrona płatnościSzczegóły
- Poprawki w ramach pakietu są bezpłatne.
- Jeśli nie odpowiesz w ciągu 3 dni od dostarczenia pracy, zostanie ona zaakceptowana automatycznie.
Pieniądze są rezerwowane w chwili płatności i przekazywane dopiero po akceptacji pracy.

Przykładowy rezultat
Łączenie miesięcznych plików sprzedaży 9 sklepów w jeden raport w Excelu
Jak się go uruchamia
python merge_sales.py --month 2026-10
2026-11-02 09:14:03 INFO Folder: sales/2026-10, znaleziono 9 plików
2026-11-02 09:14:03 INFO shop-01.csv: 1284 wiersze
2026-11-02 09:14:04 INFO shop-02.xlsx: 967 wierszy
2026-11-02 09:14:04 WARN shop-07.csv: pominięto 3 wiersze bez ceny (linie 88, 412, 913)
2026-11-02 09:14:05 INFO Gotowe: 10 412 wierszy -> report-2026-10.xlsx (arkusze „Sprzedaż” i „Podsumowanie”)
Ustawienia zamiast kodu
Nazwy kolumn każdego sklepu są zapisane w settings.ini, więc nowy sklep albo kolumna o zmienionej nazwie to po prostu jeden wiersz w tym pliku:
[columns]
date = Data, Data sprzedaży, Dzień
product = Produkt, Towar, Nazwa
quantity = Ilość, Szt., Liczba sztuk
price = Cena, Cena jedn.
Fragment kodu
def read_shop_file(path: Path, columns: dict[str, list[str]]) -> pd.DataFrame:
"""Wczytuje plik jednego sklepu i nadaje mu nazwy kolumn raportu."""
table = pd.read_excel(path) if path.suffix == ".xlsx" else pd.read_csv(path, encoding="utf-8-sig")
renamed = {}
for name, variants in columns.items():
found = next((c for c in table.columns if c.strip() in variants), None)
if found is None:
raise ReportError(f"{path.name}: brak kolumny dla '{name}' (szukano: {', '.join(variants)})")
renamed[found] = name
table = table.rename(columns=renamed)[list(columns)]
table["shop"] = path.stem
return table
Pliki: archiwum ZIP z plikami merge_sales.py (310 wierszy), settings.ini, requirements.txt oraz README, które opisuje instalację Pythona, uruchomienie skryptu i znaczenie każdego komunikatu w dzienniku. Klient uruchamia skrypt na własnym komputerze.
Klient: mała sieć 9 sklepów papierniczych; każdy sklep przesyła sprzedaż za miesiąc w pliku CSV lub Excel, z nieco innymi nazwami kolumn. Zadanie: jeden skrypt, który wczytuje każdy plik z folderu, sprowadza kolumny do jednego układu i zapisuje jeden raport w Excelu z całą sprzedażą oraz arkuszem podsumowań według sklepów.
Klient i wszystkie dane są wymyślone.
O usłudze
Jeśli Twój sklep albo strona rezerwacji przestanie działać w nocy, możesz się o tym dowiedzieć dopiero rano od klienta. Ten skrypt w Pythonie co kilka minut otwiera wskazane strony i wysyła Ci e-mail, gdy któraś przestaje odpowiadać, zwraca błąd albo, od pakietu Standard, ładuje się bez słowa, które musi się na niej znaleźć, na przykład bez przycisku Dodaj do koszyka. Zanim podniesie alarm, próbuje ponownie, więc pojedyncza wolna odpowiedź Cię nie obudzi, a gdy strona wróci, pisze jeszcze raz. E-maile wychodzą z Twojego własnego konta pocztowego; hasło do wysyłki sam wpisujesz w ustawieniach. Uruchom go na komputerze lub serwerze, który jest stale włączony i nie jest tym, na którym działa Twoja strona, inaczej ucichnie razem z nią. Informuje o problemie; nie naprawia go.
Co obejmuje usługa
- Co otrzymaszArchiwum ZIP ze skryptem w Pythonie, plikiem README z instrukcją krok po kroku oraz, od pakietu Standard, plikiem ustawień z adresami i ustawieniami poczty; kod widać też na stronie zamówienia.
- Awaria i powrótJeden e-mail przy awarii, jeden po powrocie
- Bez fałszywych alarmówPonawia próbę, zanim do Ciebie napisze
- Sprawdzanie treści stronyOd pakietu Standard słowo, które musi być na stronie
- Z Twojej skrzynkiTwoje własne konto pocztowe, hasło poza kodem
- Czytelny kodZ komentarzami, łatwo później dodać stronę
Jak to działa
- 1ZadanieWypisujesz strony do obserwowania i miejsce, gdzie mają trafiać alerty
- 2KodPiszemy skrypt i instrukcję uruchomienia
- 3WypróbujUruchamiasz go z nieistniejącą stroną, żeby zobaczyć, jak przychodzi alert
- 4ZmianyZgłaszasz poprawki w ramach pakietu i przesyłasz ewentualny komunikat o błędzie
Czego potrzebujemy od Ciebie
Adresy do obserwowania (strona główna, koszyk, strona rezerwacji), jak często je sprawdzać, a od pakietu Standard słowo lub fraza, którą musi pokazywać każda strona. Dokąd mają trafiać alerty i z którego konta pocztowego mają być wysyłane (wystarczy nazwa Twojego dostawcy, żebyśmy opisali jego ustawienia wysyłki; hasło wpisujesz sam). Gdzie będzie działał skrypt: na stale włączonym komputerze czy na serwerze, i z jakim systemem (Windows, macOS lub Linux).
Zapytamy Cię:
- Które strony ma obserwować?
- Jak często i co uznajemy za awarię?
- Dokąd mają trafiać alerty?
- Gdzie będzie działał?
Porównaj pakiety
| Pakiety | PodstawowyJedna strona, jeden alert61 zł | StandardSprawdzanie z ustawieniami125 zł | PremiumNarzędzie do monitorowania252 zł |
|---|---|---|---|
| Termin | 1 dzień | 2 dni | 3 dni |
| Poprawki | 1 | 2 | 3 |
| Kod | do 150 wierszy | do 400 wierszy | do 1000 wierszy |
| Pliki z kodem | 1 | do 3 | do 8 |
| Plik ustawień | Nie | Tak | Tak |
| Czytelne komunikaty o błędach i log | Nie | Tak | Tak |
| Opcje uruchamiania i instrukcja uruchamiania według harmonogramu | Nie | Nie | Tak |
| Instrukcja instalacji i uruchomienia (README) | Tak | Tak | Tak |
| Język | Python | Python | Python |
| Zamów Podstawowy | Zamów Standard | Zamów Premium |
Ochrona płatności
Płacisz przy składaniu zamówienia, ale pieniądze są przekazywane tylko za zaakceptowaną pracę.
- Stała cenaCena pakietu nie zmienia się po zapłacie.
- Pieniądze są zarezerwowanePrzy płatności kwota jest tylko rezerwowana. Serwis otrzymuje ją dopiero po akceptacji pracy.
- Sprawdzone przed dostarczeniemKażdy wynik przechodzi kontrolę jakości, zanim do Ciebie trafi, a przed akceptacją widzisz go na stronie zamówienia.
- Bezpłatne poprawkiProś o poprawki w ramach briefu tyle razy, ile przewiduje pakiet.
- Akceptacja po 3 dniachJeśli w ciągu 3 dni od dostarczenia pracy ani jej nie zaakceptujesz, ani nie poprosisz o poprawki, zostanie zaakceptowana automatycznie. Jeśli po dostarczeniu napiszesz na czacie zamówienia, zamówienie czeka; po naszej odpowiedzi możemy ponownie uruchomić odliczanie 3 dni i poinformujemy o tym na czacie.
- Ponowne wykonanie lub pełny zwrot pieniędzyJeśli wynik nie odpowiada Twojemu briefowi, a poprawki tego nie naprawiły, lub praca trwa ponad dwa razy dłużej niż termin, napisz na czacie zamówienia: wykonamy pracę ponownie albo zwrócimy całą płatność.
Pytania i odpowiedzi
Gdzie mam go uruchomić?
Na urządzeniu, które jest zawsze włączone i oddzielone od Twojej strony, na przykład na komputerze w biurze, domowym miniserwerze lub małym wynajętym serwerze. Jeśli działa na tym samym serwerze co strona, padnie razem z nią i nie zdoła Cię ostrzec.
Czy zamiast e-maila może wysłać SMS?
Ta oferta wysyła e-maile. Wiele telefonów potrafi pokazać e-mail jako powiadomienie; wiadomość do serwisu z publicznym API można dodać w ramach pakietu, z Twoim własnym kluczem w ustawieniach.
Czy sprawdzi szybkość lub bezpieczeństwo mojej strony?
Mierzy, ile czasu zajmuje odpowiedź każdej strony, a w pakiecie Premium ostrzega po przekroczeniu Twojego limitu. Nie testuje bezpieczeństwa, nie szuka wirusów i nie loguje się do paneli administracyjnych.
Ile e-maili może wysłać?
Pisze tylko wtedy, gdy coś się zmieni: raz, gdy strona przestanie działać, i raz, gdy wróci, więc z zapasem mieści się w limitach wysyłki Twojego serwisu pocztowego.
Nie ma tu odpowiedzi?


