Также есть информация в backend/README.md и frontend/README.md
- Руководители отделов - которым важно не тратить время на ручные напоминания сотрудникам
- Администраторы и тимлиды - чтобы держать команду в курсе событий и не допускать сбоев в расписании
- Сотрудники и волонтёры - которым удобно получать уведомления только о тех событиях, что действительно к ним относятся
- HR- и офис-менеджеры - для автоматизации внутренних коммуникаций: смен, дежурств, корпоративных мероприятий
В рабочих коллективах и проектных командах регулярно происходят события - совещания, дежурства, смены, тренинги. Но ручное информирование через мессенджеры - неэффективно:
- Сообщения теряются в чате
- Уведомления приходят не тем людям
- Напоминания отправляются слишком поздно или вовсе забываются.
Это снижает дисциплину, вызывает путаницу и тратит время руководства.
Создать систему автоматических уведомлений о событиях, которая:
- Учитывает роли, теги и принадлежность пользователей к группам
- Работает без участия человека в момент отправки
- Работает в мессенджере MAX
Компоненты:
- MAX - сам мессенджер, наш отечественный 💪
- t123_hakaton_bot - бот в Максе
- Backend (API) - бизнес-логика, управление ролями, событиями, тегами и всем-всем-всем
- Scheduler - модуль планирования и отправки напоминаний по cron
- Postgres - основная база данных (пользователи, события, группы, теги)
- Redis - кэш и очередь задач
- Frontend & WebApp - визуальный интерфейс для настройки групп и событий
Бот для мессенджера МАХ, который позволяет:
Боссу группы (владельцу):
-
Назначать и отзывать «начальников»
-
Присваивать участникам теги (например: “дизайнер”, “дежурный”)
-
Создавать события с гибкими настройками уведомлений (в момент события, за N минут до, с возможностью множественных напоминаний)
-
Привязывать события к отдельным пользователям или к тегам
-
Управлять приглашениями в группу (создавать/удалять инвайт-ссылки)
-
Начальнику (администратору):
-
Управлять участниками (кроме босса)
-
Просматривать и изменять назначения тегов, но без права редактировать саму группу или удалять её владельца
Участнику:
- Получать автоматические уведомления только о тех событиях, к которым он привязан - либо напрямую, либо через теги
- Подтверждать своё участие или отсутствие одной кнопкой
- Оставаться в информационном потоке без избыточного шума
- автоматизирует оповещения внутри коллектива
- снижает нагрузку на руководителей
- поддерживает порядок и дисциплину в команде
- исключает пропущенные события и “человеческий фактор”
Бот - удобный инструмент для управления напоминаниями: снижает нагрузку на руководство, повышает дисциплину команды и гарантирует, что каждый получит нужное уведомление вовремя.
-
Склонировать репозиторий и перейти в него:
git clone https://github.com/K1rL3s/vkmax-hackathon.git cd ./vkmax-hackathon -
Создать и заполнить файл
.envв корневой папке (пример:.env.example).
Для локального запуска достаточно заменитьMAX_TOKEN:cp .env.example .env nano .env -
Иметь установленный Docker Engine и docker compose v2
-
Собрать и запустить:
docker compose up -d --build
👤 Создание пользователя - автоматическое сохранение в БД при первом запуске бота
🔗 Вход в группу по диплинку - мгновенное подключение без ручной настройки
📢 Все уведомления - только через бота
📅 Отклик на событие
- ✅ Буду
- ❌ Не буду
- 🤷 Не знаю
📚 Пагинация по своим группам (в боте):
- 👑 Роль
- 📛 Название группы
- 🔗 Ссылка-переход в WebApp
- 📆 Выгрузка событий группы в ics календарь
- 🔔 Настройка режима уведомлений в одной группе
⚙️ Настройки
- 🔔 Настройка режима уведомлений сразу везде
- 📞 Ввод и удаление телефона
- 📍 Определение часового пояса
Изменение юзера ✏️
- Имя 👤
- Фамилия 👤
- Таймзона 🌍
- Телефон 📱
- Глобальная настройка уведомлений 🔔
Просмотр юзера (себя или юзера в одной со мной группе) 👀
- Имя 👤
- Фамилия 👤
- Телефон 📱
- Таймзона 🌍
- Аватарка из макса 🖼️
Просмотр своих групп 📋
- Название 🏷️
- Роль 🎖️
- Локальная настройка уведомлений 🔔
Изменение и удаление группы 🛠️🗑️
- Название 🏷️
- Описание 📝
- Таймзона 🌍
Изменение и удаление участников из группы 👥⚙️
- Роль 🎖️
- Тэги 🏷️
Изменение приглашение 📨
- Скопировать 🔗
- Отозвать 🚫
- Пересоздать 🔄
Создание, изменение, удаление и просмотр событий 📅
- Название 🏷️
- Описание 📝
- Группа 👥
- Ближайшая дата-время ⏰
Просмотр всех ивентов юзера во всех группах (самого себя) 🗓️👀
Просмотр всех ивентов юзера в конкретной группе (себя и других в группе) 🗓️👥
Просмотр всех ивентов в группе (все участники видят все ивенты в группы) 📅👁️
Темная/Светлая тема 🌓
Кирилл Лесовой, почта, гитхаб
Иван Дядечков, почта, гитхаб
Даниил Карпенко, почта, гитхаб
