Python-based telegram bot
Description: python-written telegram bot that is aimed to search information in the internet (web-scrapping), transform and provide results in a certain format.
Environment: single-instance / standalone deployment
Scalability: low as due to low load
Features: the bot uses micro-services architecture and on application level consists of two services: bot API and bot backend. User data, search parameters and other information is stored in mariadb database with a caching layer performed by memcached.
Release process: software development lifecycle is automated with GitHub actions, including continuous delivery.
Future development: migrate the application to a cloud (GCP), put runtime into container or convert to cloud functions thus to add scalability. İmplement async functions and decouple services by introducing queues (cloud or rabbitMQ or similar).
Analytics: reporting app is created with retool.com
Architecture diagram
Analytics
Telegram usage statistics
Number of search requests per day over 6 months period.