Улучшенная платформа для обращения жителей на базе "Мой Дом Эталон" со встроенным модулем распознавания голосовых обращений и авто-маршрутизацией на стороне "МП Диспетчер 24" по следующим категориям:
- Освещение;
- Водоснабжение;
- Отопление;
- Домофон;
- Лифт;
- Электричество;
- Уборка;
- Подъезд
- Папка API - серверная часть
- MTSAndroidApp - клиентское приложение
Перед началом работы убедитесь, что у вас установлены следующие инструменты:
- Android Studio (рекомендуется последняя версия)
- JDK (версия 8)
- Android SDK (устанавливается через Android Studio)
- Устройство или эмулятор для запуска приложения
- Остальные зависимости указаны в Gradle
К базе данных дополнительно подключаться не нужно: подключена NoSQL FireBase
-
Клонируйте репозиторий:
git clone https://git.truetecharena.ru/sistema-xak-niznii-novgorod-13/truetecharena1739605164-team-12262/polnoe-opisanie-zadachi-138
-
Откройте проект в Android Studio
Вы можете сделать Build APK, используя Верхнее меню -> Build -> Build App Bundle APK -> Build APK. После появится уведомление "Build APK", в нём нужно перейти по ссылке "Locate". В папке, которая у вас откроется, файл будет представлен с названием "app.debug.apk". Также приложение можно запустить с помощью выбора устройства в Android Studio и нажатия на кнопку Run App (SHIFT + F10)
В рамках MVP пользователю предоставлена возможность создать обращение в управляющую компанию двумя способами: голосовое сообщение и текст. Нами добавлена возможность голосового ввода без систематизации и детализации проблемы. Длина голосового сообщения в рамках MVP - 10 секунд
Нужно задать относительно точный промт. Например:
- Вышел из квартиры. В лифте выдернули кнопку пятого этажа
- В подъезде не работает освещение
Если вы хотите протестировать работоспособность Backend-части, Вам необходимо отправить POST-запрос по данному URL
```URL
http://aquaf1na.fun:5000/ml
с телом запроса
```JSON
{
"id":"1213123,
"data": string, contains base64 format
}
```
и как результат вы получите
```JSON
{
"topic": обязательное поле с названием проблемы,
"details": обязательное поле с описанием проблемы
"comments": опциональное поле, с доп.комментариями
"spam": boolean поле которое помечает запрос как спам
"important": boolean поле которое помечает запрос как важный и показывает такие запросы первыми со стороны диспетчера.
}
```
Этот репозиторий содержит Python-API для интеграции с Android приложением. API работает на порту 5000 и может быть запущен как через Docker, так и вручную.
- Docker (опционально, для запуска через контейнер)
- Python 3.10
- Убедитесь, что порт 5000 открыт и доступен для прослушивания.
- Скачайте Docker-образ:
docker pull essence666/hackathon_api:mvp2
- Запустите контейнер
docker run --rm --name api -d -p 5000:5000 essence666/hackathon_api:mvp2
Или, если вы не хотите использовать Docker, необходимо установить зависимости и запустить Python-файл:
pip install -r requirements.txt && python3 main.py- Склонируйте репозиторий
git clone https://git.truetecharena.ru/sistema-xak-niznii-novgorod-13/truetecharena1739605164-team-12262/polnoe-opisanie-zadachi-138
- Перейти в директорию с API
cd /API - Собрать образ
docker build -t hackathon_api . - Запустите контейнер
docker run --rm --name api -d -p 5000:5000 hackathon_api
Для подключения Android приложения к серверу через доменное имя:
- Убедитесь, что ваш IP-адрес уникален и публично доступен.
- Убедитесь, что порт 5000 открыт для входящих подключений.
- Напишите в Telegram @againlose для привязки IP-адреса к доменному имени.
Сервер, указанный в APK, будет доступен до 23:59 16 февраля. После этой даты сервер продолжит принимать запросы, но только на вашем локальном или развернутом сервере.
Это первая страница, которая встречает вас на запуске. Вы можете перейти и зарегистрировать нового пользователя по кнопке "Go to register page". Потом есть 2 пути:
- Войти как диспетчер. Там вы видите 3 страницы. Первая это обработанные запросы, в которых есть заполнены все обязательные поля. Вторая это "На доработку" в которой все запросы, в которых хотя бы одно поле требует подтверждения и 3 поле spam, которые могут быть отброшены. В каждой из страниц заявки отсортированы по полю important. То есть самые важные запросы будут показываться первыми.
- Ввести email и password пользователя и попасть на страницу пользователя. Там вы видите 3 страницы. Первая это версия для людей с ОВЗ по зрению, для которых созданы специально большие кнопки, там при нажатии на кнопку "Записать голосовое" пользователь записывает 10 секундное голосовое и появляется большая кнопка отправить. Вторая страница, это уже создание запросов, которые уже реализованы в компании Эталон, чтобы посмотреть по аналогии. Третья страница, это все личные заявки пользователя.
На каждой странице есть сверху кнопка Logout для возвращения на страницу Log In