Технічне завдання (чорновик)
Налаштування дозволів
Потрібно мати можливість по кожному користувачу налаштовувати дозволити:
- чи доступні йому певні об'єкти, для перегляду, та подачі задачі
- чи можна їх "відкривати/шерити" іншому користувачу
Users
Наприклад користувачу доступні користувачі miro та helga:
- користувач miro доступний для перегляду, та його можна дозволити іншому користувачу.
Наприклад користувач Admin може додати користувача alenka, для користувача oleksandr (хто має доступ до Share (всі чи окремі люди, має окремо обговоритись)
Sources
Так само з Джерелами трафіку, де буде показаний перелік, в яких трекерах налаштована інтегарція, в переілку також будуть показувати трекери тільки доступні для обраного користувача.
Affiliates
Ідентично й з партнерськими програмами
Трекери
Схожим чином і з трекерами
В окремі стовбчики можна зробити також перелік інтегрованих для цього тркера Джерел трафіку та Партнерок (але це може бути не зручно, бо їх перелік накопичується та займає десятки/сотні).
Список задач
Варіант 1
Як в документі задач. Але це тягне за собою, велику таблицю із зайвими даними + тут буде більше стовбчиків, бо панель робиться для розширення можливостей.
Варіант 2
Подача задач, схоча як в документі, але скорочений варіант, можна буде дублювати задачі, та прямо в таблиці змінювати деякі дані (юзера, гео, і т.д)
Але для розширених налаштувань, та отримання додаткової інформації (для налаштувань в Джерелі трафіку, Партнерці, чи довідкової) розкривати слайдер (праворуч) або попап (як це реалізовано багато де). Питання це дискусійне. Попапи з'їдають велику частину робочого простору і не все охоплюється очима.
При подачі задачі і базових даних можна/треба буде перейти до детальних налаштувань/параметрів. Вони можуть бути обов'язковими не обов'язковми. Або для окремих типів задач, буде мачок, або краще якщо просто свіжа задача, то обов'язково розкривати слайдер для додаткової інформації. Бо в дублікаті, вже є необхідна інформація.
Бо у кожно ПП, та навіть в якогось клона Джерела трафіку, можуть бути вимоги.
І в залежності від джерела трафіка, можуть вимагатися різні вхідні дані, для якоїсь партнерки.
Якщо робити це все просто таблиці, буде дуже велики горизонтальний скрол, і не зручний.
Загальне
Фільтрування і сортування задач
Можна зробити окремии кнопками/формою. Або як реалізовано наприклад в clickflare, пошук одразу по натисканню на заголовок стовбчика або другим рядком
Форматування таблиці
Дозволити переміщати стовбчики в довільному порядку.
Збрігати ці налаштування для кожного юзера на сервері та локально. Можливо зберігати це у вигляді json, та дозволяти застосовувати налаштування ці. самим користувачем. Щоб тімлід міг видати шаблон, і користувачі його собі застосували.
Або взагалі зробити загальнодоступні темплейти таких налаштувань.
Перевірка даних
Зробити тести, чи немає затримок, якщо робити перевірку вхідних даних на сервері. Чи все таки краще дублювати на фронті в ріалтайм. Щоб користувач не очікував відповіді, а під час введення бачив що у нього коректно, а що ні.
Бот
Кожні хвилин 30 перевіряти, якщо зроблені якісь задачі, то користувачу надіслати email/telegram сповіщення, що така то кількість задач виконана, та їх ІД з іменами кампаній.
Подача задачі не від свого імені
Наприклад тімлід або юзер, хоча роздати задачі підлеглим/колегам і повинен мати можливість обирати користувача для задачі.
Але зберігати в лог, чи в окрему табличку, фактичного творця задачі.
Логи
Потрібно зберігати всі логи, щоб не ускладнювати, це можна зберігати у вигляді JSON, та з міткою часу. Тобто розрити слайдер або попап, і там табличка з двома колонками Date та Data
В самому JSON, зберігати по максимуму всю інформацію по задачі, при кожній зміні задачі, або її статусу.
Їх можна буде очищати кожні n-днів. Цього буде достатньо з головою, для розбору польотів.
Логи (кнопка) мають бути доступні тільки технічному сапорту, або окремим користувачам по запиту.
Процес розробки
Потрібно мати Stage гілку та зеркало морди відповідне. Де можна буде тестувати зміни, та нові інтеграції. Які впроваджувати в прод. Щоб це не створювало не бажаних часових затримок та проблем.
Можливо зробити якесь автотестування, по самим об'єктам (партнерка, джерело трафіку, трекер). Їх реалізація може бути у вигляді компонентів чи функцій. Тому думаю, тестування має бути не дуже складним. Це під питанням.
Для змін в коді все робимо через git, налаштування сервера, нова інтегарція, все має документуватись.
Можливо окремо ще завести Jira (або інший) трекер. Щоб там велась історія розробки. У вигляді задач, та обговорення.
А сама документація має бути чистою.
Хоча у нас є коментування і обговорення і всі інші моменти можна вести в коментарях, під самим документом.
Даний сервіс підтримуж SAML, а також git, можливо можна буде реалізувати і в наші панелі.
Щоб був єдиний вхід. Та спрощене керування. А також тут є хороше API.
No Comments