Советы по организации вашего первого хакатона

1656565333 sovety po organizaczii vashego pervogo hakatona

автор Ричард Миддлтон

В субботу, 14 июля, в freeCodeCamp Oslo прошел наш первый хакатон. В духе единства мы решили сделать наш хакатон неконкурентоспособным. У нас есть много людей, которые очень новички в программировании и хотят, чтобы они почувствовали, что могут участвовать и чему научиться на этом пути.

Здесь, в freeCodeCamp Oslo мы стараемся привнести глубокое чувство сообщества и единства.

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

AqfJlztuuRLRtQZSi057bUFunPpjDfXPzQNo
Встреча fCC в Осло.

Накануне хакатона мы решили, будем ли мы его делать однодневным или двухдневным, на основе отзывов от группы.

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

В общей сложности у нас было семь идей, и за неделю до события мы проверили, насколько они были осуществлены для нас за 12 часов, которые мы имели.

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

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

Среди нас было множество новичков в веб-разработке. Все были счастливее того, что внесли свой вклад во фронтенд или заинтересованы в его изучении. Это означало, что я обязан был работать над задней частью.

tML3FJbawSkRSMjxtZV6jZGENRKTf2M7a60k
Предоставлено richardCodes

Основной проблемой, которую мы испытывали, была невозможность использовать такие фреймворки, как React, чтобы сохранить наши вызовы API в секрете. Многие из команды раньше не использовали такой фреймворк. Вместо этого мы решили использовать HTML и CSS для статического интерфейса, используя jQuery для выполнения запросов AJAX.

Мы также использовали Bootstrap 4, позволяющий быстро создавать прототип. Его надежная документация помогла объединить фронтенд.

Еще одна из наших администраторов, Екатерина, отвечала за клиентский Javascript. Вместе с Мареком она планировала присматривать за всеобщей разработкой интерфейса.

Репо был создан Howie, другим администратором freeCodeCamp Oslo, и после того, как разрешения были предоставлены, мы начали работу.

Команда интерфейса погрузилась в документы Google Developers и быстро показала карту на интерфейсе.

Бек-энд собирался использовать NodeJS с MongoDB и Express, поэтому сначала была произведена инициализация NPM вместе с установкой Express, Mongoose, Body Parser и нескольких других пакетов. В течение полутора часов у нас заработал наш API.

Ожидая интерфейс, мы смогли протестировать API с помощью Postman для ПОЛУЧЕНИЯ и POST данных в и из нашей базы данных.

syfV8X3iHGDdk-PzMttuIE8aiommg2m3JtI1
Pizza Time – основной продукт любого хакатона.

После обеда (также при поддержке штаб-квартиры Explorer) мы внесли несколько поэтапных изменений для записи базы данных. Но большая часть работы была над JavaScript на переднем плане, чтобы мы могли посылать оттуда наши запросы GET и POST.

Вскоре наш минимальный жизнеспособный продукт был окончен.

YC-POwZJp3XMhXxE7k69MBdN5ea39ExEARtk
https://studyfinderoslo.herokuapp.com

Это было отлично работать в команде, чего никто из нас не делал раньше.

Мы разместили сайт на Heroku, а база данных была размещена с помощью MLab. После долгого дня мы получили полезный продукт, которым мы не могли быть более удовлетворены.

Было еще над чем работать, но наш MVP был достигнут. На следующий день я исправил наш открытый API, используя Passport для добавления аутентификации Facebook.

Кроме того, мы добавили несколько поправок на сайт.

hujz-3PZ2CPGMVD9jtlqfmM6gsctnJnMvz7q

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

Я умоляю вас попробовать это самостоятельно и организовать неконкурентный хакатон для своей группы!

Итак, как вы можете настроить свой хакатон?

  1. Сохраняйте это до одного дня — лучше подойдет выходной день. Распространение события на несколько дней означает, что вы не можете привлечь одних и тех же людей, которые посетят два дня, и это может быть проблемой для непрерывности. Мы обнаружили, что лучше опросить нашу группу с несколькими датами и выбрать самые популярные.
  2. Найдите проект заранее — мы провели краудсорсинг процесса создания идей, попросив пользователей подавать свои идеи через неделю. Таким образом руководители групп могли собраться вместе и проверить целесообразность.
  3. Обеспечьте место проведения – это может быть сложно, потому что вам нужно достаточно большое пространство, с хорошим Wi-Fi и мощностью. В идеале вы хотите иметь возможность приносить свои собственные закуски. Возможно, у кого-то из вашей группы есть бесплатное рабочее место по выходным? Не стесняйтесь выйти и отправить письма людям из технического сообщества. Если этого не удастся, доставьте всех на свои места.
  4. Сделайте это общим, а не конкурентным — мы все учимся, и некоторые могут почувствовать себя исчерпанными, если вы сделаете конкурентоспособным. Разделите группу на разные части. Возможно, у вас есть лидер интерфейса и бэкенда, и они могут разделить людей на навигационные панели, модальные программы, JavaScript, базы данных и т.д. Не бойтесь активизироваться, даже если вы не чувствуете, что знаете, что вы делаете – вы можете удивить себя!

Вам не нужно проводить хакатон раньше – я даже никогда не был на нем! Весь этот опыт сблизил нашу группу. Нам удалось создать нечто крутое, что могло бы войти в наше портфолио, и мы все можем утверждать, что выиграли пожилой хакатон freeCodeCamp Oslo!

Вы можете посмотреть репо здесь. Размещенный сайт находится здесь.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *