Skip to content

Latest commit

 

History

History
334 lines (249 loc) · 12.8 KB

File metadata and controls

334 lines (249 loc) · 12.8 KB

🎬 Инструкция по демонстрации проекта преподавателю

Этот документ содержит пошаговый сценарий демонстрации проекта "HR Notification Bot" для преподавателя РЭУ им. Г.В. Плеханова.


📋 Подготовка к демонстрации

1. Убедитесь что всё установлено

cd /Users/rekruizer/Coding/HR
source venv/bin/activate

2. Запустите систему

python main.py

Вы должны увидеть:

============================================================
  HR NOTIFICATION BOT - Система HR-уведомлений
============================================================

🌐 Запуск REST API на http://localhost:5001
🤖 Запуск Telegram бота...
✅ Telegram бот запущен и готов к работе!

Система готова! Теперь у вас работают:

  • ✅ Telegram бот - для взаимодействия через мессенджер
  • ✅ REST API - для автоматизации через HTTP-запросы

🎯 Сценарий демонстрации

Часть 1: Telegram Бот (5 минут)

1.1. Покажите основной интерфейс

  1. Откройте бота в Telegram
  2. Отправьте команду /start
  3. Покажите преподавателю: Появились кнопки для быстрого доступа

Что говорить:

"Это интерфейс для взаимодействия сотрудников с HR. Через Telegram они могут быстро получать информацию, не заходя в корпоративные системы."

1.2. Просмотр новостей

  1. Нажмите кнопку "📰 Новости" (или /news)
  2. Покажите: Красиво отформатированный список новостей

Что говорить:

"Сотрудники всегда имеют доступ к актуальным новостям от HR-отдела."

1.3. Список сотрудников

  1. Нажмите "👥 Сотрудники" (или /company)
  2. Покажите: Список с разделением на администраторов и сотрудников

Что говорить:

"Система автоматически показывает структуру компании и роли пользователей."

Часть 2: REST API - Автоматизация (10 минут)

Это ключевая часть! Здесь вы показываете автоматизацию.

2.1. Откройте Postman

Для преподавателя: Покажите что Postman - это инструмент для тестирования API, который используют разработчики и системные администраторы.

2.2. Проверка работоспособности API

Запрос:

GET http://localhost:5001/api/health

Ответ:

{
  "status": "ok",
  "message": "HR Notification Bot API is running",
  "version": "1.0.0"
}

Что говорить:

"API работает. Это позволяет любой внешней системе интегрироваться с нашей системой уведомлений."

2.3. Получение списка сотрудников

Запрос:

GET http://localhost:5001/api/users

Ответ:

{
  "status": "success",
  "count": 2,
  "users": [
    {
      "username": "denisyuce",
      "full_name": "Denis Yuce",
      "is_admin": true,
      "created_at": "2025-10-16 08:20:45"
    },
    {
      "username": "mark",
      "full_name": "Mark Ivanov",
      "is_admin": false,
      "created_at": "2025-10-16 08:20:45"
    }
  ]
}

Что говорить:

"Через API можно получить данные о сотрудниках программно. Например, корпоративный портал может запросить эту информацию."

2.4. Добавление новости через API ⭐

Запрос:

POST http://localhost:5001/api/news
Content-Type: application/json

{
  "text": "Завтра офис не работает - выходной день!"
}

Ответ:

{
  "status": "success",
  "message": "News added successfully",
  "news": "Завтра офис не работает - выходной день!"
}

Теперь проверьте в Telegram:

  1. Откройте бота
  2. Нажмите "📰 Новости"
  3. Покажите: Новая новость появилась в списке!

Что говорить:

"Новость добавлена через API и автоматически стала доступна всем сотрудникам в Telegram. Это демонстрирует интеграцию - HR может добавлять новости из любой системы."

2.5. Массовая рассылка через API ⭐⭐⭐ (ГЛАВНОЕ!)

Запрос:

POST http://localhost:5001/api/broadcast
Content-Type: application/json

{
  "message": "Внимание всем! Важное объявление от HR-отдела: завтра состоится общее собрание в 10:00"
}

Ответ:

{
  "status": "success",
  "message": "Broadcast completed",
  "sent": 2,
  "failed": 0,
  "total_users": 2
}

Проверьте Telegram:

  1. Откройте бота
  2. Покажите: Пришло сообщение от бота с объявлением!

Что говорить:

"Это ключевая функция автоматизации! Один HTTP-запрос - и сообщение доставлено всем сотрудникам. Представьте: в компании работает корпоративная система (например, 1C). При важном событии она отправляет один запрос к нашему API, и ВСЕ сотрудники мгновенно получают уведомление в Telegram. Не нужно вручную обзванивать или писать каждому - всё автоматически!"

2.6. Личное сообщение конкретному сотруднику ⭐

Запрос:

POST http://localhost:5001/api/send
Content-Type: application/json

{
  "username": "mark",
  "message": "Марк, напоминаю про встречу с HR в 15:00"
}

Ответ:

{
  "status": "success",
  "message": "Message sent to mark",
  "recipient": "mark"
}

Проверьте Telegram (если у вас доступ к аккаунту Марка):

  • Сообщение пришло только Марку, остальные не получили

Что говорить:

"Система также поддерживает персонализированные уведомления. HR может отправлять индивидуальные сообщения конкретным сотрудникам."


💡 Преимущества проекта (что подчеркнуть)

1. Автоматизация

  • Один запрос → массовая рассылка
  • Не нужно вручную информировать каждого сотрудника
  • Экономия времени HR-отдела

2. Интеграция

  • REST API позволяет подключить любую систему
  • Корпоративный портал, CRM, 1C - все могут отправлять уведомления
  • Универсальный протокол (HTTP/JSON)

3. Доступность

  • Telegram установлен у большинства сотрудников
  • Push-уведомления на телефон
  • Работает 24/7

4. Безопасность

  • Система ролей (администраторы / сотрудники)
  • Только HR может отправлять массовые сообщения
  • История всех новостей сохраняется в БД

5. Масштабируемость

  • Легко добавить новых пользователей
  • Можно расширить функционал (отпуска, больничные, документы)
  • База данных SQLite - простая и надежная

📊 Технические детали (если спросят)

Технологии:

  • Python 3 - язык программирования
  • python-telegram-bot - библиотека для работы с Telegram API
  • Flask - веб-фреймворк для REST API
  • SQLite - встроенная база данных

Архитектура:

  • bot.py - логика Telegram бота
  • api.py - REST API эндпоинты
  • main.py - запуск обеих систем одновременно
  • database.py - работа с базой данных

API Эндпоинты:

Метод URL Описание
GET /api/health Проверка работоспособности
GET /api/users Список всех пользователей
POST /api/news Добавить новость
POST /api/broadcast Массовая рассылка
POST /api/send Личное сообщение

❓ Возможные вопросы преподавателя

"Как это применимо в реальной компании?"

Ответ:

"В компании с 100+ сотрудниками HR тратит много времени на рассылку объявлений. С нашей системой достаточно интегрировать корпоративный портал с API, и любое объявление автоматически доходит до всех сотрудников. Например:

  • Новый сотрудник → автоматическое приветственное сообщение
  • Приближается дедлайн → напоминание в Telegram
  • Изменение графика работы → мгновенное уведомление всех"

"Почему именно Telegram?"

Ответ:

"Telegram:

  • Установлен у большинства пользователей
  • Бесплатный API без ограничений
  • Push-уведомления на телефон
  • Не требует установки дополнительных приложений
  • Простой и понятный интерфейс"

"Можно ли использовать другие мессенджеры?"

Ответ:

"Да! Архитектура проекта позволяет легко добавить поддержку других платформ (WhatsApp, Slack, VK и т.д.). Достаточно написать адаптер для их API, сохранив REST API нашей системы без изменений."

"Как обеспечивается безопасность?"

Ответ:

"В системе реализована ролевая модель: только администраторы HR могут отправлять массовые сообщения и добавлять новости. В production-версии можно добавить:

  • API-ключи для авторизации запросов
  • HTTPS шифрование
  • Логирование всех действий
  • Двухфакторную аутентификацию"

✅ Чеклист перед демонстрацией

  • Система запущена (python main.py)
  • Postman установлен и настроен
  • Telegram бот отвечает на команды
  • API возвращает ответы на запросы
  • Подготовлены примеры JSON для POST-запросов
  • Телефон с Telegram открыт для демонстрации уведомлений

🚀 Запуск для демонстрации

# 1. Переход в папку проекта
cd /Users/rekruizer/Coding/HR

# 2. Активация виртуального окружения
source venv/bin/activate

# 3. Запуск системы
python main.py

Готово! Откройте Postman и Telegram - можете демонстрировать.


Удачи на защите! 🎓