Студенти факультету КНТ взяли участь у хакатоні з програмування  (4-12-2017)

Протягом 18-19 листопада 2017 р. у Вінниці проходило шосте щорічне змагання з програмування серед студентів – «IT-Revolution», організоване BEST Vinnytsia при Вінницькому національному технічному університеті за підтримки Департаменту соціальної та молодіжної політики Вінницької ОДА.

На цей хакатон зареєструвалися більше 150 учасників, серед яких – представники Вінницької, Львівської, Тернопільської, Київської, Криворізької, Харківської та Донецької областей. У фіналі взяли участь 16 команд, які пройшли відбірковий етап. Партнерами цьогорічного змагання були Wargaming, Exadel, Binary Studio, Rogmax, SetUp Debate, Main Academy.

Хакатон (від hack та marathon – марафон) – це захід, під час якого різні спеціалісти в галузі розробки програмного забезпечення інтенсивно та згуртовано працюють над розв’язанням якоїсь проблеми чи створенням нового додатку або сервісу. Зазвичай хакатони тривають від одного дня до тижня.

Аби потрапити на хакатон, ми зареєструвалися на офіційному сайті та через декілька днів отримали тестове завдання в обраній нами категорії Web. Використовуючи сучасні мережні технології (Java, JSP, JSTL, Servlets), протягом п’яти днів ми розробляли веб-додаток згідно тестового завдання. В нашому випадку це був додаток, що допомагає в навігації та зборі статистики для репозиторіїв Github’у. За результатами цього  відбіркового етапу нашу команду запросили до участі в хакатоні у м. Вінниця.

На виконання завдань студентам-програмістам було відведено лише 24 години, після чого кожна команда представила свій готовий продукт перед суддями. Змагання проходило у трьох категоріях: Mobile game, Mobile app і Web. У категорії Mobile game учасники розробляли гру, використовуючи технологію AR. В категоріях Web та Mobile app – будували додаток з детальною інформацією про обрану предметну область, в якому є система рейтингу, що дозволяє користувачу якомога швидше знайти релевантну інформацію.

Отримавши завдання, ми не одразу збагнули, для чого ми будемо робити систему рейтингів. У нас були ідеї стосовно кіно, книжок, новин, ігор, але ми зупинилися на ідеї реалізації рейтингу для музичних виконавців. Тому ми почали працювати з API Spotify для отримання списку виконавців, жанрів, альбомів і треків. Потім реалізували авторизацію для користувачів нашого додатку, зробили запити для пошуку та відображення виконавців та додаткової інформації.  Десь через ¼ відведеного часу ми почали розробляти базу даних для збереження оцінок користувачів: для цього ми використали PostrgeSQL від Heroku, адже розуміли, що нам потрібно буде робити деплой додатку у хмарний PaaS сервіс, щоб було зручніше показати роботу сайту під час презентації.

Під ранок наступного дня ми зробили систему рейтингів для виконавців Spotify, відображення релевантних виконавців, жанрів обкладинок альбомів тощо. Важливі поради, які нам давали ментори, були своєчасними та корисними. «За 20% часу робиться 80% функціоналу» – наголошували вони, і це – чиста правда. Також ми встигли додати можливість прослуховування топів пісень кожного з виконавців. Через годин 26-27 після початку роботи ми презентували нашу розробку суддям та іншим учасникам.

Це надзвичайно цікавий і корисний досвід розробки проекту в дуже стислий час. Ми побачили використання різних стеків технологій у кожній з категорій: Веб (Node.js + Express.js +Vue.js/React + MongoDB), (Django + Django REST framework + React + MongoDB), (SpringBoot + React + MariaDB) та інші. При розробці мобільних додатків під iOS були команди, які використовували Swift, для ігор переважно користувалися Unity та можливостями камери та гіроскопу для роботи з доповненою реальністю.

Не всі команди впорались із завданням за визначений час, але переважна більшість презентували дуже цікаві додатки (навіть рейтинг для різноманітних броварень пива). Відвідування хакатону дало нам великий поштовх у креативному баченні речей і вдосконалення своїх навичок.

Данііл Нікулін, Микита Хоменко,
студенти гр. КН – 14 ФКНТ