Zpět na domů

Od bota k web-systému: automatizace Excel

Článek popisuje transformaci Telegram bota v plnohodnotný webový systém pro zpracování Excel souborů na skladě. Vývojář postupně vyřadil logiku do backendu, přidal webové rozhraní a integrace. Výsledek: úspora 150 hodin měsíčně, vylepšená architektura.

Jak bot stal plnohodnotným systémem pro Excel
Advertisement 728x90

Evoluce interního nástroje: od Telegram bota k škálovatelné webové aplikaci

Analytik ztrát ve skladu se potýkal s rutinním úkolem: denní zpracování několika Excel souborů vyžadovalo 5 hodin denně, tedy 150 hodin měsíčně. To představovalo významné časové náklady. Řešením se stal MVP ve formě Telegram bota v Pythonu: uživatelé posílali soubory, bot vracel zpracovaný výsledek. Logika zpracování zůstala pod kontrolou vývojáře, rozhraní nebylo potřeba.

Tento přístup zpočátku fungoval: Telegram poskytoval rychlý přístup bez nutnosti UI. S rostoucí složitostí se však projevila omezení.

Omezení Telegramu jako základu systému

Telegram není určen pro roli centrálního jádra systému. Problémy se objevily rychle:

Google AdInline article slot
  • Limit souborů 20 MB blokoval velké exporty.
  • Zpracování se stalo "černou skříňkou" bez viditelnosti stavu.
  • Chybělo plnohodnotné rozhraní pro správu.
  • Rozvoj funkcionality se komplikoval.
  • Problémy s přístupem v ČR kvůli regulacím.

Telegram se hodil jako vstupní bod, ale ne jako jádro. Řešením bylo přesunutí logiky do samostatného backendu.

Postupný přechod k webové aplikaci

Přechod nebyl úplným refaktoringem: bot zůstal jako klient, ale delegoval úkoly backendu. Objevilo se webové rozhraní s možnostmi:

  • Nahrávání souborů jakékoli velikosti.
  • Sledování stavu zpracování.
  • Správa procesů.

Projekt získal rysy systému: rozdělení odpovědností zjednodušilo vývoj. Backend zpracovává data a obchodní logiku, webová část zajišťuje interakci, integrace (Google Sheets, Yandex Disk) zajišťují ukládání a přenos.

Google AdInline article slot

Architektura: rozdělení úrovní

Systém je strukturován podle úrovní:

  • Backend: zpracování dat s pandas, obchodní logika.
  • Webové rozhraní: API vrstva, frontend pro uživatele.
  • Klienti: Telegram bot jako jedno z rozhraní.
  • Integrace: OAuth pro Yandex Disk, Google Sheets API.

Takové rozdělení umožňuje měnit rozhraní nezávisle na logice. Omezení firemní politiky (žádný přímý přístup k DB bez proxy) tento přístup vynutilo.

Řešení problému s velkými soubory

Klíčový moment – obejití limitu Telegramu. Integrace s Yandex Diskem přes OAuth: bot přijímá odkaz, backend stahuje a zpracovává soubor. To zajistilo stabilitu a rychlost bez závislosti na platformních omezeních.

Google AdInline article slot

UX pro interní nástroje

Interní nástroje často ignorují rozhraní, ale jednoduchá vylepšení jsou klíčová:

  • Indikátory průběhu zpracování.
  • Srozumitelná tlačítka a formuláře.
  • Responzivita pro mobilní zařízení.

To zvyšuje použitelnost: systém se stává nástrojem pro každodenní použití.

Vývojové prostředí: od PyCharm k AI agentům

Vývoj probíhal v PyCharm pro data research a ladění. Přechod na Cursor s AI agenty urychlil rutinu:

  • Generování boilerplate kódu.
  • Jednoduché refaktoringy.
  • Obalování nových funkcí.

Cursor je efektivní pro architekturu a webový vývoj. PyCharm zůstává pro hlubokou analýzu dat. Hybridní přístup: AI pro automatizaci, klasické nástroje pro složité úkoly. Plánuje se testování Claude Code a n8n pro AI integrace do zpracování dat.

Výsledky a úspory

Systém ušetřil 150 hodin měsíčně týmu analytiků. Klíčový posun – opuštění Telegramu jako centra: přidávání rozhraní a integrací se stalo možným bez rizika poruch.

Co je důležité:

  • Postupné oddělení backendu od bota učinilo systém škálovatelným.
  • Integrace Yandex Disku vyřešila problém limitů souborů.
  • Oddělení UI a logiky zjednodušilo vývoj.
  • AI agenti v Cursor urychlili vývoj boilerplate.
  • Webové rozhraní přidalo kontrolu nad procesy.

Lekce a plány rozvoje

Závěry: začít s MVP, poté refaktorovat s růstem. Nestavět dokonalou architekturu hned. Nástroje jako Cursor ovlivňují produktivitu.

Dále: BI analýza ve webu, dashboardy, docker kontejnerizace. Toto je technický materiál pro middle/senior vývojáře, kteří budují interní systémy.

— Editorial Team

Advertisement 728x90

Číst dál