БОЛЬ

Всего несколько недель назад, когда мой товарищ по буткемпингу в Le Wagon спросил меня, какую музыку я слушаю, я изо всех сил пытался найти ответ. Это было бы проще лет десять назад, когда я загружал полные альбомы исполнителей или жанров, которые я специально искал. Но я попал в удобную ловушку, в основном прислушиваясь к моим рекомендациям Spotify. Это означает, что я не знаю имен половины артистов, которых слушаю, не говоря уже о том, к какому жанру относится каждая песня. Это представляет собой новую проблему: найти новые места или концерты, которые мне нравятся с точки зрения музыки, не так просто, как можно было бы подумать. Сокращение распространенности Facebook с его когда-то ценной функцией Events обеспечивает еще более сложный опыт при поиске тусовки.

ПЛАН

Эта концепция поразила меня, когда я направлялся в Le Wagon и слушал что-то случайное на Spotify всего за пару дней до Pitch Night — когда каждый участник должен был очень кратко изложить проблему (вообще любую проблему) и предложить решение, которое ее решает.

Как насчет приложения, которое позволяет ленивому пользователю Spotify просто нажать кнопку и найти отличные места для посещения, не задумываясь о своих привычках потребления музыки?

Что, если бы это дало вам объективное визуальное представление о том, какие жанры вы слушали?

Входит Partify! Со своей учетной записью Spotify пользователь входит в систему с помощью кнопки Войти с помощью Spotify, предоставляет разрешение на определение местоположения и сразу же перенаправляется на страницу с интерактивной картой с местами и событиями поблизости, а также со списком таких мест.

Списки можно открыть для получения дополнительной информации, а билеты, если они проданы, можно приобрести.

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

Опция Мой музыкальный вкус вернет облако тегов, которое визуально указывает, какие жанры слушает пользователь больше всего.

ПОД КАПОТОМ

Partify построен на Ruby on Rails. Он использует гем omniauth для аутентификации Spotify, что позволяет пользователю быстро войти в систему без какого-либо ручного ввода с нашей стороны.

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

Сторона геолокации полагается на JavaScript для получения местоположения пользователя. Затем gem geocoder обрабатывает прямое и обратное геокодирование.

БАЗА ДАННЫХ

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

Поэтому мы реализовали возможность импорта событий и концертов с авторитетных веб-сайтов, таких как Sympla, через парсинг. Запросы делаются с ключевыми словами для местоположения пользователя и предпочтительных жанров, а ответ анализируется с помощью Nokogiri.

СТИМУЛ

Этот проект использовал фреймворк Basecamp Stimulus для нужд JavaScript — в частности, для рендеринга интерактивной карты из MapBox и интерактивного облака тегов для жанров пользователей.

СЛЕДУЮЩИЕ ШАГИ

Поддержание хорошо курируемой базы данных для Partify потребует серьезного обслуживания; поэтому на данный момент приложение не будет развернуто для реального использования. Однако я планирую расширить возможности визуализации данных в Partify, продолжить эксперименты с API Spotify и углубить свои навыки работы с JavaScript.

СПАСИБО

Спасибо Carlos Eduardo Esbeltte Mechelli, Ronaldo Peixoto и Wagner Nogueira, моим коллегам по этому проекту, за то, что сделали ставку на эту идею и держались вместе на протяжении этих двух напряженных недель, а также всем моим коллегам, учителям и ассистентам. в Le Wagon Brasil, который предоставил бесценные рекомендации и советы.