팻파인더 APP
Требования к входным данным: фотография (обязательно), кличка питомца, тип (собака/кошка и т. д.), порода, окрас, характеристики (уникальные особенности), дата и время исчезновения/наблюдения, местоположение (выберите на карте/текущее местоположение), контактная информация (телефон/сообщение в приложении), дополнительное описание.
Обработка фотографий: сжатие перед загрузкой + создание миниатюр, удаление EXIF (защита конфиденциальности), поддержка нескольких изображений.
Хранилище на сервере: загрузка изображений в документы Firestore + хранилище (путь: posts/{postId}/images/{filename}).
B. Лента/список последних (лента)
Сначала последние, расстояние (в зависимости от местоположения пользователя), фильтр (тип/порода/дата/хэштег).
Постраничная/бесконечная прокрутка (с помощью курсора запроса).
Каждая запись отображает сводку (миниатюра, расстояние, время, статус (пропал/найден/закрыт)).
C. Страница сведений о публикации
Увеличенное изображение, карта (закрепить), информация об авторе (ник, рейтинг доверия), кнопки связи (телефон/текст/сообщение в приложении).
Изменение статуса жалобы: Открыто → В процессе → Найдено → Закрыто.
Кнопка «Пожаловаться»: Шаблон для автоматической отправки уведомлений/сообщений автору при отправке жалобы.
D. Вид карты (Карта)
Интеграция с Google Картами (или Naver Maps): кластеризация маркеров, фильтрация.
Отображает текущее местоположение пользователя и предоставляет маршрут к нему (может вызывать внешние картографические приложения).
Нажатие на маркер открывает всплывающее окно с краткой информацией и перенаправляет на страницу сведений.
E. Push-уведомления (Firebase Cloud Messaging)
Push-уведомления отправляются пользователям поблизости (в заданном радиусе) при публикации новой публикации.
Пользователи могут подписаться на определенные регионы/темы → персонализированные уведомления.
Push-уведомления отправляются при отправке сообщений, ответов, сообщений в чате или изменении статуса.
F. Оповещения на основе местоположения (геозонирование)
Уведомления отправляются при регистрации пропавшего человека или его обнаружения в заданном пользователем радиусе (например, 2 км).
Соображения относительно батареи и конфиденциальности: фоновый режим определения местоположения либо энергосберегающий, либо опционально включен.
G. Аутентификация пользователя и профиль (авторизация)
Аутентификация Firebase: адрес электронной почты/пароль, номер телефона (или вход через социальную сеть).
Профиль: псевдоним, фотография профиля, разрешения для контакта, рейтинг доверия (подтверждение администратором и отзывы сообщества).
Рекомендуется верификация телефона (повышает надежность связи).
H. Система доверия и верификации
Процесс проверки сообщения: Одобрение администратора/Сообщение сообществу → Подтверждено.
Репутация отправителя сообщения: Ограничения (временное ослепление) за повторные ложные сообщения.
Проверка фотографий и метаданных (обнаружение дубликатов изображений, фильтрация вредоносного контента).
I. Сообщения/контакты в приложении
Простой чат (анонимность может быть ограничена), телефонный звонок (раскрытие номера) или текстовая ссылка.
Борьба со спамом (ограничение частоты сообщений).



