Реализация кейса от VK mini apps, представленная на «Хакатон Осень 2023».
RandomGuide - веб-приложение, адаптированное под платформу VK mini apps, которое дает пользователям возможность быстро сориентироваться в чужом городе и выбрать места для посещения без необходимости проводить долгие исследования огромного объема информации в разных туристических сервисах.
Вместо этого RandomGuide предоставляет случайную достопримечательность или просто интересную локацию, в которую пользователю необходимо отправиться. При посещении предложенных места пользователь получает очки рейтинга, при пропуске - теряет очки, что позволяет подключить элемент соревнования в путешествия.
Помимо рандомайзера, позволяющего подсказать пользователю следующее место для посещения, приложение использует интеграцию с профилем пользователя ВК и устройством, на котором выполнен вход, для определения мест на основе текущей геопозиции.
Также в проекте реализованы:
- Возможность сохранять предложенные места в избранное
- Списки посещенных мест
- Возможность поделиться своей следующей локацией для посещения
Проект разработан на стэке Laravel + Vue 3 с использованием библиотеки Inertia для нативного взаимодействия фронтенда и бэкенда. Интеграция с сервисами ВК реализована с помощью библиотеки VK Bridge, карты предоставлены сервисом VK Maps.
Для корректной работы приложения на платформе VK mini apps требуется регистрация и настройка самого приложения в VK (подробнее в документации к платформе).
Само веб-приложение необходимо развернуть на любом сервере/хостинге таким образом, чтобы оно было доступно через HTTPS. После развертывания, в настройках приложения ВК необходимо указать эндпоинт, на который ВК будет отправлять запросы к приложению.
# Важно указать именно ссылку на эндпоинт `/init`
https://<your-domain.smth>/init
Также для корректной работы приложения требуется указать два параметра окружения для подключения к VK Maps.
VITE_VK_MAPS_BASE_URL=https://maps.vk.com/api
VITE_VK_MAPS_ACCESS_TOKEN='api_token'
Подробнее о получении токена в официальной документации.
Проект создан командой HyperCleverFace в рамках кейса от платформы VK mini apps.