Powrót do strony głównej

Od bota do systemu web: automatyzacja Excela

Artykuł opisuje transformację bota Telegram w pełnoprawny system web do przetwarzania plików Excel na magazynie. Deweloper stopniowo wydzielił logikę do backendu, dodał interfejs web i integracje. Rezultat: oszczędność 150 godzin miesięcznie, ulepszona architektura.

Jak bot stał się pełnoprawnym systemem dla Excela
Advertisement 728x90

Ewolucja narzędzia wewnętrznego: od bota Telegram do skalowalnego systemu webowego

Analityk strat magazynowych zmagał się z rutynowym zadaniem: codzienne przetwarzanie kilku plików Excel wymagało 5 godzin dziennie lub 150 godzin miesięcznie. To odpowiadało znacznym kosztom czasu. Rozwiązanie — MVP w postaci bota Telegram w Pythonie: użytkownicy wysyłali pliki, bot zwracał przetworzony wynik. Logika przetwarzania pozostawała pod kontrolą programisty, interfejs nie był wymagany.

Podejście zadziałało początkowo: Telegram zapewniał szybki dostęp, bez konieczności tworzenia UI. Jednak wraz ze wzrostem złożoności ujawniły się ograniczenia.

Ograniczenia Telegrama jako podstawy systemu

Telegram nie jest przeznaczony do roli centralnego jądra systemu. Problemy pojawiły się szybko:

Google AdInline article slot
  • Limit plików 20 MB blokował duże zrzuty danych.
  • Przetwarzanie stało się "czarną skrzynką" bez widoczności statusu.
  • Brakowało pełnoprawnego interfejsu do zarządzania.
  • Rozwój funkcjonalności stał się skomplikowany.
  • Problemy z dostępem w Rosji z powodu regulacji.

Telegram sprawdził się jako punkt wejścia, ale nie jako core. Rozwiązanie — przeniesienie logiki do osobnego backendu.

Stopniowe przejście do aplikacji webowej

Przejście nie było pełnym refaktoringiem: bot pozostał jako klient, ale delegował zadania backendowi. Pojawił się interfejs webowy z możliwościami:

  • Wczytywanie plików dowolnej wielkości.
  • Śledzenie statusu przetwarzania.
  • Zarządzanie procesami.

Projekt zyskał cechy systemu: podział odpowiedzialności uprościł rozwój. Backend przetwarza dane i logikę biznesową, część webowa — interakcję, integracje (Google Sheets, Dysk Yandex) — przechowywanie i przekazywanie.

Google AdInline article slot

Architektura: podział na poziomy

System jest ustrukturyzowany według poziomów:

  • Backend: przetwarzanie danych z pandas, logika biznesowa.
  • Interfejs webowy: warstwa API, frontend dla użytkowników.
  • Klienci: bot Telegram jako jeden z interfejsów.
  • Integracje: OAuth dla Dysku Yandex, Google Sheets API.

Taki podział pozwala zmieniać interfejsy niezależnie od logiki. Ograniczenie polityki firmy (brak bezpośredniego dostępu do bazy danych bez proxy) wymusiło to podejście.

Rozwiązanie problemu dużych plików

Kluczowy moment — obejście limitu Telegrama. Integracja z Dysk Yandex przez OAuth: bot akceptuje link, backend pobiera i przetwarza plik. To zapewniło stabilność i szybkość, bez zależności od ograniczeń platformy.

Google AdInline article slot

UX dla narzędzi wewnętrznych

Narzędzia wewnętrzne często ignorują interfejs, ale proste ulepszenia są kluczowe:

  • Wskaźniki postępu przetwarzania.
  • Zrozumiałe przyciski i formularze.
  • Responsywność na urządzenia mobilne.

To zwiększa użyteczność: system staje się narzędziem do codziennego użytku.

Środowisko programistyczne: od PyCharm do agentów AI

Rozwój prowadzono w PyCharm do analizy danych i debugowania. Przejście na Cursor z agentami AI przyspieszyło rutynę:

  • Generowanie kodu boilerplate.
  • Proste refaktoringi.
  • Implementacja nowych funkcji.

Cursor jest efektywny dla architektury i rozwoju webowego. PyCharm pozostaje do głębokiej analizy danych. Podejście hybrydowe: AI do automatyzacji, klasyczne narzędzia do złożonych zadań. Planowane jest testowanie Claude Code i n8n dla integracji AI w przetwarzanie danych.

Wyniki i oszczędności

System zaoszczędził 150 godzin miesięcznie zespołu analityków. Kluczowa zmiana — rezygnacja z Telegrama jako centrum: dodawanie interfejsów i integracji stało się możliwe bez ryzyka awarii.

Co ważne:

  • Stopniowe wydzielenie backendu z bota uczyniło system skalowalnym.
  • Integracja Dysku Yandex rozwiązała problem limitów plików.
  • Podział UI i logiki uprościł rozwój.
  • Agenci AI w Cursor przyspieszyli rozwój boilerplate.
  • Interfejs webowy dodał kontrolę nad procesami.

Lekcje i plany rozwoju

Wnioski: zaczynać od MVP, następnie refaktoryzować w miarę wzrostu. Nie budować idealnej architektury od razu. Narzędzia jak Cursor wpływają na produktywność.

Dalej: analiza BI w webie, pulpity nawigacyjne, konteneryzacja docker. To materiał techniczny dla programistów middle/senior, budujących systemy wewnętrzne.

— Editorial Team

Advertisement 728x90

Czytaj dalej