Дапамажыце dev.by 🤍
Падтрымаць

Чем полезны хакатоны. История одного проекта

2 каментарыя
Чем полезны хакатоны. История одного проекта

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

Победителем стала команда Voblačka, которая, к слову, не новичок в такого рода мероприятиях. Ребята смогли прийти к поставленной цели красиво и ярко. И пока где-то в офисах EPAM герои статьи воплощают проект в жизнь, мы расскажем вам о талантливой команде и их эффективной разработке.

Читать далее

Voblačka

Предыстория

Первый опыт хака-марафона ребята приобрели в 2013 году. Делали веб-приложение, целью которого была координация людей в группах, где группа — это люди из одного кабинета. С одной стороны, проект был неудачным в плане конечной реализации идеи (сделана была только часть UI с полурабочим бекендом). С другой стороны, члены команды получили позитивный опыт, который помог победить на этот раз.

За год Voblačka набралась сил, опыта, и начала работать над новой идеей. Формат java-хакатона особенный: за восемь напряженных часов работы им удалось создать мобильное приложение для платформы Android. Команда учла, как и что стоит подготовить заранее, как распределить задачи чтобы каждый на разных этапах смог быть вовлечённым в конкретное задание или помогать товарищу, как обсуждать и решать спорные вопросы и достигать консенсуса в условиях ограниченного времени. Такой вот «экстремальный scrum».

Состав команды

Команда состоит из четырёх человек. Капитан, Алексей Жингеровский, отвечал за координирование остальных членов команды, а также за Android-приложение и создание технического задания. Максим Голунко писал скрипты для Raspberry Pi, дорабатывал приложение под Android. Андрей Акатьев и Вера Сидорович были ответственными за Java-приложение и взаимодействие со сторонним API для работы с Outlook и Google Maps. 


Приложение

Идея

Идея приложения заключается в том, чтобы упростить бронирование комнат для совещаний. Сейчас это делается через календарь Outlook, что не всегда быстро и удобно. Быстро найти помещение — сложно, а если оно ещё и в другом офисе, то совершенно не понятно, какими характеристиками обладает. Команда решила упростить задачу и добавила интерактивности в само понимание бронирования комнат. Так, появились не только описание пространства, но и возможность «сообщать» о доступности кабинета в любой момент времени.

Часто спонтанно возникает необходимость найти место для обсуждения буквально на 10 минут. В этом случае обычный процесс с поиском и бронированием свободной комнаты через Outlook слишком громоздок. Разработанное приложение, используя геолокацию, позволяет мгновенно найти ближайшие свободные аудитории. Датчики же движения в них сообщают о занятости комнаты гораздо надежнее статуса «booked» в Outlook, избавляя от необходимости заглядывать внутрь и тревожить людей.

В итоге получился прототип реализации идеи:

Разработка

При разработке использовался Raspberry Pi — мини-компьютер с камерой. Предполагалось, что он находится в митинг-комнате и отслеживает движение через камеру.

Итого, было использовано слияние мобильного телефона и «малинового» компьютера.

Из-за укороченного формата марафона идти на него без подготовки было бессмысленно. Здесь стоит отметить доскональный бизнес-анализ и тщательную разработку тестовых прототипов приложения, которыми Voblačka занимались «до».

«Предварительная работа команды с UX-дизайнером и потенциальными пользователями была плодотворной — разработали не только скетч-прототип приложения (с использованием Indigo Studio), но и проработали BMC (Business Model Canvas), User Stories и Customer Journal Map», — говорит один из создателей приложения Алексей Жингеровский. 

Структурно проект состоял из трёх компонентов: приложение под Android, приложение на Raspberry Pi для обнаружения движения, сервер для хранения данных и API для соединения всего воедино. Использовалась следующая связка технологий: Java 8 + Spring Framework + MongoDB.

Поскольку предполагалось присутствие «малинки», которой отводилась почётная роль следить за наличием движения в комнате и сообщать пользователю о присутствии там людей, использовался Python и OpenCV.

Конечно, команда готовилась заранее, но боевой код не писала. Ребята настроили среду для разработки и позапускали демо-примеры. Это спасло их от большой проблемы: нужной версии библиотеки не было, надо было собирать из исходников, а на Raspberry Pi это заняло 8 часов! Кстати, яркий корпус из конструктора Lego, который любезно предоставил сын Алексея, тоже изготовили заранее.

Если говорить про сервер, то команда открыла для себя ещё раз Spring Framework через Spring Boot. Быстрый и приятный старт с Spring Boot + Spring Data позволили сосредоточится на бизнес-логике, в то время как всё остальное «просто работало». Удачный выбор для хакатона.

Основным продуктом было мобильное приложение. Проектирование интерфейса для Android-телефона было в новинку. Ребята ознакомились с темой за два вечера по книжкам. Это стало настоящим испытанием. Тем более, цель была поставлена непростая: использовать максимально свежую версию Android-платформы. Но опыта с Java, как оказалось в итоге, было достаточно для создания приложения.

Сложности

Проектировать UI оказалось не так просто, как казалось. Voblačka, вдохновлённые картинками и документацией по Material Design, не ожидали, что многие компоненты (анимация, поведение) не реализованы в SDK, а ещё инструментарий для разработки интерфейсов, которые чуть сложнее, чем одна кнопка, не так функционален и удобен. И всё пришлось писать в XML (что само по себе не сложно, но, учитывая крайне скудные познания в Android API, было проблемно), и сразу проверять на телефоне.

Стандартные приложения, такие как «Календарь», открыты. Поэтому некоторые моменты реализации брались напрямую оттуда. Но в итоге мечты о Material Design разбились, и всё было сделано скудно, зато работало.

Как заставить работать геолокацию? Как хранить данные и передавать их между Activity? Как отобразить фото с сервера? Всё это легко для тех, кто уже работал с Android, а вот ребятам пришлось исследовать новый мир на ходу (спасибо stack overflow за ответы).

Так как основная идея — простое и быстрое бронирование комнат, нужно было научиться это делать. В EPAM управление ими реализовано через MS Exchange Server. Поэтому Voblačka взяли на вооружение доступную библиотеку от Microsoft; никаких подводных камней не было найдено, всё работало.

На телефоне предлагалось бронировать комнаты в зависимости от текущего положения. Полуручной синтаксический анализ (парсинг) пары сотен адресов и ассоциация их с геолокацией через Google Location API — и поиск ближайших адресов через MongoDB заработал. В итоге на демо показывалась не болванка с адресами — всё было честно.

Естественно, идея интересна не только команде, но и компании. Поэтому приложение будут развивать и дорабатывать.

Чытайце таксама
Украінская EPAM дапамагла абсталяваць часовую школу на Мікалаеўшчыне
Украінская EPAM дапамагла абсталяваць часовую школу на Мікалаеўшчыне
Украінская EPAM дапамагла абсталяваць часовую школу на Мікалаеўшчыне
24 каментарыя
Дасведчаную айцішніцу не ўзялі на курсы, хоць яна выдатна здала тэсты (тройчы!). EPAM растлумачыў
Дасведчаную айцішніцу не ўзялі на курсы, хоць яна выдатна здала тэсты (тройчы!). EPAM растлумачыў
Дасведчаную айцішніцу не ўзялі на курсы, хоць яна выдатна здала тэсты (тройчы!). EPAM растлумачыў
Цяпер зноў iдзе набор — ужо на снежань.
22 каментарыя
«Стаць лідарам у свеце AI-арыентаваных бізнесаў». EPAM чакае рэкордную выручку ў 2025
«Стаць лідарам у свеце AI-арыентаваных бізнесаў». EPAM чакае рэкордную выручку ў 2025
«Стаць лідарам у свеце AI-арыентаваных бізнесаў». EPAM чакае рэкордную выручку ў 2025
EPAM чакае рэкордную выручку ў 2025 годзе. Гэта вынікае з фінансавай справаздачы кампаніі па выніках трэцяга квартала. 
6 каментарыяў
EPAM абвясціла выкуп акцый, рынку спадабалася
EPAM абвясціла выкуп акцый, рынку спадабалася
EPAM абвясціла выкуп акцый, рынку спадабалася
19 каментарыяў

Хочаце паведаміць важную навіну? Пішыце ў Telegram-бот

Галоўныя падзеі і карысныя спасылкі ў нашым Telegram-канале

Абмеркаванне
Каментуйце без абмежаванняў

Рэлацыраваліся? Цяпер вы можаце каментаваць без верыфікацыі акаўнта.

Каментарыяў пакуль няма.