В 2018 решил освоить Vue.js, так, для общего развития, а как известно, лучший способ освоить язык/фреймворк/etc — начать писать. В голову пришла довольно простая идея, которая со временем выросла в довольно большой проект — онлайн сервис «Места», позволяющий создавать свои коллекции мест на карте, геометок, с подробной информацией о них. Собирать их в альбомы, сортировать в дереве папок, просматривать, редактировать, обмениваться с другими, открывать для просмотра другим пользователям сервиса. Привязывать к местам фотоальбомы, экспортировать свои библиотеки в файлы JSON и GPX (для навигаторов, например), импортировать в свои библиотеки места других людей.
Идея была проста. Есть множество средств создания фотоальбомов, музыкальных плейлистов — с описаниями, возможностью сортировки, ссылками, преферансом и барышнями. А похожей полноценной картографической реализации толком нет. По крайней мере, я не нашёл.
Представьте, что вы пошли с другом в поход. Каждый у себя в навигаторе смартфона отмечал какие-то интересные места — удобные стоянки, опасные пороги, прохождение которых описывал. Потом вернулись домой, и каждый остался при своих. Сервис позволяет собрать их вместе, слив оба набора в один, отсортировать, разложить по папкам, отредактировать описания в удобном интерфейсе на компе, добавить фотографии, ссылки, сделать при желании видимыми другим пользователям сервиса, экспортировать потом, в конце концов, для использования в навигаторах и т. д.
Проект свободный (https://github.com/assador/places, сам действующий сервис пока здесь: http://places.scrofa-tridens.ru). Сейчас в планах помимо API Яндекс.Карт, которые отвечают, собственно, за карту, подключить и другие — OSM, 2ГИС и пр. Хочу добавить возможность добавлять к местам не только фото-, но и видео-, и аудиоальбомы. Развивать структуру прав и ролей пользователей, их связь друг с другом на сервисе, расшаривать библиотеки в соцсети и пр. Короче, для меня штука интересная.
Я это, собственно, пишу к тому, что, во-первых, кому-то идея может показаться интересной и полезной, и тогда welcome пользоваться. Во-вторых, как полезное для меня следствие, таким образом появятся дополнительные тестеры. В третьих, у пользователей будут появляться интересные идеи: что можно добавить, что поменять, как всё это развивать. Ну и, наконец, может, кто захочет присоединиться к разработке или сделать свой форк — всегда приятно, когда появляется что-то (надеюсь) полезное, интересное, и продолжает жить и развиваться.
Не думаю, мягко говоря, что меня можно назвать гениальным программистом, так что во всём этом деле, уверен, встречаются далеко не идеальные решения, как архитектурные, так и просто технические. Где-то есть дыры, ошибки. Кроме того, как я уже писал, начинался проект как учебный, так что до сих пор с тех времён попадаются детские болячки, которые я периодически нахожу и правлю. Поэтому буду рад отзывам, идеям, участию и критике.
Комментарии (6)
trir
26.08.2021 17:01точки следует хранить как точки https://dev.mysql.com/doc/refman/8.0/en/gis-class-point.html
Assador Автор
26.08.2021 19:29Может быть… Хотя, не совсем понимаю, чем плоха обычная таблица в базе, без привязки к другим классам определённых баз. Так, по-крайней мере, очень легко расширять, добавляя новые поля, привязки и т. п. А так, чтобы присобачить к каждому месту, например, фотоальбом, или ту же принадлежность определённой папке в дереве, насколько я понимаю, придётся городить огороды. Хотя, чёрт его знает. По правде говоря, впервые вижу этот Point Class.
trir
26.08.2021 20:00вместо
`latitude` DOUBLE NOT NULL,
`longitude` DOUBLE NOT NULL,
будет
`point` POINT NOT NULL,
и по этому полю можно будет создать пространственный индекс
c_kotik
Подобных сервисов на самом деле хватает, но у них с доступностью проблемы. Много лимитов в тральной версии.
Assador Автор
Ну, значит плохо искал. Да и тем более. Пусть растут все цветы. Даже если это кактусы )