Telezoom — дипломный проект, представляющий собой Telegram-бота для создания Zoom-встреч.
Приложение позволяет авторизовать пользователей, создавать конференции прямо из Telegram и, при необходимости, приглашать конкретных участников в закрытую встречу.
Проект реализован на Java 17 с использованием Spring Boot, Telegram Bots API, Zoom API, JWT и SQLite.
Цель Telezoom — упростить процесс создания онлайн-встреч и сократить количество ручных действий при организации конференций в Zoom.
Пользователь взаимодействует с Telegram-ботом через команды или web-интерфейс внутри Telegram.
После авторизации бот может:
- регистрировать пользователя в системе
- создавать Zoom-встречи
- формировать ссылку на подключение
- приглашать выбранных участников
- отправлять уведомления пользователям о созданной встрече
- Авторизация пользователей через команду
/login - Создание встреч в Zoom через команду
/create - Поддержка открытых и закрытых встреч
- Приглашение конкретных пользователей по username
- Интеграция с Zoom API через JWT
- Хранение данных пользователей в SQLite
- Поддержка Web App / web-формы для создания встречи через интерфейс внутри Telegram
- Java 17
- Spring Boot 3
- Telegram Bots API
- Zoom REST API
- JWT (jjwt)
- SQLite
- Jackson
- Gradle
Проект разделён на несколько логических слоёв:
Содержит Telegram-бота, команды, обработчики сообщений и стратегию выполнения команд.
Конфигурация приложения, создание бинов, настройка бота и JWT-генератора.
Работа с базой данных и внешними REST-запросами:
data_base— доступ к SQLiterest— работа с Zoom API, DTO и request-моделями
Бизнес-логика приложения:
- модели
- репозитории
- use case для создания встреч
Вспомогательные классы:
- логирование
- сетевые обёртки для запросов и ответов
Пользователь отправляет боту команду:
/login example@email.comПосле этого бот сохраняет Telegram username, chat id и email пользователя в локальную базу данных.
Пользователь может создать встречу через Telegram-команду или через web-интерфейс.
Пример команды:
/create "Team Sync" @user1 @user2Бот:
- обрабатывает команду
- получает список участников
- ищет их в базе данных
- генерирует JWT для Zoom API
- создаёт встречу в Zoom
- отправляет результат инициатору
- уведомляет приглашённых пользователей
В проекте также есть web-страница, где можно указать:
- название встречи
- дату и время
- приглашённых пользователей
Если поля не заполнены, часть параметров может быть выбрана автоматически.
На текущий момент бот поддерживает следующие команды:
/start— стартовое взаимодействие с ботом/create— создание встречи/info— информация о доступных командах/login— авторизация пользователя
Для локального хранения пользователей используется SQLite.
В базе сохраняются:
shortnamechat_idemail
Это позволяет связывать Telegram-пользователей с email-адресами, которые затем используются для приглашения в Zoom-встречи.
В проекте используются следующие параметры конфигурации:
api.key— Zoom API keyapi.secret— Zoom API secretbot.name— имя Telegram-ботаbot.token— токен Telegram-бота
Перед запуском необходимо добавить эти параметры в файл конфигурации приложения или передавать их через переменные окружения.
git clone https://github.com/dapadz/telezoom.git
cd telezoomУказать:
- токен Telegram-бота
- имя бота
- Zoom API key
- Zoom API secret
./gradlew bootRunПосле запуска Spring Boot поднимет приложение, зарегистрирует Telegram-бота и начнёт принимать обновления.
Telezoom демонстрирует, как можно объединить несколько технологий в одном прикладном решении:
- Telegram как удобный пользовательский интерфейс
- Zoom как платформа для видеоконференций
- локальная база данных для хранения пользователей
- Spring Boot как основа серверного приложения
Проект может быть полезен как учебный пример интеграции Telegram-бота с внешним API, а также как база для дальнейшего развития в сторону корпоративного инструмента для автоматизации встреч.
В дальнейшем проект можно расширить следующими возможностями:
- полноценная система ролей и прав доступа
- валидация email и username
- редактирование и удаление встреч
- история созданных конференций
- уведомления и напоминания перед началом встречи
- переход на PostgreSQL для production-сценариев
- Docker-конфигурация для деплоя
- тесты для бизнес-логики и команд бота
Проект выполнен в рамках дипломной работы и демонстрирует навыки:
- проектирования backend-приложения
- работы с Telegram Bot API
- интеграции с внешним REST API
- организации бизнес-логики и слоистой архитектуры
- хранения и обработки пользовательских данных