» » » Telegram в качестве хранилища данных для IT проектов

 

Telegram в качестве хранилища данных для IT проектов

Автор: admin от 24-08-2019, 20:45, посмотрело: 120

Добрый день, сегодня я хотел бы поделится с Вами проблемами и их необычными решениями, которые встретились при написании небольших IT проектов. Сразу скажу, что статья для тех, кто хоть немного разбирается в разработке телеграмм ботов, баз данных, SQL и в языке программировании python.



Весь проект выложен на github, ссылка будет в конце статьи.



Telegram в качестве хранилища данных для IT проектов



Основная проблема



Изначально я хотел для себя написать простенького телеграмм бота счетчика калорий, который получает число от пользователя и возвращает сколько калорий осталось до нормы на день. То есть нужно хранить грубо говоря пару переменных для каждого пользователя.

ссылка рабочего проекта на github.



Как запустить




  • Скачиваем проект с гитхаба. Запускаем проект в любой среде разработки для python (Например: PyCharm).

  • Среда разработки автоматически подгрузит необходимые библиотеки с файла requirements.

  • Заменяем Token от BotFather в файле main.py



    Telegram в качестве хранилища данных для IT проектов

  • Запускаем проект

  • Со второго аккаунта нажимаем /start и пишем слово «admin»



    Telegram в качестве хранилища данных для IT проектов

  • Выключаем проект и заполняем admin_id и config_id в файле main.py

  • Запускаем проект и с аккаунта пользователя нажимаем старт



    Telegram в качестве хранилища данных для IT проектов

  • Профит



  • Тестирование и графики



    Тесты проводились на серверах heroku с минимальными характеристиками инстансов. Так, что можно считать, что все тесты были выполнены в более менее равных условиях.



    Графики сделаны по выборкам из ~100 запрос-ответов. И представлены средние показатели выборки.



    В качестве базы данных на стороннем сервере использовался PostgreSQL на Amazon RDS с минимальными характеристиками.



    Telegram в качестве хранилища данных для IT проектов



    При одном миллионе пользователей время бэкапов становится проблемой.



    Telegram в качестве хранилища данных для IT проектов



    Размер бэкапа полностью зависит от вашей модели данных, в моем случае при одном миллионе пользователей получился файл с данными на 21 мегабайт.



    Telegram в качестве хранилища данных для IT проектов



    Вывод



    Данный метод хранения данных имеет смысл для проектов до миллиона пользователей. То есть для прототипа или личного стартапа данный способ имеет право на жизнь.



    В итоге мы получили полностью автономного кликера, независящий от удаленных баз данных.



    Вот выше описанный проект, развернутый на heroku: @Clicker_fast_bot



    Так же я реализовал более сложный проект с данной идеологией: @Random_friend_bot



    Подобие чатвдвоем и чатрулет, но только в телеграмме.



    Он ищет в радиусе 100 км человека противоположного пола для общения и реализует закрытый чат с новым собеседником.



    Если будет интересно могу скинуть исходный код проекта. Так же если данная тема будет актуальна, то в следующей статье могу описать создание Rest api без внешних БД. То есть такой стек django-sqllite-Telegram.



    Буду рад любой критике, спасибо за внимание!

    Источник: Хабр / Интересные публикации

    Категория: Google

    Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь.
    Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.

    Добавление комментария

    Имя:*
    E-Mail:
    Комментарий:
    Полужирный Наклонный текст Подчеркнутый текст Зачеркнутый текст | Выравнивание по левому краю По центру Выравнивание по правому краю | Вставка смайликов Выбор цвета | Скрытый текст Вставка цитаты Преобразовать выбранный текст из транслитерации в кириллицу Вставка спойлера
    Введите два слова, показанных на изображении: *