Skip to content

X-D-R/nizniy_maps

 
 

Repository files navigation

Интерактивный планировщик культурных маршрутов Нижнего Новгорода

Сайт проекта: https://nizhnymaps.ru


🧭 Пользовательский опыт — как пользоваться приложением

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

После открытия сайта вы увидите панель слева и карту города справа.

1️⃣ Выбор интересов (тегов)
В левой части экрана есть набор кнопок (боксов) с категориями, например: «музеи», «парки и скверы», «архитектура», «рестораны» и т.д.
Вы просто кликаете на те категории, которые вам интересны.
Можно выбрать одну, несколько или все — маршрут подстроится автоматически.
После выбора нажмите кнопку «Построить маршрут».

2️⃣ Выбор начальной точки маршрута
Есть три способа задать, откуда вы начинаете прогулку:

  • 🗺️ Клик на карте — просто нажмите на любую точку на карте, и маршрут начнётся оттуда.
    Это удобно, если вы уже где-то находитесь и хотите построить путь вокруг.

  • Выбор популярного места — можно выбрать одно из центральных и известных мест города,
    например Кремль, площадь Минина или набережную. Это особенно удобно для туристов.

  • 📍 Использовать моё местоположение — нажмите кнопку «по моему местоположению».
    Приложение попробует определить вашу позицию и построить маршрут оттуда.
    ⚠️ Примечание: точность определения может зависеть от устройства и браузера.
    В некоторых случаях (особенно за пределами Нижнего Новгорода) функция
    может работать неточно. Если хотите выбрать точку вручную, просто снимите галочку
    с этой опции и выберите точку на карте сами.

После выбора начальной точки и категорий нажмите «Построить маршрут».
Через несколько секунд вы увидите готовый маршрут на карте и его описание справа.

3️⃣ Описание маршрута
Справа (или под картой — в мобильной версии) появится автоматически сгенерированный текст:
— вступление, рассказывающее, куда вы отправляетесь;
— краткое описание каждой остановки (что это, чем интересно);
— заключение и советы, как можно продолжить прогулку.

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


💡 Что делает сервис

• Подбирает интересные культурные точки рядом с вами.
• Строит логичный маршрут по реальным дорогам и тротуарам.
• Описывает маршрут на понятном человеческом языке.
• Учитывает интересы, время и местоположение.
• Работает и на мобильных устройствах, и на компьютере.


⚙️ Как это работает (простыми словами)

  1. Вы выбираете интересы и начальную точку.
  2. Приложение получает объекты из базы PostgreSQL с PostGIS.
  3. Алгоритм формирует маршрут с учётом расстояний и времени.
  4. ИИ создаёт описание прогулки и каждого объекта.
  5. Результат отображается на карте и в текстовом виде.

🧠 Использование искусственного интеллекта

ИИ применяется «под капотом» для создания описаний маршрутов.
Он: • превращает список точек в связное и живое описание;
• добавляет факты, атмосферу и контекст;
• адаптирует стиль под интересы пользователя.

Таким образом, вы получаете не шаблон, а настоящий рассказ о прогулке.


🧩 Техническая реализация

• Python 3.12 — основной язык проекта.
• Streamlit — удобный интерфейс без фронтенда.
• Pandas — анализ данных.
• PostgreSQL + PostGIS — хранение и работа с геоданными.
• Docker + Docker Compose — одинаковая среда и стабильность.
• uv — быстрый менеджер зависимостей.
• Makefile — автоматизация команд.


⚡ Почему наш подход эффективен

• Простота интерфейса и понятные шаги.
• Персонализированные маршруты с ИИ-описаниями.
• Кэширование запросов для скорости.
• Геолокация «от пользователя».
• Минимальная нагрузка на сервер.
• Готовность к масштабированию.


🚀 Как запустить локально

Можно запустить проект двумя способами: локально или через Docker

  1. Локальный запуск (предпочтительный):
  • запустите файл install.sh / win_install.sh для linux / windows, пример:
./win_install.sh
  • активируйте виртуальное окружение по команде, которая будет выведена на экране:

  • запустите приложение:

uv run streamlit run main.py
  1. Запуск через Docker

Перед запуском убедитесь, что установлены:

  • Docker и Docker Compose
  • GNU Make

Также нужны ключи и параметры окружения в .env:

  • PostgreSQL: POSTGRES_HOST, POSTGRES_PORT, POSTGRES_DB, POSTGRES_USER, POSTGRES_PASSWORD
  • Ключи для ИИ-описаний: YANDEXGPT_API_KEY, YANDEXGPT_FOLDER_ID
  1. Соберите проект: make build

  2. Запустите режим разработки: make dev

После этого приложение будет доступно по адресу: http://localhost:8501

About

Интерактивный планировщик культурных маршрутов Нижнего Новгорода

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • Python 92.2%
  • Makefile 4.2%
  • Shell 2.2%
  • Dockerfile 1.4%