-
Функционал приложения. Обеспечение стабильной связи между сервером и клиентом. Обучение и обеспечение связи с нейронной сетью. Обеспечение стабильного обмена данными и защита систем. Поднятие собственного сервера в домашних условиях.
-
Обеспечение визуальной части приложения. Составление DataSet файла. Съемка и обработка видео приложения.
-
Разработка дизайна приложения. Составление DataSet файла. Работа с документацией. Составление схем продукта.
-
Серверная часть. Обеспечение хранения и обработки данных в реальном времени. Полная работа с базой данных.
-
Разработка тестирующей системы. Тестирование функциональных особенностей и выявление проблем приложения.
В настоящее время велосипедный спорт становится все более популярным видом активного отдыха, а велосипед входит в нашу жизнь как удобное и незаменимое средство передвижения, показавшее свою эффективность как в городской среде, так и за её пределами. Повышенный интерес к использованию этого вида транспорта мотивирует инженеров, занятых проектированием и разработкой решений в области современных информационных технологий, все больше и больше задумываться над вопросом усовершенствования информационного обеспечения, способного сделать процесс передвижения на велосипеде более удобным и эффективным.
Наше приложение может быть полезно при составлении маршрутов передвижения, планировании поездок, составлении графика физической активности и рекомендаций с учётом индивидуальных особенностей и целей велосипедиста.
Целью разработки программного комплекса является повышение эффективности тренировочного процесса пользователя.
В репозитории представлено несколько папок с файлами разного назначения. По сути весь продукт разбит на несколько основных частей: само приложение для пользователей, исходный код для сервера, документацию к проекту, файл лицензирования исходного кода, и т.п
Файлы сервера и backend части описаны в папке server, весь код логики сервера описан на языке программирования python. На сервере происходят основные вычисления, сохранение базы данных пользователей и их данных. Для запуска сервера необхрдимо иметь при себе интерпритатор python версии, не менее python3.9. Перед запуском компонентов, установите все необходимые модули на свое устройство с помощью команды
pip install -r requirements.txt
После чего все модули будут догружены в вашу среду. Файл requirements.txt располагается в корневом каталоге приложения.
Среди каталогов репозитория есть отдельный, называемый AI. В этом файле расположены основные файлы для равертывания собственной нейронной сети. При разработке нейросети, использовался язык программирования Python версии 3.11.6.
Перед началом работы, необходимо сделать так, чтобы пользователь имел связь с сервером и со своими данными соответственно. Для этого нужно запустить код сервера. В зависимости от разных моментов (выбор IDE для python, аппаратной архитекуры, версии python) запуск одного и того же кода на разных устройствах может выглядеть по разному. Вот пример того, как запустить проект:
python3 server.py
При этом в терминале должна выйти информация об IP адресе сервера и персональном порте удаленного подключения. Вот пример нормального вывода информации:
> python3 server.py
IP: 192.168.0.33
PORT: 8090
Перед запуском необходимо отредактировать файл с названием Socket.js. В самом начале там присуттсвует переменная url, отвечающая за присоединение к серверу. Из тех данных, которые показал терминал сервера необходимо выделить данные об IP адресе и заменить соответсвенно в ссылке вида: bash ws://IP:8090
на то, что вывел терминал - bash ws://192.168.0.33:8090
.
Приложение написано с использованием framework React Native в формате WEB приложения. Для запуска приложение с файлами из репозитория, необходимо выполнить команду:
npm start
Или, если возникли ошибки
npx expo start -с
Причем предварительно необходимо установить все зависимости, хранящиеся в файле packege.json. Чтобы упростить себе задачу, можно выполнить команду:
nmp install
И все зависимости установятся автоматически. Таким образом можно запустить проект без установки самого приложения.
Главное запускать эти блоки совметсно, чтобы данные могли перетикать между программами и тем самым взаимодействовать между собой.
Для тестирование функций и отказоустойчивости приложения и сервера были написаны unit тесты. Все тесты описаны в папке tests.
Каждый тест проходит автоматическую проверку и сопровождается ответом в виде "THE TEST IS PASSED" или "THE TEST FAILED"
Тесты разделены на два типа - тестирование базы данных и тестированрие отдельных функций обработки.
Исходный код распространяется под лицензией открытого исходного кода - MIT. Файл лицензии расположен в репозитории.