Skip to content

plaffyyy/MobileAppHackaton

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Дополнение к приложению "Мой Дом - Эталон" от команды aquaf1ne

Улучшенная платформа для обращения жителей на базе "Мой Дом Эталон" со встроенным модулем распознавания голосовых обращений и авто-маршрутизацией на стороне "МП Диспетчер 24" по следующим категориям:

  • Освещение;
  • Водоснабжение;
  • Отопление;
  • Домофон;
  • Лифт;
  • Электричество;
  • Уборка;
  • Подъезд

Разработали

  • Егор Белозеров - DevOps-инженер
  • Константин Зимин - Android-разработчик
  • Герман Смиркин - ML-разработка

Архитектура репозитория

  • Папка API - серверная часть
  • MTSAndroidApp - клиентское приложение

Требования

Перед началом работы убедитесь, что у вас установлены следующие инструменты:

  • Android Studio (рекомендуется последняя версия)
  • JDK (версия 8)
  • Android SDK (устанавливается через Android Studio)
  • Устройство или эмулятор для запуска приложения
  • Остальные зависимости указаны в Gradle

К базе данных дополнительно подключаться не нужно: подключена NoSQL FireBase

Установка

  1. Клонируйте репозиторий:

    git clone https://git.truetecharena.ru/sistema-xak-niznii-novgorod-13/truetecharena1739605164-team-12262/polnoe-opisanie-zadachi-138
    
  2. Откройте проект в 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 части

Если вы хотите протестировать работоспособность 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 поле которое помечает запрос как важный и показывает такие запросы первыми со стороны диспетчера.
}
```

Описание работы API части

Этот репозиторий содержит Python-API для интеграции с Android приложением. API работает на порту 5000 и может быть запущен как через Docker, так и вручную.

Требования

  • Docker (опционально, для запуска через контейнер)
  • Python 3.10
  • Убедитесь, что порт 5000 открыт и доступен для прослушивания.

Запуск через Docker

  1. Скачайте Docker-образ:
    docker pull essence666/hackathon_api:mvp2
    
  2. Запустите контейнер
    docker run --rm --name api -d -p 5000:5000 essence666/hackathon_api:mvp2
    

Сборка без Docker

Или, если вы не хотите использовать Docker, необходимо установить зависимости и запустить Python-файл:

pip install -r requirements.txt && python3 main.py

Сборка Docker-образа вручную

  1. Склонируйте репозиторий
    git clone https://git.truetecharena.ru/sistema-xak-niznii-novgorod-13/truetecharena1739605164-team-12262/polnoe-opisanie-zadachi-138
    
  2. Перейти в директорию с API
    cd /API
    
  3. Собрать образ
    docker build -t hackathon_api .
    
  4. Запустите контейнер
    docker run --rm --name api -d -p 5000:5000 hackathon_api
    
    

Подключение к доменному имени

Для подключения Android приложения к серверу через доменное имя:

  • Убедитесь, что ваш IP-адрес уникален и публично доступен.
  • Убедитесь, что порт 5000 открыт для входящих подключений.
  • Напишите в Telegram @againlose для привязки IP-адреса к доменному имени.

Тестирование

Сервер, указанный в APK, будет доступен до 23:59 16 февраля. После этой даты сервер продолжит принимать запросы, но только на вашем локальном или развернутом сервере.

Демонстрация приложения

Аутентификация

Создание текстовой заявки

Создание голосовой заявки

Отправить голосовую заявку

Обработанные заявки

Админ панель (скрин 1)

Админ панель (скрин 2)

Это первая страница, которая встречает вас на запуске. Вы можете перейти и зарегистрировать нового пользователя по кнопке "Go to register page". Потом есть 2 пути:

  1. Войти как диспетчер. Там вы видите 3 страницы. Первая это обработанные запросы, в которых есть заполнены все обязательные поля. Вторая это "На доработку" в которой все запросы, в которых хотя бы одно поле требует подтверждения и 3 поле spam, которые могут быть отброшены. В каждой из страниц заявки отсортированы по полю important. То есть самые важные запросы будут показываться первыми.
  2. Ввести email и password пользователя и попасть на страницу пользователя. Там вы видите 3 страницы. Первая это версия для людей с ОВЗ по зрению, для которых созданы специально большие кнопки, там при нажатии на кнопку "Записать голосовое" пользователь записывает 10 секундное голосовое и появляется большая кнопка отправить. Вторая страница, это уже создание запросов, которые уже реализованы в компании Эталон, чтобы посмотреть по аналогии. Третья страница, это все личные заявки пользователя.

На каждой странице есть сверху кнопка Logout для возвращения на страницу Log In

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published