ИРГУПС · Студенческий городок · Проект 2026

Общага-бот

Чат-бот в мессенджере MAX

Стирка · Дежурства · Справки · Комната — быт городка в одном чате

Доклад · около 10 минут · 6 докладчиков

О чём расскажем

Пять разделов — от бытовой проблемы до работающей связки с базой вуза.

01Проблемастирка, дежурства, справки — как это устроено сейчас
02РешениеОбщага-бот в MAX: сценарии и подход
03Как это работаетменю, запись на стирку, цикл дежурств
04Демо и системаживой сценарий, Go, PostgreSQL, обмен с ЕИС
05Пилот и командастатус работ, план, кто мы
Каждый раздел закрывает один вопрос·номера разделов повторяются на слайдах

Раздел 01 · Проблема

Три операции — всё вручную

То, чем житель общежития занимается каждую неделю, живёт в бумаге и чатах.

01Стирка — очередь у машинслоты не видны, брони теряются
02Дежурства — график в бумагепропуски никто не фиксирует
03Справки — приходить личнотолько по часам работы коменданта
Прачечная · график обходов · выдача справок·ручные процессы из жизни городка
Прачечная студенческого общежития: ряды стиральных машин

Раздел 01 · Проблема

Стирка сегодня

Свободную машину видно только у окна прачечной.

01Слот не виден из комнатыпроверить машину = дойти до прачечной
02Бронь живёт в перепискев чате этажа легко потеряться
03Очередь конфликтуетдве брони на одну машину — не редкость
Фото: прачечная общежития·типовой блок студенческого городка

Раздел 01 · Последствия

Обе стороны теряют время

Ручной процесс не масштабируется: больше жителей — больше трений у всех.

Житель

Тратит время
на обход

Дойти до прачечной, чтобы увидеть свободные машины

Спрашивать график дежурства у соседей

Ждать коменданта ради справки

Комендатура

Держит всё
в голове

График дежурств ведётся вручную и в бумаге

Пропуски дежурств не фиксируются автоматически

Каждая справка — личный визит и ручная запись

Две стороны одной проблемы·время жителей и время комендатуры

Раздел 02 · Решение

Общага-бот — бот
в мессенджере MAX

Житель уже сидит в мессенджере. Мы не даём ему новое приложение — сценарии живут рядом с обычными чатами.

СтиркаДежурстваСправкиМоя комнатаЧаты общежития
5

сценариев — в одном боте

MAX — мессенджер, уже установленный у жителей·раздел 02 · решение

Раздел 03 · Меню

Меню: житель и администрация

Житель не выходит из бота: кнопка роли открывает меню управления.

Карта меню бота общежития

Главное действие

Кнопка «Роль: Староста» открывает меню администрации

Меню жителя

Стирка · Дежурство · Моя комната · Справки и чаты

Меню администрации

Прачечная · Дежурства · Комнаты и жильцы · Роли и сотрудники

Раздел 03 · механика·диаграмма: карта меню бота

Раздел 03 · Стирка

Запись на стирку

Дата, машина, слот — и бот сам ведёт бронь до конца.

Сценарий записи на стирку

Путь брони

Запуск бота в MAX → дата, машина, слот → подтверждение

Напоминания

Бот пишет сам — за 15 и за 10 минут до стирки

Отмена

Не позднее 15 минут до начала — слот возвращается в очередь

Раздел 03 · механика·сценарий: пользовательский путь записи

Раздел 03 · Дежурства

Цикл дежурств

Бот сам обходит комнаты по графику — жителю остаётся одна отметка.

Цикл дежурств

График

Генерация на 1 / 3 / 6 месяцев, обход комнат по расписанию

Отметка

Житель отмечает выполнение прямо в чате

Штрафная петля

Пропуск → штрафное дежурство, максимум 1–3

Раздел 03 · механика·жизненный цикл: график → отметка → штраф

Раздел 04 · Демо

Живой сценарий

Скринкаст от лица коменданта: слева админ-панель, справа чат жителя в мессенджере MAX. Со стиркой и дежурствами боты справляются без участия человека.

Раздел 04 · демонстрация·мессенджер MAX · скринкаст в плеере

Раздел 04 · Архитектура

Изнутри: автономный бот и обмен

Устойчивая обмен-связка с базой вуза — и собственные данные бота.

Архитектура бота общежития

Сущности

Бот (Go) · PostgreSQL · Redis · RabbitMQ ↔ ЕИС

Автономный режим

Работает на своих данных, даже если база вуза недоступна

Обмен

Синхронизация через шину — планировщик и RPC-проверка

Раздел 04 · система·Go 1.23 · PostgreSQL 16 · Redis 7 · RabbitMQ

Пилот — статус проекта

Всего задач: 24 · Готово 14
Выполнено 58%

Бэклог

3
Реализовать очередь ожидания для прачечной
Добавить профиль пользователя в Mini App
Покрыть тестами случаи конфликта слотов

В работе

5
Настроить GitLab CI
Написать README
Написать ADAPTE-MANUAL
Реализовать автозакрытие истёкших броней
Реализовать mock-режим

На проверке

2
Сгенерировать Swagger-документацию
Настроить авто-реконект RabbitMQ

Готово

14
Спроектировать ER-модель
Реализовать RBAC
Настроить GORM (автомиграции и индексы)
Написать CRUD прачечной
Защита от двойной брони
Написать REST API
Настроить JWT-аутентификацию
Инициализировать React-приложение
Сверстать экран авторизации
Сверстать главное меню жителя и сотрудника
Реализовать роутинг по ролям
Написать Dockerfile
Собрать docker-compose (prod / dev / mock)
Добавить healthcheck-эндпоинты
Прогресс спринта 14 из 24 · 58%
Раздел 05 · пилот·пилот — 4 недели, шаги по канбану

Раздел 05 · Команда

Шестеро, кто это сделал

Один проект, шесть ролей — от руководителя до мотиватора.

Данил ДанилРабочая пчёлкаавтор проекта
Роман РоманРуководитель
Алан АланГенератор идей
Владислав ВладиславИсследователь ресурсов
Глеб ГлебАналитик
Фёдор ФёдорМотиватор
Раздел 05 · команда·проектная команда · ИрГУПС

Итог · Общага-бот

Пилот — 4 неделипрачечная, дежурства, справки
Мини-приложение — в доработкеосознанно: сначала бот, потом интерфейс
Обмен с базой вузаустойчивая связка + автономный режим
Подключить пилот

Спасибо. Вопросы?

QR: подключиться к пилоту Общага-бот
Слайд 14 / 14·Общага-бот · мессенджер MAX
← / → · space · R reset