Логика проекта - автоматизация публикации сообщений в ~ 1000 Telegram чатов.
В проекте принимали участие в разработке всего 4 человека
2 Frontend разработчика, тестировщик и Backend разработчик.
Основные функции системы:
- Создание/редактирование/удаление публикации через сайт
- Получение списка всех созданных публикаций
- Установка даты, когда должна выйти публикация
- Установка таймера авто-удаления публикации в чатах
- Закрепление и авто-открепление публикации в чатах
- Авто-удаление публикации в чатах
- Настройка чатов (Часовой пояс, количество участников, категории чатов)
- Функция предпросмотра (Бот покажет как будет выглядеть публикация в чатах)
Я занимался серверной частью (Backend ), т.е.:
- Сохранение/обновление/удаление данныхНапример, сохранение данных публикации.
Это текст для конкретного поста (сообщения), стили этого текста, материалы (фото/видео/файлы), кнопочки, дату публикации, таймер автоудаления, выбранные чаты.
- Конвертация и сжатие файловПользователь загружает на сайт фотографию для будущего поста и задача серверной части проверить загруженный файл на лимиты Telegram, иначе бот просто не сможет опубликовать пост.
Лимиты Telegram- вес файлов, разрешение картинок, расширение/кодировка видео.
Например, пользователь захотел видеть в своём посту картинку с разрешением 6000x7000 px с весом 2 ГБ. Telegram попросту "не разрешит" боту публиковать эту картинку, т.к. сумма разрешения картинки не должна превышать 10000 px (6000+7000=13000) и вес картинки не должен превышать 20 МБ. Серверная часть сожмет эту картинку и избежит лимитов.- Прочая программная суета
- Программирование сюжетов бота (команда - ответ, кнопка - конкретное меню)
- Обеспечил стабильную работу системы за счёт обработки ошибок и использования системы мониторинга Sentry
- Оптимизация кода (скорость выполнения задач)
- Борьба за красивую архитектуру