Development of a comprehensive Telegram bot solution to automate online school processes. I built this project entirely from scratch using a modern asynchronous technology stack, ensuring high-speed data processing and system reliability.
Core Features & Architecture:
Access Management: Automated management of learning streams and participant access provisioning.
Payment Integration (WayForPay): Configured webhook processing with cryptographic signature verification (HMAC_MD5) for secure payment confirmation and automatic user registration.
Google Sheets Integration: Utilized Google Sheets as the primary source of truth (database) for the application.
Caching System: Developed an in-memory local cache (CacheStore) that refreshes in the background, providing instant data access without making redundant API calls.
Write Optimization: Implemented a background queue (WriteQueue) that safely batches and flushes all data changes (adding participants, updating statuses) back to Google Sheets, effectively minimizing API rate-limit risks.
Tech Stack:
Python, aiogram (v3.x), FastAPI, uvicorn, Pydantic (pydantic-settings), gspread, WayForPay API.
Core Features & Architecture:
Access Management: Automated management of learning streams and participant access provisioning.
Payment Integration (WayForPay): Configured webhook processing with cryptographic signature verification (HMAC_MD5) for secure payment confirmation and automatic user registration.
Google Sheets Integration: Utilized Google Sheets as the primary source of truth (database) for the application.
Caching System: Developed an in-memory local cache (CacheStore) that refreshes in the background, providing instant data access without making redundant API calls.
Write Optimization: Implemented a background queue (WriteQueue) that safely batches and flushes all data changes (adding participants, updating statuses) back to Google Sheets, effectively minimizing API rate-limit risks.
Tech Stack:
Python, aiogram (v3.x), FastAPI, uvicorn, Pydantic (pydantic-settings), gspread, WayForPay API.