Тысяча Куполов: Карты, история и архитектура городов Золотого кольца

Сайт «Тысяча куполов» помогает путешественникам спланировать поездку по городам Золотого кольца, выбрать интересные для посещения достопримечательности. На главной странице сайта отображается интерактивная карта c изображением городов Золотого Кольца.

Официально маршрут включает 8 городов: Ярославль, Владимир, Суздаль, Сергиев Посад, Кострома, Иваново, Ростов Великий, Переславль-Залесский. В последние годы список был расширен, в него были включены расположенные рядом с маршрутом населенные пункты: Углич, Рыбинск, Плёс, Александров, Юрьев-Польский, Муром и др.
Эти города также представлены на карте, на Главной странице сайта «Тысяча куполов».
При наведении курсора мышки на иконку с названием города в верхнем левом углу карты появляется изображение герба и информация о городе: число жителей, расстояние от Москвы и областного центра, время в пути. При нажатии на иконку происходит переход на карту города. На карте отображаются местные достопримечательности. В левой панели можно выбрать определенную категорию, например: театры, церкви и монастыри, выставки и т.п. Для путешествующих всей семьей будет полезен раздел «Семейный отдых». Здесь перечислены места, интересные для посещения с детьми. Информацию можно смотреть не только на карте, её можно вывести в виде списка объектов. Для этого в верхней горизонтальной панели сайта имеются кнопки переключения режимов «Карта» и «Список».

Тысяча Куполов: Карта города
Тысяча Куполов: Карта города

Если кликнуть мышкой на объект (кружок с фотографией), откроется сноска с краткой познавательной информацией о достопримечательности. Здесь также указаны адрес, режим работы и, если имеются, номер телефона и ссылка на сайт (особенно это удобна для просмотра афиш театров, музеев, выставок). В нижнем правом углу сноски с кратким описанием находятся две кнопки. Одна позволяет просматривать панорамы улиц Google в месте нахождения объекта, другая – его фотографии с помощью сервиса Panoramio.

Тысяча Куполов: Список достопримечательностей
Тысяча Куполов: Список достопримечательностей

В перспективе, на сайте «Тысяча куполов» будет добавлена возможность разработать собственный маршрут или воспользоваться набором готовых. Планируется появление раздела «Событийный туризм», где будут размещаться анонсы мероприятий и праздников в городах Золотого кольца России, будет выполнена оптимизация под планшетные устройства и добавлен ряд функций специфичных для мобильной платформы, таких как гео-позиционирование.

Срок реализации проекта: проект находится в состоянии непрерывного развития.

Ссылка на проект: http://1000kupolov.ru/

Техническая информация о проекте:

Сайт проекта «Тысяча Куполов» реализован как веб-приложение на платформе Java 1.7.

Технологии, использующиеся для поддержки проекта:
  • SVN в качестве системы версионного контроля,
  • Maven в качестве менеджера зависимостей проекта и проектного описания,
  • Jetbrains Idea в качестве среды разработки
Использующиеся в проекте сторонние API и платформы:
  • В качестве хостинг-площадки для проекта используется индивидуально-сконфигурированный VPS-сервер на хостинге DigitalOcean,
  • Медиа-CDN Cloudinary используется для хранения и оптимизации графики сайта,
  • Кеширующий прокси уровня DNS CloudFlare минимизирует нагрузку на сайт и защищает его от DoS-атак,
  • Google reCAPTCHA внедрена для предотвращения перегрузок сайта и защиты его от спама,
  • Google Maps API реализует картографический функционал,
  • Google Maps Distance Matrix API используется в проекте для подсчёта расстояний между различными географическими объектами и локациями,
  • API Yandex.Фотки внедрено для создания удобного интерфейса работы с авторской фотографией (с соблюдением всех положений лицензионного соглашения Яндекса).
Серверные технологии включили в себя:
  • Spring MVC для реализации концепции программирования «Model-View-Controller«,
  • Spring Security для создания модели разграничения прав доступа к панели управления проектом,
  • Hibernate для работы с данными, хранящимися в СУБД MySql,
  • Freemarker для шаблонизации веб-интерфейсов проекта.
Публичная часть сайта и панель администрирования используют:
  • Фреймворк Bootstrap 3 для построения веб-интерфейсов,
  • Набора компонент JQuery для реализации активного функционала на стороне браузера.