R50 591bbaaeec8daec29f69698f2bf159d5
Node.js Backend developer

Система постинга

Добавлено 12 янв 2024 в 17:46
Логика проекта - автоматизация публикации сообщений в ~ 1000 Telegram чатов.
В проекте принимали участие в разработке всего 4 человека
2 Frontend разработчика, тестировщик и Backend разработчик.

Основные функции системы:
- Создание/редактирование/удаление публикации через сайт
- Получение списка всех созданных публикаций
- Установка даты, когда должна выйти публикация
- Установка таймера авто-удаления публикации в чатах
- Закрепление и авто-открепление публикации в чатах
- Авто-удаление публикации в чатах
- Настройка чатов (Часовой пояс, количество участников, категории чатов)
- Функция предпросмотра (Бот покажет как будет выглядеть публикация в чатах)

Я занимался серверной частью (Backend ), т.е.:
- Сохранение/обновление/удаление данных
Например, сохранение данных публикации.
Это текст для конкретного поста (сообщения), стили этого текста, материалы (фото/видео/файлы), кнопочки, дату публикации, таймер автоудаления, выбранные чаты.

- Конвертация и сжатие файлов
Пользователь загружает на сайт фотографию для будущего поста и задача серверной части проверить загруженный файл на лимиты Telegram, иначе бот просто не сможет опубликовать пост.
Лимиты Telegram- вес файлов, разрешение картинок, расширение/кодировка видео.
Например, пользователь захотел видеть в своём посту картинку с разрешением 6000x7000 px с весом 2 ГБ. Telegram попросту "не разрешит" боту публиковать эту картинку, т.к. сумма разрешения картинки не должна превышать 10000 px (6000+7000=13000) и вес картинки не должен превышать 20 МБ. Серверная часть сожмет эту картинку и избежит лимитов.

- Прочая программная суета
  • Программирование сюжетов бота (команда - ответ, кнопка - конкретное меню)
  • Обеспечил стабильную работу системы за счёт обработки ошибок и использования системы мониторинга Sentry
  • Оптимизация кода (скорость выполнения задач)
  • Борьба за красивую архитектуру
8258ea847d 8bd962f735 8e6c07cef8