Skip to content

Repository files navigation

WaterPoint Tallinn

PWA-прототип приложения для поиска общественных питьевых кранов в Таллине. Дизайн — по макетам Stitch «WaterPoint Tallinn» (светлая тема, финальная итерация), функциональность — по ТЗ v1.0 (15.07.2026).

🔗 Демо: https://tecna-developer.github.io/waterpoint-tallinn/

Карта и список 78 реальных точек питьевой воды из Tallinn GIS, поиск по адресу и району, фильтры, карточка с маршрутом во внешние карты, локальное избранное, сообщение о проблеме, интерфейс ET/EN/RU, светлая и тёмная темы. Работает как устанавливаемое PWA с офлайн-кешем списка точек.

Установка на телефон (PWA)

Откройте демо-ссылку и добавьте на главный экран:

  • Android (Chrome): меню ⋮ → «Добавить на главный экран».
  • iPhone (Safari): «Поделиться» → «На экран „Домой“».

После установки приложение открывается без адресной строки; список и карточки точек доступны офлайн (карта-подложка требует сети).

Запуск

npm install
npm run dev      # http://localhost:5173
npm run build    # сборка в dist/

Деплой на GitHub Pages — автоматически при пуше в main (workflow .github/workflows/deploy.yml).

Что реализовано (MVP по ТЗ)

FR Статус
FR-01 Синхронизация точек ✅ live-запрос к Tallinn GIS ArcGIS REST (слой veebikaart/Veev6tukohad — «Avalikud veevõtukohad», 78 точек), при сбое — последняя успешная копия + last_synced_at в настройках
FR-02 Геолокация ✅ запрос разрешения, сортировка по расстоянию; при отказе — баннер и ручной поиск
FR-03 Поиск ✅ районы (linnaosa), адреса точек, онлайн-геокодинг Nominatim (ограничен Таллином), подсказка при невалидном запросе
FR-04 Карта + список ✅ одинаковый набор результатов; маркеры различают статусы цветом и глифом
FR-05 Карточка ✅ название, район/асум, расстояние, тип, сезон, статус, код VVK, описание, Route/Favorite/Report
FR-06 Маршрут ✅ deep link во внешние карты (Apple Maps на iOS/iPadOS, иначе Google Maps), пешком по умолчанию; состояние приложения сохраняется
FR-07 Фильтры ✅ доступно сейчас, ≤1/2/5 км, outdoor/indoor, для животных, избранное; сброс; счётчик результатов
FR-08 Избранное + офлайн ✅ localStorage без аккаунта; офлайн-баннер с датой кеша; service worker кеширует оболочку
FR-09 Сообщение о проблеме ✅ 5 категорий, комментарий, контакт по желанию, согласие, honeypot + rate-limit, подтверждение
FR-10 Локализация ✅ ET/EN/RU через ключи; при пропуске — EN + фиксация в консоли
FR-11 Админ-панель ⛔ серверная часть — вне клиентского прототипа (нужен backend/Supabase)
FR-12 Приватная аналитика ✅ события app_open/search/point_open/route_start/report_submit в localStorage, без геолокации

Статусы точек — по §5 ТЗ: available («доступна по последним данным», без live-гарантии), seasonal_closed (вне окна май–октябрь), reported_issue (предупреждение до модерации, официальный статус не меняется), temporarily_unavailable, unknown.

Данные

  • Источник: Tallinn GIS ArcGIS REST — слой «Avalikud veevõtukohad». Снапшот в src/data/waterpoints.json; районы вычислены по полигонам Linnaosad_asumid.
  • Фото точек в источнике нет — используются нейтральные заглушки (без выдуманного контента).
  • Перед релизом подтвердить условия повторного использования данных (этап 0 ТЗ).

Приватность

Точная геолокация не сохраняется и никуда не отправляется; избранное, кеш и отчёты — только на устройстве.

About

Installable PWA for finding public drinking water points in Tallinn: live Tallinn GIS data, map and list, walking routes, offline cache, ET/EN/RU.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages