Всем привет, меня зовут Сергей и я уже более 7 лет езжу на мотоцикле. Сейчас, конечно не самая лучшая ситуация в мире и нашей стране в частности, для нашего сервиса, однако разработку его мы начали в 2018 году, когда даже не подозревали о грядущем.

image

RoadHunters — геолокационный сервис для поиска маршрутов и создания мото мероприятий, мы хотим собрать вместе мотоциклистов по всему миру и позволить им поделиться между собой опытом и знанием.
(Пока сервис работает только на ПК)

Сначала немного информации по тому как работает, а чуть ниже будет “под копотка” портала.
Как часто это бывает идея создания сервиса является решением личной проблемы, с которой сталкиваются создатели. Мы с 666granik не стали исключением.

Не знаю много ли среди читающих мотоциклистов, поэтому немного расскажу об этих болях:

  1. Найти с кем кататься. Причем желательно схожего уровня катания, схожей техникой и территориальной близостью.
  2. Найти где кататься. Представьте как было бы здорово иметь каталог качественных маршрутов в различных уголках мира. Находясь в любой точке иметь в доступе самые интересные маршруты, созданные местными.
  3. Упростить планирование поездки. Мы любим ездить в путешествия, а планирование и сборы раскиданы по различным сервисам: карты, мессенджеры, доки и таблицы. Сконцентрировать все это в одном месте — еще одна наша задача.

Таким образом мы начали разработку сервиса RoadHunters.io
Портал является бесплатным в использовании, и подходит не только мотоциклистам, хотя и ориентирован на них в первую очередь.

В детстве, как и многие, мы проводили часы в серии игр GTA и NFS Underground 1-2, и нам хотелось перенести частичку этого мира в “наш”. Мы добавили на интерактивную карту предстоящие мероприятия, живописные и интересные маршруты с возможностью выгружать их в читаемых форматах для навигаторов.

image

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

image

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

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

image

Немного о технической части:


666granik работает разработчиком в Mail.ru, для него кроме интереса создания сервиса как продукта, немаловажным было желание сделать это на современных технологиях и расширить свои знания.

Коротко по стэку:

  • Google Cloud Platform для хостинга виртуалок, данных и CI + Docker
  • Mongo Atlas БД как сервис
  • Nginx как фронтенд сервер
  • Изоморфное веб приложение с NodeJS/React/Mobx/TypeScript
  • Приложение API на NodeJS/Express/TypeScript
  • Github private для хранения исходного кода
  • Zepplin для работы с макетами от дизайнера

Выбор пал в сторону NodeJS поскольку хотелось поглубже познакомится с этой технологией, React как UI библиотека одно из самых распространенных решений в индустрии, TypeScript чтобы добавить “надежности” коду, как не парадоксально, но даже в рамках разработки стартапа, где больше важна скорость чем надежность, TS не тормозил нас.

Знаний в области работы БД у нас почти не было, но хотелось попробовать поработать с каким-нибудь современным NoSQL решением, выбор был между PostgreSQL и MongoDB, выбрали монгу, потому что для нее был удобный клиент под NodeJS и бесплатное для начала облачное решение Mongo Atlas, с ним кстати вышла забавная ситуация.

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

В итоге было принято решение откатиться на бесплатный вариант — “некую песочницу” и отказаться от облачного решения, в угоду менее надежного и удобного, но более бюджетного решения.

И тут нам написали ребята из команды Mongo Atlas, для того что бы узнать по какой причине мы отказались от их сервиса. Мы обрисовали текущую ситуацию: что мы маленький стартап и у нас пока нет денег платить за их решение. Ответ оказался необычным — они взяли нас в проект для поддержки стартапов и позволили нам пользоваться их сервисом Mongo Atlas абсолютно бесплатно на срок около 99 лет.

Они не единственные, кто поддержал наш проект. Github сделал приватные аккаунты бесплатными для команд менее 3 человек где то в середине 2019 года. Экономия 7$ в месяц — мелочь, но приятно.

Также мы заполнили заявку в программу поддержки стартапов от Google. После нескольких рассказов и заполненных форм, Google выдал нам промокод на немаленький депозит для использования их сервисов. Благодаря этому мы смогли настроить полный CI/CD цикл с помощью Google Cloud Build и Google Compute Engine, хранить бесплатно наши Docker Image в их репозитории, мониторить нагрузку на наш сервис и так далее. Мы были в восторге.

Да возможно вы заметили, что мы много раз повторяли слова Google и Mongo в предыдущих абзацах, это наш еще один наивный способ сказать им: “Спасибо!”.

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

Заключительное слово


Кому может быть полезен наш сервис? Создавая RoadHunters, мы хотели дать возможность мотосообществу стать централизованнее:
  • Создать глобальный каталог маршрутов по всему миру.
  • Соединить путешественников со всего мира.
  • Быстро и удобно организовывать совместные поездки.
  • Позволить первосезоннику или новичку найти друзей и компанию для поездок.
  • Опытным райдерам найти новые для себя маршруты.

Спасибо за внимание!

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