Skip to content

kerikir/ForrestHelper

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

📱 Мобильное приложение для коммуникации и навигации без сотовой связи и интернета

📄 Описание проекта

Это мобильное приложение разработано для обеспечения голосовой и текстовой связи, а также навигации в условиях отсутствия сотовой связи. Оно использует технологии Wi-Fi и GPS для организации локальной сети и определения местоположения пользователя. Приложение предназначено для использования в лесной местности, удаленных районах и других зонах без покрытия сотовой связи.

🌟 Основные функции

  • Голосовая связь: Осуществление звонков между абонентами в локальной сети.
  • Текстовая связь: Обмен сообщениями между пользователями.
  • Навигация: Определение местоположения с помощью GPS и отображение на карте.
  • Поиск абонентов: Обнаружение других пользователей в сети.
  • Шифрование данных: Защита передаваемой информации с использованием алгоритма MMB.

🛠 Технологии

  • Wi-Fi: Организация локальной сети для связи между устройствами.
  • GPS/ГЛОНАСС: Определение координат пользователя.
  • UDP: Протокол для передачи голосовых данных.
  • TCP: Протокол для передачи текстовых данных.
  • Шифрование MMB: Защита данных от несанкционированного доступа.
  • Java: Язык программирования для написания модулей.
  • Android SDK: Используемые библиотеки для работы с сетью и микрофоном.
  • Yandex MapKit: Отображение карт и маршрутов.
  • JUnit: Для тестирования приложения.

В качестве языка программирования использовался Java. Для доступа к микрофону, динамику и местоположению использовался Android SDK. JDK для организации многопоточности и работы с сетью. Для тестирования приложения использовалось логирование Log, модульные тесты JUnit и профилирование приложениия. Работа с картами и отрисовка пройденого пути с помощью Yandex MapKit. Для работы с GPS координатами использовались регулярные выражения. Общение устройств внтури локальной сети организовано с помощью Socket, протоколов UDP и TCP. Общение между устройствами происходит с помощью JSON-объектов. Устройство одновременно является и клиентом и сервером из-за особенности задачи. Для запроса разрешений у пользователя на использования микрофона, доступа к геологации используется TedPermission. Параллельное программирование для организации выполнения нескольких модулей одновременно и ускорения шифрования аудиоданных. Используемые паттерны проектирования: Strategy, Observer, Adapter, Dependency Injection.



📸 Скриншоты

Запрос разрешения

image

Экран регистрации

image

Список абонентов

image

Меню

image

Экран входящего вызова

image

Экран отправки сообщений

image

Отображение пройденного пути и другого абонента

image

🎥 Пример работы

Поиск абонентов

default.mp4

Голосовой вызов

default.mp4

Отрисовка пути без связи

Clipchamp.14.mp4



🚀 Установка и запуск

Вариант 1: Apk file

Download APK

Вариант 2: Клонирование репозитория

git clone https://github.com/kerikir/ForrestHelper.git

About

Мобильное коммуникационное приложение для применения в условиях отсутствия сотовой связи

Topics

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages