Skip to content

Документація користувача

Документація Pinmate

Це довга описова довідка по всіх поверхнях застосунку — що робить кожен екран, які кнопки важливі та що відбувається за лаштунками, коли ти їх натискаєш. Передбачає, що ти зареєструвався і поглянув на мапу хоча б раз.

Переглянь зміст ліворуч і перейди до того, що тебе цікавить. Якорі стабільні — можеш сміливо лінкувати конкретні секції.

Перші кроки

Реєстрація — email і пароль. На пошту приходить лінк підтвердження; маєш 24 години, щоб клікнути. До того моменту акаунт існує, але не може ставити мітки чи записуватись на них — видно лише публічну мапу.

Логін — той самий email + пароль. Далі на пошту приходить шестизначний 2FA-код; ввівши його, отримуєш сесію, що переживає перезавантаження сторінки. Можна попросити новий код, якщо перший не дійшов чи прострочився.

  • Без соціального логіну. Pinmate не федерує з Facebook, Google, Apple чи будь-яким іншим провайдером ідентичності.
  • Скидання пароля йде тим самим email-каналом. Лінк скидання прострочується за годину.
  • Домашня локація за замовчуванням — Щецин, її можна змінити у Налаштуваннях у будь-який час. Це приватне налаштування, що використовується лише для фільтрування твоєї мапи.
  • Якщо припиняєш користуватись Pinmate, можна мʼяко видалити акаунт у Налаштуваннях. Жорстке видалення (Стаття 17 GDPR) підтверджується адміном і прибирає всі рядки повʼязані з твоїм id.

Мапа (панель)

Панель — стартовий екран для залогінених. Завантажує до 200 активних міток у твоєму радіусі спостереження, відсортованих за часом старту. Мітки поза радіусом не завантажуються.

Маркери несуть два сигнали: вид спорту (колір кружечка) і часовий стан. Live-мітки пульсують лаймовим кільцем; ті, що скоро стартують — статичним фіолетовим; прострочені блякнуть. Виділення додає мʼяку фіолетову поволоку.

Фільтри в правій панелі (на мобільному складається). Зміни застосовуються миттєво на клієнті. URL-стан не синхронізується — перезавантаження повертає твої збережені defaults.

  • Категорії: множинний вибір девʼяти видів спорту. Порожній = показати всі.
  • Складність і аудиторія: незалежні перемикачі. Аудиторія за замовчуванням має всі три (мішана/жінки/чоловіки).
  • Радіус: повзунок 1–100 км довкола домашньої локації. Зберігається в акаунті при зміні.

Створення міток

Торкнись мапи, щоб поставити мітку, або натисни „поставити мітку”, що активує курсор-приціл і чекає твого наступного кліку. Модалка попередньо заповнена вибраною позицією — можна перевибрати з заголовка.

Обовʼязкові поля: заголовок (до 120 символів), категорія, аудиторія, час старту, тривалість. Опціональні: опис (до 2000), дисципліна (40 символів вільного тексту, наприклад „MTB” чи „5v5”) і видимість (публічна vs група). Соцлінки з профілю чіпляються автоматично.

Редагування існуючої мітки — той самий форм. Деякі поля залочені: локацію змінюєш через видалення і повторне створення, а видимість не перемикається між публічною і груповою (це здивувало б вже записаних учасників).

  • Час старту мінімум 5 хвилин у майбутньому. Раніше — серверне відхилення.
  • Тривалість обмежена: мінімум 15 хвилин, максимум 24 години.
  • Видалення показує 15-секундний snackbar з можливістю скасування. Клік на snackbar зберігає мітку.
  • Мітки в групі вимагають членства в обраній групі — сервер перевіряє перед вставкою.
  • Координати мітки приватні на рівні точки зустрічі. Твоя домашня локація не використовується як дефолт — ти завжди обираєш місце сам.

Твоя відповідь і нагадування

Кожна мітка має дві кнопки відповіді: „Йду” (зобовʼязання, твердий лічильник) та „Цікаво” (мʼякий сигнал спостереження, окремий лічильник). Можна перемикатись між ними або зняти відповідь взагалі до старту мітки.

Лічильники учасників видно всім, хто бачить мітку — включно з тими, хто ще не відповів. Імена тих, хто йде, не перелічуються, поки хост явно не увімкне це (майбутнє налаштування).

  • Нагадування за X хвилин до старту, де X — твоє налаштування (за замовчуванням 30). 0 = вимкнути.
  • Push і email незалежні. Push працює, коли встановив Pinmate на головний екран (PWA); email завжди.
  • Нагадування йдуть лише до тих, хто натиснув „Йду”. Зацікавлені нагадувань не отримують — це список спостереження, не календар.

Твої активності

Сторінка Активності — твій особистий календар. Три кошики: Майбутні „Йду”, Спостережувані („Цікаво”) та Минулі „Йду”. Кожен серверно сторінкований.

Минулі „Цікаво” свідомо не виводяться — якщо лише спостерігав без зобовʼязання, нічого згадувати після факту.

  • Кожен рядок лінкує до оригінальної мітки на мапі. Прострочені мітки відображаються, але без кнопок відповіді.
  • Мітки груп, з яких ти вийшов чи був видалений, зникають із твоїх активностей.
  • Список оновлюється на reload — live-сокета немає.

Профіль

Твій публічний профіль на /profile/[твій-id]. Показує імʼя, аватар, біо, соцпосилання, бейдж верифікації (якщо є), кількість підписників і твої майбутні публічні мітки. Мітки лише-в-групі приховані для не-учасників навіть на твоєму профілі.

Редагуй у Налаштування → Профіль. Аватар — або фото, що ти завантажиш, або одна з восьми кольорів Trail Mix з твоєю ініціалою. Бейджі верифікації („organizer” або „creator”) — адмін-куровані сигнали довіри. Cron автоверифікації промотує тебе на „creator” після пʼяти власних міток.

Підписки та плитка Мережа

Натисни Підписатись на чиємусь профілі, щоб майбутні мітки тієї особи зʼявились у твоїй плитці Мережа. Підписка односторонна — адресат не мусить приймати і не отримує сповіщення. Хто підписаний на тебе — видно лише на твоєму профілі.

Налаштування per-follow живуть на /network. Можна вимкнути звук (сповіщення мовчать без відписки), перемикати email/push незалежно, обмежити сповіщення категоріями і додати географічний радіус.

Сповіщення про підписки виходять із 12-хвилинною затримкою від створення мітки. Це навмисно — поглинає петлю створити-редагувати-видалити, яку хости часто роблять у перші хвилини.

Приватні групи

Групи — кола за запрошенням, що ділять приватні мітки. Зараз доступний лише secret-режим; closed (заявка на вступ) і open відкладені. Мітки в групі невидимі для не-учасників на всіх рівнях, включно з публічною мапою і пошуком.

Створи групу з /groups. Стаєш власником. Запрошення: згенеруй посилання з опційним терміном і лімітом використань, або запроси конкретного користувача за id.

Вихід — один клік. Якщо ти єдиний учасник і виходиш — група видаляється. Якщо ти власник з іншими учасниками — мусиш спочатку передати власність або видалити інших.

  • Мітки груп позначено фіолетовим кільцем і маленькою колодкою у верхньому лівому куті — видно лише учасникам.
  • Зараз ліміт учасників не примусовий для безкоштовних користувачів (всі мають функції рівня Pro в ранній фазі).
  • Власники можуть видалити учасників у будь-який момент. Видалені миттєво втрачають доступ до всіх міток групи — включно з тими, на які раніше натискали „Йду”.
  • Коли монетизація повернеться, групи стануть платною функцією для хостів (доєднання залишиться безкоштовним). Існуючі групи не блокуються заднім числом.

Сповіщення

Pinmate має два канали: push (web push через service worker, потребує дозволу браузера) і email (SMTP у dev, Elastic Email у проді). Незалежні — вимикай один без впливу на другий.

Канали налаштовуються окремо для кожної мітки (твої нагадування про участь), окремо для кожної підписки (сповіщення про чужі нові мітки) і глобально в Налаштуваннях. Коли сповіщення збирається вийти, сервер перевіряє, що мітка ще існує, не прострочена і досі видима тобі.

Приватність і твої дані

Pinmate побудовано довкола ідеї, що твоя локальна мапа залишається локальною. Конкретно: сервер примушує область видимості в кожному запиті про мітки, твоя домашня локація не транслюється, і дефолтний build не містить третьосторонніх трекерів.

Куки розбиті на суто необхідні (сесія, локаль, тема), аналітичні (за замовчуванням off, opt-in через банер) і маркетингові (за замовчуванням off). Cookie banner — канонічне джерело правди.

  • Твій email ніколи не показується публічно. Сторінки профілю показують лише локальну частину email (до @) і лише коли не задано імʼя.
  • Мітки груп фільтруються на сервері в кожному list-ендпоінті — клієнт навіть не отримує їх у payload-і для не-учасників.
  • Нагадувальні email містять заголовок мітки, час і лінк до мапи — ніколи твою домашню локацію чи ідентичність інших адресатів.
  • Видалення акаунта робить миттєвий soft-delete (мітки анонімізуються, профіль ховається), а сам рядок жорстко видаляється адміном протягом 30 днів — згідно з GDPR.

Документація оновлюється разом з функціями. Якщо щось тут не збігається з тим, що бачиш — повідом через Допомогу. Зазвичай ми просто забули оновити параграф.

Pinmate — outdoor meetups on a map