Skip to content
This repository has been archived by the owner on Apr 27, 2024. It is now read-only.
/ BikeStat Public archive

The team case of the pre-professional Olympiad - personal recommendations for cyclists.

License

Notifications You must be signed in to change notification settings

voronov-nikita/BikeStat

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

81 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

BikeStat

mosh-image

проект московской предпроффессиональной олимпиады

Содержание

  1. Разработчики проекта
  2. О проекте
  3. Описание кода
  4. Видео работы приложения
  5. Ссылки

Разработчики

  1. Воронов Никита

    Функционал приложения. Обеспечение стабильной связи между сервером и клиентом. Обучение и обеспечение связи с нейронной сетью. Обеспечение стабильного обмена данными и защита систем. Поднятие собственного сервера в домашних условиях.

  2. Мандрыка Арина

    Обеспечение визуальной части приложения. Составление DataSet файла. Съемка и обработка видео приложения.

  3. Коротков Иван

    Разработка дизайна приложения. Составление DataSet файла. Работа с документацией. Составление схем продукта.

  4. Комаров Матвей

    Серверная часть. Обеспечение хранения и обработки данных в реальном времени. Полная работа с базой данных.

  5. Назарова Анастасия

    Разработка тестирующей системы. Тестирование функциональных особенностей и выявление проблем приложения.

О проекте

В настоящее время велосипедный спорт становится все более популярным видом активного отдыха, а велосипед входит в нашу жизнь как удобное и незаменимое средство передвижения, показавшее свою эффективность как в городской среде, так и за её пределами. Повышенный интерес к использованию этого вида транспорта мотивирует инженеров, занятых проектированием и разработкой решений в области современных информационных технологий, все больше и больше задумываться над вопросом усовершенствования информационного обеспечения, способного сделать процесс передвижения на велосипеде более удобным и эффективным.

Наше приложение может быть полезно при составлении маршрутов передвижения, планировании поездок, составлении графика физической активности и рекомендаций с учётом индивидуальных особенностей и целей велосипедиста.

Целью разработки программного комплекса является повышение эффективности тренировочного процесса пользователя.

Описание кода

Серверная часть

В репозитории представлено несколько папок с файлами разного назначения. По сути весь продукт разбит на несколько основных частей: само приложение для пользователей, исходный код для сервера, документацию к проекту, файл лицензирования исходного кода, и т.п

Файлы сервера и 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. Файл лицензии расположен в репозитории.

Видео работы приложения

Ссылки

  1. python.org
  2. pypi.org
  3. reactnative.dev
  4. expo.dev



04.02.2024 - last global change.

About

The team case of the pre-professional Olympiad - personal recommendations for cyclists.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published