Разработать социальную сеть для любителей покатушек на внедорожниках
Введение
Проект «MudRoads» – это сборник маршрутов для внедорожников по всему миру. На сайте пользователи могут регистрироваться и добавлять свои маршруты. Пользователи могут делиться комментариями, фотографиями и видео своих поездок.
На начальном этапе проектирования «Mudroads» была поставлена задача создать удобный инструмент для создания, редактирования и просмотра маршрутов.
В процессе решения этой задачи мы столкнулись с проблемой, что у пользователей разные предпочтения в работе с картами. Кому-то нравятся Google Карты, кому-то Яндекс Карты, ну а кому-то по душе OpenStreet. Поэтому мы не стали никого обделять и стали использовать все карты сразу. Мы сделали так, что пользователь может сам переключать режим отображения карт.
Следующая проблема с которой мы столкнулись — очень часто пользователям неудобно создавать поточечно маршруты на карте, им проще выгрузить .kml файл своего маршрута с навигатора. А поскольку на рынке очень большое количество навигаторов, и все они по разному создают .kml, то нами был разработан парсер .kml файлов, который корректно их обрабатывает, даже не смотря на различия в форматах.
Далее, мы встроили базу стран/регионов/города/населенные пункты. В нашей базе насчитывается 234 страны, более 15000 регионов, более 2,5 млн. населенных пунктов всего мира. Не смотря на такой большой объем данных, нам удалось сохранить высокую скорость работы сайта.
У каждого пользователя есть своя лента событий, в которой отображаются события на MudRoads.
В ленте отображаются добавленные маршруты, соревнования, подтверждение/отклонения модераторами заявок прохождения маршрута.
Все пользователи делятся на два вида:
Обычные пользователи могут создавать маршруты, участвовать в соревнованиях, делиться комментариями и т.д. Модераторы могут всё тоже самое, но в добавок они подтверждают другим пользователям заявки о прохождение маршрута.
В процессе того, как пользователь создает маршрут, он указывает контрольное фото, контрольный вопрос и ответ на этот вопрос. Это необходимо для того, чтобы другие пользователи когда подтверждали, то, что они прошли этот маршрут, указывали свои контрольные фото и ответы. А модераторы уже сравнивали бы ответы пользователей с оригиналами.
Для большей мотивации пользователей участвовать в проекте «MudRoads», за каждое действие пользователям назначаются баллы. По баллам уже формируется рейтинг пользователей.
В зависимости от набранного количества баллов, пользователю назначается звание.
Так же баллы можно заработать при активации купонов.
Для обеспечения большей коммуникации между пользователями была добавлена возможность обмениваться сообщениями и вести диалоги друг с другом.
А также добавлять комментариев к маршрутам и соревнованиям.
Помимо создания/прохождения маршрутов, на сайте можно создавать/участвовать в соревнованиях.