Techniczne zadanie: bot do cotygodniowego monitorowania cen konkurencji w Telegramie
1. Cel projektu
Należy opracować bota/skrypt, który raz w tygodniu automatycznie zbiera ceny badań laboratoryjnych u konkurencji, porównuje je z poprzednim zbiorem i wysyła krótki raport w Telegramie.
2. Konkurenci do monitorowania
Należy zbierać ceny z witryn:
ML DILA
Synevo
Medlab
CSD
Nikolab
Miasto bazowe: Kijów.
3. Co dokładnie należy monitorować
Na pierwszym etapie należy monitorować 580 badań/ usług laboratoryjnych. Lista zostanie dostarczona w tabeli
Lista usług: https://docs.google.com/spreadsheets/d/1ZY4bRvDpZdtMiJ6SPRhilYJIPnxTqzVe/edit?usp=sharing&ouid=100601517266070340154&rtpof=true&sd=true
4. Główna funkcjonalność
System ma:
Raz w tygodniu uruchamiać zbieranie cen.
Wchodzić na strony konkurencji.
Wyciągać:
Zapisywać dane w bazie lub Google Sheets.
Porównywać nowy zbiór z poprzednim.
Określać:
Tworzyć krótki raport.
Wysyłać raport do czatu lub kanału Telegram.
5. Format raportu Telegram
Przykład:
Monitorowanie cen konkurencji — 28.04.2026
Ogólna statystyka
Zmiana cen: 7
Podrożało: 5
Potaniało: 2
Bez zmian:
Błędy zbierania: 3
DILA
Synevo
Medlab
CSD
Rekomendacje / alerty
6. Część administracyjna / ustawienia
Należy zrealizować przez Google Sheets
7. Wymagania dotyczące parsowania
Bot ma działać stabilnie, nawet jeśli jedna ze stron jest niedostępna.
Jeśli cena nie została znaleziona — nie upadać, a zapisywać błąd.
Należy logować wszystkie błędy.
Należy uwzględnić, że ceny mogą być:
8. Telegram
Należy stworzyć lub podłączyć Telegram Bot API.
Bot ma:
wysyłać cotygodniowy raport;
wysyłać powiadomienia o błędzie, jeśli zbieranie się nie powiodło;
mieć możliwość uruchomienia ręcznie komendą /run;
mieć komendę /last_report;
pożądane jest mieć komendę /status.
9. Harmonogram uruchamiania
Zbieranie ma być uruchamiane automatycznie raz w tygodniu.
Pożądany dzień: poniedziałek.
Pożądana godzina: 09:00 czasu kijowskiego.
10. Oczekiwany rezultat
Na wyjściu należy uzyskać:
Działający bot/skrypt.
Skonfigurowane cotygodniowe uruchamianie.
Raport Telegram.
Tabelę lub bazę z historią cen.
Instrukcję obsługi.
Instrukcję, jak dodawać nowe usługi.
Krótki README do wsparcia projektu.
11. Kryteria akceptacji pracy
Praca uznawana jest za wykonaną, jeśli:
bot skutecznie zbiera ceny z minimum 100 usług;
pokryte są wszystkie 5 firm;
dane są zapisywane w tabeli lub bazie;
drugie uruchomienie poprawnie porównuje ceny z pierwszym;
raport Telegram przychodzi automatycznie;
ręczne uruchomienie przez /run działa;
błędy są logowane;
jest instrukcja, jak dodać nową usługę;
kod został przekazany na GitHub lub w archiwum.
12. Co należy od wykonawcy w odpowiedzi
Proszę w odpowiedzi wskazać:
Orientacyjną cenę.
Orientacyjny czas realizacji.
Jaki stos technologiczny proponujecie.
Gdzie najlepiej przechowywać dane: Google Sheets, SQLite czy PostgreSQL.
Czy macie doświadczenie w parsowaniu stron i botach Telegram.
Czy możecie wspierać projekt po uruchomieniu.