Навигатор маршрутов для немоторного транспорта (командный проект)

Материал из Wiki - Факультет компьютерных наук
Перейти к: навигация, поиск
Компания IPONWEB
Учебный семестр Осень 2016
Учебный курс 3-й курс
Максимальное количество студентов, выбравших проект: 4-5


Внимание! Данный проект находится в архиве и реализован не будет.

Что это за проект?

Сервис на основе Яндекс.Карт, на котором оцениваются, насколько удобно ездить на транспорте с небольшими колесами (роликах, самокате, скейте). Также можно прокладывать маршруты в зависимости от выбранного транспорта.

Чему научатся студенты? Что самое интересное в проекте?

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

Организация работы (Как студенты будут работать в команде?)

Основные моменты взаимодействия:

  • Непрерывня интеграция: линтеры кода, прогон тестов, покрытие тестами, сборка пакета и выкладка на прод, работа с конфигурациями. Настройка на примере Jenkins или Phabricator. Работа с конфигурациями через Puppet (или, возможно, Docker или Vagrant)
  • Гибкая методология разработки: бэклог, организация спринтов, оценка сложности задач и сопоставление с фактически потраченным, демо. Технически на примере Trello, RedMine или Phabricator
  • В группе каждые 2 недели (спринт) переходит роль менеджера проекта, чтобы каждый мог попробовать роль пару раз и на планирование не забивали.
  • Взаимные код-ревью: все ревьюят всех.
  • Удаленная работа, встречаться нечасто (например, в конце каждого спринта), но раз в 2-3 дня обязательно синхронизовать результаты и планы в слаке/телеграмме или по почте.

Компоненты (Из каких частей состоит проект?)

  • Веб-сервис с использованием API Яндекс.Карт для проложения маршрутов и отметок свойств дорожек.
  • Мобильный клиент для верификации и отправки данных о дорожках.
  • В зависимости от источников данных:
  • Анализ данных с виброметра на предмет оценки качества дорожки (нужно учитывать шумы, характер движения, одиночные препядствия типа бордюров)
  • Анализатор изображений дорог: классификация по качеству
  • Система проложения маршрута исходя из транспорта пользователя

Вариант сбора информации (достаточно реализовать первый и какой-либо из двух других, но лучше попробовать все):

  • Пользователи сами отмечают участки и качество дорог (дефолтный вариант)
  • Можно присоединить к своему транспортному средству телефон с приложением, которое на основе виброметра, которое собирает данные, затем отправляет серверу или анализирует самостоятельно. Пользователь верифицирует данные, чтобы избежать неточности координат или характера его поездки.
  • Парсить Яндекс.Панорамы (или попросить датасет нижних частей фотографий) и по ним (видимо через нейросеть) определять, где начинается бордюр или является ли дорожка пешеходной, тип дорожки (брусчатка, качество асфальт).

Информация на панорамах также может устаревать, поэтому лучше использовать все три варианта сбора информации.

Какие будут использоваться технологии?

  • API Яндекс.Карт
  • Возможно, API Панорам Яндекс.Карт
  • Возможно, интерфейсы доступа к датчикам смартфона (React Native, Cordova или Swift, Java)

Какие начальные требования?

  • Поможет умение анализировать функции, знание разложения функций в ряды
  • Желателен опыт работы с геоданными
  • Желателен опыт мобильной разработки

Темы вводных занятий

  • Взаимодействие в команде, методология Agile
  • Архитектура разрабатываемого проекта
  • Составление бэклога и планирование спринтов

Критерии оценки

Минимальные требования (на 4-5):

  • Организована система хранения маршрутов и привязки их к API карт.
  • Есть веб-интерфейс, через который можно указать часть маршрута и отметить качество дорожки.
  • Разработан мобильный клиент для сервиса, через который можно также вносить информацию о маршрутах.

Точные требования на 6-10 будут сформулированы на первых занятиях исходя из составленного бэклога и уровня подготовки участников проекта.

Похожие проекты

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

Контактная информация

  • Почта: acccko@gmail.com
  • Телеграмм: @acccko