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.