03. Справочники¶
| Версия | |
|---|---|
| Количество листов |
Оглавление¶
- История изменений
- 1. Сервисы
- 2. Интересы инфлюэнсера
- 3. Языки
- 4. Страны
- 5. Города
- 6. Пол аудитории
- 7. Возрастные группы аудитории
- 8. Показатели вовлеченности аудитории
- 9. Диапазоны количества подписчиков
- 10. Группы городов
История изменений¶
| №1 | Дата: 25.08.25 | Автор:Демкович Александр | RFC: RPL-1051 | Версия: 0.1.0 |
|---|---|---|---|---|
| Добавлено: • FR_03_3_1 • Требование мультиязычности для “Названия” пола аудитории. |
||||
| №2 | Дата: 28.10.25 | Автор:Ляшук Андрей | RFC: RPL-1657 | Версия: 1.0.0 |
| Изменено: • В “2.1_1 Предустановленные сервисы” добавлены” добавлены сервисы: WhatsApp • Telegram. |
||||
| №3 | Дата: 15.12.25 | Автор:Ляшук Андрей | RFC: RPL-2000 | Версия: 1.1.0 |
| Добавлено: “10. Теги инфлюэнсера”. |
||||
| №4 | Дата: 23.12.25 | Автор:Ляшук Андрей | RFC: RPL-2097 | Версия: 1.2.0 |
| Отменены: изменения, которые были добавлены в рамках RPL-2000. |
||||
| №5 | Дата: 05.02.26 | Автор:Ляшук Андрей | RFC: RPL-2204 | Версия: 1.3.0 |
| Добавлено: “10. Группы городов”. Изменено: • “5.1 Параметры Города(cities)” добавлены параметры: geonameid • latitude • longitude • timezone • population. |
||||
| №6 | Дата: 24.09.26 | Автор:Ляшук Андрей | RFC: RPL-2921 | Версия: 1.4.0 |
| Добавлено: • “9.1_1 Предустановленные диапазоны количества подписчиков” • “9.2 Параметры связи диапазона количества подписчиков с типом бизнеса(range_quantity_followers_business_types)” • “9.2_1 Предустановленные связи диапазонов количества подписчиков с типами бизнеса” • FR_03_9_1 • FR_03_9_2. Изменено: В “9.1 Параметры Диапазоны количества подписчиков(ranges_quantity_followers)” удалено ограничение пересечения значений “Подписчиков от” / “Подписчиков до” с другими Диапазонами количества подписчиков. |
1. Сервисы¶
Справочник предназначен для хранения информации о сервисах на которых Пользователи сервиса, регистрируют свои аккаунты.
1_1 Типы сервисов
| Класс | Описание |
|---|---|
| Социальная сеть | Сервис на котором зарегистрирован аккаунт инфлюэнсера, который используется для определения соответствия аудитории аккаунта требованиям Кампании. |
| Мессенджер | Сервис на котором зарегистрирован аккаунт инфлюэнсера, который пользователь может указать как аккаунт для коммуникации с ним. |
1.1 Параметры Сервиса(services)¶
| Название | Параметр | Формат | Обяз. | Уник. | Примечание |
|---|---|---|---|---|---|
| Идентификатор | id | serial | да | да | |
| Дата удаления | deleted_at | timestamp | нет | нет | |
| Название | title | varchar(255) | да | нет | |
| Тип | type | enum | да | нет | Возможны следующие типы: 1 - Социальная сеть; 2 - Мессенджер. |
| Иконка | icon_id | bigint | нет | нет | |
| Ссылка | link | varchar(255) | нет | да | |
| Свойство использования для настроек уведомлений | is_used_for_notification_settings | boolean | да | нет | По умолчанию false. |
| Индексы | Параметры | ||||
| Уникальный индекс | title, type |
1.1_1 Предустановленные сервисы
| Сервис | Параметры |
|---|---|
| Идентификатор - 1; Название - Instagram; Тип - Социальная сеть. | |
| Идентификатор - 2; Название - WhatsApp; Тип - Мессенджер; Ссылка - https://wa.pulse.is/15557168443?start=69475468c46b0268950e4996\&text=; Свойство использования для настроек уведомлений - true. | |
| Telegram | Идентификатор - 3; Название - Telegram; Тип - Мессенджер; Ссылка - https://tg.pulse.is/rippla_com_bot?start=6943a95c45fdc7269f004334\&uuid=; Свойство использования для настроек уведомлений - true. |
2. Интересы инфлюэнсера¶
Справочник предназначен для хранения информации об интересах инфлюэнсера, которые указаны для его аккаунта на сервисе, на котором зарегистрирован аккаунт инфлюэнсера.
2.1 Параметры Интереса(interests)¶
| Название | Параметр | Формат | Обяз. | Уник. | Примечание |
|---|---|---|---|---|---|
| Идентификатор | id | serial | да | да | |
| Название | title | varchar(255) | нет | нет | Является обязательным, если не имеется “Оригинального названия” |
| Оригинальное название | origin_title | varchar(255) | нетда | нет | Является обязательным, если не имеется “Названия” |
3. Языки¶
Справочник предназначен для указания языковой принадлежности той сущности, в которой он используется.
Реализация справочника основана на компоненте Languages фреймворка Symfony.
FR_03_3_1
Справочник должен поддерживать мультиязычность.
4. Страны¶
Справочник предназначен для указания принадлежности к стране той сущности, в которой она используется.
Реализация справочника основана на компоненте Сountries фреймворка Symfony.
Справочник используется для поиска и фильтрации инфлюэнсеров(аккаунтов инфлюэнсеров).
5. Города¶
Справочник предназначен для указания принадлежности к городу той сущности, в которой она используется.
Справочник используется для поиска и фильтрации инфлюэнсеров(аккаунтов инфлюэнсеров).
5_1 Предустановленные города
В сервисе должны быть предустановлены города предоставляемые репозиторием https://github.com/nnjeim/world.
NFR_5_1_1
Для предустановленных городов “Статус активности” должен быть установлен как “true”.
5_2 Важность города
Важность города предназначена для определения местоположение города в списке городов. Значение Важности является натуральным числом. Чем больше значение параметра важность, тем выше город должен располагаться в списке городов.
5_2.1 Условное описание для значения важности города
| Значение | Описание |
|---|---|
| 1000 | Столицы; Крупные населенные пункты; Популярные населенные пункты. |
| 100 | Административные центры. |
| 10 | Районные центры. |
| 1 | Мелкие населенные пункты; Не популярные населенные пункты. |
| 0 | Устанавливается для населенных пунктов, которые не должны отображаться в интерфейсе пользователя. |
5.1 Параметры Города(cities)¶
| Название | Параметр | Формат | Обяз. | Уник. | Примечание |
|---|---|---|---|---|---|
| Идентификатор | id | serial | да | да | |
| Код страны | сountry_code | varchar(255) | нет | нет | |
| Название | title | varchar(255) | да | нет | |
| Псевдонимы | aliases | array | да | нет | Одномерный массив, который содержит псевдонимы названия города. |
| Важность | importance | integer | да | нет | |
| Источник данных | data_source | enum | нет | нет | Возможны следующие источники: 1 - Yoloco. |
| Идентификатор geoname | geonameid | int | нет | нет | |
| Широта | latitude | decimal(9,6) | нет | нет | |
| Долгота | longitude | decimal(9,6) | нет | нет | |
| Таймзона | timezone | varchar(64) | нет | нет | |
| Население | population | int | нет | нет |
5.2 CRUD Города¶
03_5.2_1 Процедура формирования списка городов по запросу пользователя¶
- Клиентской частью сервиса выполняется запрос, который должен содержать список городов, с параметрами:
- “tail_item” - последний элемент списка, который был получен ранее;
- “per_page” - количество элементов на странице;
- "search" - значение указанное пользователем.
- Определяются Города которые удовлетворяют условиям запроса. Город удовлетворяет условиям запроса если:
- Значение параметра “Важность” города больше 0.
- Значение параметра “search”, которое было указано при инициации данной процедуры, является подстрокой которая входит в начало строки образованной из одного из “Псевдонимов” города.
- На запрос, который инициировал данную процедуру, возвращается ответ который содержит список Городов которые отсортированы:
- Если в запросе “Get city dictionary” не имеется значения для параметра “search” по “Важности” и в алфавитном порядке.
- Если в запросе “Get city dictionary” имеется значения для параметра “search”:
- По вхождению подстроки, которая образована из значения параметра “search”, которое входит в первый “Псевдоним” города и “Важности”;
- По вхождению подстроки, которая образована из значения параметра “search”, которое входит не в первый “Псевдоним” города и “Важности”;
6. Пол аудитории¶
Справочник используется для поиска и фильтрации инфлюэнсеров(аккаунтов инфлюэнсеров).
6.1 Параметры Пола аудитории(genders_audience)¶
| Название | Параметр | Формат | Обяз. | Уник. | Примечание |
|---|---|---|---|---|---|
| Идентификатор | id | serial | да | да | |
| Название | title | varchar(255) | да | нет | Является переводимым. |
| Статус активности | is_active | boolean | да | нет | |
| Источник данных | data_source | enum | нет | нет | Возможны следующие источники: 1 - Yoloco. |
7. Возрастные группы аудитории¶
Справочник используется для поиска и фильтрации инфлюэнсеров(аккаунтов инфлюэнсеров).
7.1 Параметры Возрастной группы(age_ranges_audience)¶
| Название | Параметр | Формат | Обяз. | Уник. | Примечание |
|---|---|---|---|---|---|
| Идентификатор | id | serial | да | да | |
| Название | title | varchar(255) | да | нет | |
| Статус активности | is_active | boolean | да | нет | |
| Источник данных | data_source | enum | нет | нет | Возможны следующие источники: 1 - Yoloco. |
8. Показатели вовлеченности аудитории¶
Справочник используется для поиска и фильтрации инфлюэнсеров(аккаунтов инфлюэнсеров).
8.1 Параметры Показателя вовлеченности(influencer_engagement_rates)¶
| Название | Параметр | Формат | Обяз. | Уник. | Примечание |
|---|---|---|---|---|---|
| Идентификатор | id | serial | да | да | |
| Название | title | varchar(255) | нет | нет | |
| Статус активности | is_active | boolean | да | нет | |
| Показатель | rate | float(6,5) | да | да |
9. Диапазоны количества подписчиков¶
Справочник используется для поиска и фильтрации инфлюэнсеров(аккаунтов инфлюэнсеров).
9.1 Параметры Диапазоны количества подписчиков(ranges_quantity_followers)¶
| Название | Параметр | Формат | Обяз. | Уник. | Примечание |
|---|---|---|---|---|---|
| Идентификатор | id | serial | да | да | |
| Название | title | varchar(255) | нет | нет | |
| Статус активности | is_active | boolean | да | нет | |
| Подписчиков от | quantity_from | int | нет | нет | |
| Подписчиков до | quantity_to | int | нет | нет | Не может быть меньше или равно значению “Подписчиков от” данного Диапазона количества подписчиков. |
9.1_1 Предустановленные диапазоны количества подписчиков
| Диапазон | Параметры |
|---|---|
| 0-5000 | id - 1; title - 0-5000; quantity_from - 0; quantity_to - 5000. |
| 5000-10000 | id - 2; title - 5000-10000; quantity_from - 5000; quantity_to - 10000. |
| 10000-20000 | id - 3; title - 10000-20000; quantity_from - 10000; quantity_to - 20000. |
| 20000-30000 | id - 4; title - 20000-30000; quantity_from - 20000; quantity_to - 30000. |
| 30000-40000 | id - 5; title - 30000-40000; quantity_from - 30000; quantity_to - 40000. |
| 40000-50000 | id - 6; title - 40000-50000; quantity_from - 40000; quantity_to - 50000. |
| >50000 | id - 7; title - >50000; quantity_from - 50000. |
| 50000-100000 | id - 8; title - 50000-100000; quantity_from - 50000; quantity_to - 100000. |
| 100000-200000 | id - 9; title - 100000-200000; quantity_from - 100000; quantity_to - 200000. |
| >200000 | id - 10; title - >200000; quantity_from - 200000. |
9.2 Параметры связи диапазона количества подписчиков с типом бизнеса(range_quantity_followers_business_types)¶
| PRIMARY KEY | range_quantity_followers_id, business_type | ||||
|---|---|---|---|---|---|
| Название | Параметр | Формат | Обяз. | Уник. | Примечание |
| Идентификатор диапазона количества подписчиков | range_quantity_followers_id | int | да | нет | |
| Тип бизнеса | business_type | enum | да | нет | Возможны следующие типы: 1 - Отель; 2 - Другое. |
9.2_1 Предустановленные связи диапазонов количества подписчиков с типами бизнеса
| Диапазон | Типы бизнеса |
|---|---|
| 0-5000 | Отель; Другое. |
| 5000-10000 | Отель; Другое. |
| 10000-20000 | Отель; Другое. |
| 20000-30000 | Отель; Другое. |
| 30000-40000 | Отель; Другое. |
| 40000-50000 | Отель; Другое. |
| >50000 | Другое. |
| 50000-100000 | Отель. |
| 100000-200000 | Отель. |
| >200000 | Отель. |
FR_03_9_1
Тип бизнеса “Бизнеса” определяется как:
1. Отель - если Бизнес является «Отелем»;
2. Другое - если Бизнес не является «Отелем».
FR_03_9_2
На запрос “Get ranges of the number of followers dictionary” возвращаются Диапазоны количества подписчиков, “Статус активности” которых true и для которых имеется связь с Типом бизнеса, который определён согласно “FR_03_9_1” для “Бизнеса”, к которому относится Пользователь, который инициировал запрос.
10. Группы городов¶
Справочник используется для объединения городов в группы.
10.1 Параметры группы городов(city_groups)¶
| Название | Параметр | Формат | Обяз. | Уник. | Примечание |
|---|---|---|---|---|---|
| Идентификатор | id | serial | да | да | |
| Название | title | varchar(255) | нет | нет | |
| Статус активности | is_active | boolean | да | нет | По умолчанию true. |
10.2 Параметры связи группы города с городом(city_group_cities)¶
| PRIMARY KEY | city_id, city_group_id | ||||
|---|---|---|---|---|---|
| Название | Параметр | Формат | Обяз. | Уник. | Примечание |
| Идентификатор города | city_id | int | да | нет | |
| Идентификатор группы города | city_group_id | int | да | нет |