Как стать автором
Обновить

Как поучаствовать в хакатоне и облажаться в последний момент

Время на прочтение3 мин
Количество просмотров4.3K

Недавно я впервые в жизни поучаствовал в хакатоне. Мой друг пригласил меня, и я решил попробовать. Новый опыт как никак, плюс проверить способен ли я что-то сделать в краткие сроки довольно интересно. Относительно классических хакатонов этот можно назвать облегченным, задание выполнялось в течении двух недель.

Команда состояла из двух человек. Я отвечал за планирование, бэкенд и деплой, а мой друг – за дизайн и фронтенд.

С такими вводными мы подали заявку на участие.

В общих чертах задача состояла в создании сервиса по расчету стоимости недвижимости на основании похожих объявлений о продаже. Недвижимость для расчета поступает в виде excel файла.

Так как ТЗ было довольно формальным, хоть сколько то целостное видение задачи появилось только на третий день после начала. Как раз на следующий день после Q&A сессии. До этого момента мы создавали странички регистрации и входа, а также пытались продумать прототип дизайна страниц, функционал которых мы понимали.

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

Далее все процесс пошел более-менее спокойно, поэтому опустим этот отрезок времени.

Итоговая версия была готова за три дня до дедлайна. Так как я не специализируюсь на администрировании серверов, процесс деплоя занял сутки, в конце которых выяснилось, что сервис по подбору аналогов не работает. Оказалось, что ip-шники серверов, которые были нам предоставлены организаторами находятся в черном списке у сайта с объявлениями.  Пришлось экстренно решать данный вопрос. Для этого я попытался воспользоваться бесплатными прокси, но это не помогло - сайт по-прежнему блокировал запросы. Тогда было принято решение купить VPS сервер у noname провайдера (чтобы ip точно не был уже заблокирован) и проксировать запросы через него. Для этого был найден готовый код прокси-сервера. Но и это не помогло! Так как времени разбираться в причинах уже не было, буквально за час был написан прокси-сервер, который наконец заработал. По итогу на все эти махинации ушли еще сутки, но результат был достигнут - наше приложение работало, а у нас был еще целый день в запасе. В тот же вечер мы целиком протестировали наш сервис. Исправив обнаруженные баги и окончательно убедившись в полной его работоспособности, мы ушли отдыхать. На следующий день были внесены только косметические изменения. Мы были почти уверены, что пройдем в финал, так как судя по Q&A сессиям остальные команды чувствовали себя не сильно уверенно.

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

По итогу данного мероприятия я сделал для себя следующие выводы

  • Планирование превыше всего. Пытаться делать проект по наитию очень опасно, хоть иногда и получается.

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

  • ВСЕГДА проверяй проект перед релизом с нуля не используя старые файлы. Наше поражение случилось во многом из-за этого. Лучше всего попросить кого-то из знакомых воспользоваться сайтом без ваших подсказок.

Но несмотря на поражение я доволен что поучаствовал в таком мероприятии, это был необычный опыт, который надолго запомнится.

Теги:
Хабы:
+6
Комментарии7

Публикации

Истории

Работа

Ближайшие события

Weekend Offer в AliExpress
Дата20 – 21 апреля
Время10:00 – 20:00
Место
Онлайн
Конференция «Я.Железо»
Дата18 мая
Время14:00 – 23:59
Место
МоскваОнлайн