abnormalize0 / DailyTeleFrog

0 stars 0 forks source link

Счетчики показов и открытия статей #77

Open abnormalize0 opened 8 months ago

abnormalize0 commented 8 months ago

Для каждой статьи необходимо добавить два счетчика: один инкрементировать при получении превью статьи методом api_get_pages, другой при открытии статьи методом api_article_get. Необходимо для обеспечения возможности отображения метрик просмотра постов.

Roffor commented 8 months ago

Нужны подробности желаемой реализации. Как счетчики должны взаимодействовать с незарегистрированными пользователями?

abnormalize0 commented 7 months ago
  1. Счетчики должны отображать уникальные просмотры и переходы;
  2. Для зарегистрированных пользователей использовать их идентификатор;
  3. Для незарегистрированных пользователей использовать уникальный токен который генерируется на стороне клиента;
  4. В случае если пользователь зарегистрировался заменить в базе данных все вхождения его уникального токена на его идентификатор. Токен удалить;
  5. Пользователей отказавшихся использовать куки мы не любим и со счетчиками они не взаимодействуют.
Roffor commented 3 months ago

Что нужно сделать в рамках тикета.

  1. Функционал.
    • Добавить таблицу просмотров статей.
      • Таблица должна содержать поле идентификатора пользователя.
      • Таблица должна содержать поле идентификатора статьи.
    • Добавить таблицу открытия статей.
      • Таблица должна содержать поле идентификатора пользователя.
      • Таблица должна содержать поле идентификатора статьи.
    • В метод запроса страниц добавить функционал по учитыванию этих страниц как просмотренных.
    • В метод открытия статьи добавить функционал по учитыванию статьи как открытой.
    • В метод по запросу данных о статье добавить ключи просмотров и открытия статьи.
    • В метод запроса страниц к превью каждой статьи добавить информацию о просмотрах и открытиях статьи.
    • В метод регистрации пользователя нужно добавить ключ его уникального идентификатора.
      • По этому ключу нужно в двух новых таблицах поменять все вхождения его идентификатора на его id.
  2. Тесты.
    • Добавить проверку наличия количества показов и открытий статьи в тест запроса страниц и тест открытия статьи.
    • Добавить проверку правильного подсчета количества показов статьи в тест запроса страниц.
    • Добавить проверку правильного подсчета количества открытий статьи в тест запроса открытия статьи.
  3. Документация.
    • Описать новые ключи и их значения.
    • Поправить описание возвращаемой статьи.
    • Поправить описание метода регистрации пользователя.
    • Обновить номер версии.
    • Написать changelog.
Roffor commented 3 months ago

Пользователей отказавшихся использовать куки мы не любим и со счетчиками они не взаимодействуют.

Соответственно ключ идентификатора является опциональным во всех запросах. Если он отсутствует, то никакие записи о просмотрах и открытиях не делаем.