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:
- 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.
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.
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
Zatím žádné komentáře.