Єдиний воркспейс (Electron)
Спільні сервіси працюють з єдиними моделями даних; різницю партнерських API закривають адаптери проєктів. Один отриманий набір даних повторно використовують усі логіки, яким він потрібен.
Сервіси
«зап/хв» — тотал на партнерське апі (від–до); «наше апі» — б’є лише в наш сервер; розбивка по проектах — у файлі сервісу. T — TU оператора, A — їхні admin/agency-сесії, ΣP — сумарні сторінки списків.
| # | Сервіс | Суть | зап/хв (від–до) |
|---|---|---|---|
| 1 | Логін оператора + стак-сокет | перевірки допуску → конект сокета → список анкет; поки не пройдено — до ТЮ не пускає | разово |
| 2 | Логін ТЮ | логін кожної анкети на сайт + сокет по ТЮ (механіка своя в кожного сайту) | разово |
| 3 | Сервіс онлайну ТЮ | тримає TU онлайн, звіряє з API, реконект, фіксує час онлайну | Golden T+A; Chathouse A+ΣP; Prime ΣP / хв·оп |
| 4 | Сервіс отримання даних з стаку | стартові дані одним запитом: спільне ядро + свої набори по проектах | наше апі |
| 5 | Сервіс обробки дій оператора | підрахунок дій, кік при неактивності 10 хв; онлайн рахує сервер | наше апі |
| 6 | Сервіс збереження даних на стак | батч на наш сервер (60с, delete-on-ack): дії, сендери та відповіді RU, онлайн TU, профілі глобальних RU, стріми, перегляди, логи | наше апі |
| 7 | Сендер | валідація готового кандидата → вибір інвайта → підтверджена chat/mail-відправка | точкові |
| 8 | Інвайти | створення, модерація, активні списки та вибір інвайта для сендера | наше апі |
| 9 | Медіа | stateless-отримання й нормалізація доступного медіа TU для chat, mail та інвайтів | — |
| 10 | Task Factory | окремий пул кожної TU; створення, закриття, видалення та контроль пріоритетів | наше API |
| 11 | Фаворити та чат-хісторі | усі фаворити + стан останнього контакту; чат-хісторі за 2 години | спільні проходи + on-demand |
| 12 | RU-онлайн сервіс | окремий online-пул кожної TU; Golden — один запит, Chathouse/Prime — cursor-сторінки | Golden 4; Chathouse N; Prime N зап/хв·TU |
| 13 | RU Unanswered сервіс | страховочний прохід unanswered після логіну/reconnect і за інтервалом | сторінки на TU за прохід |
| 14 | RU All Dialogs сервіс | Chathouse/Prime: загальний cursor-прохід діалогів до визначеної глибини | сторінки на TU за прохід |
| 15 | Сервіс профілів RU | профілі глобальних фаворитів + session cache; один Promise на завантаження RU | on-demand через profile-loader |
| 16 | Фаворит-сервіс | окремий стан кожної TU: базовий знімок + поточні витрати | 0 |
| 17 | Сервіс статистики | статистика Golden/Chathouse → нормалізовані оновлення сервісів | наше апі |
| 18 | Сервіс блокувань | окремо по TU: RU заблокував TU / TU заблокувала RU | спільні проходи + точкові |
| 19 | Сервіс підрахунку запитів і помилок | метрики запитів по апі + логування помилок; анти-дудос | наше апі |
| 20 | Обробка socket-подій | партнерський payload → нормалізована подія → потрібний сервіс | socket + точкові |
Інтеграції
- Stack API — наші HTTP/socket-контракти та рішення: shared чи окремий family-сервіс.
- Partner API — URL, request/response і pagination партнерських операцій Golden, Chathouse, Prime та Udate.
- Переклад — прямий DeepL для chat/mail/email/інвайтів; переклад нотаток окремо через наше API.
Матриця змін (ситуації коли треба звернутись до БД)
Матриця змін даних — сутність, поле, джерело зміни, локальна поведінка, збереження та помилки. Заповнюється під час проєктування кожного сервісу.
Допоміжні сервіси
| Сервіс | Суть | зап/хв |
|---|---|---|
| Перекладач | текст оператора напряму через DeepL; нотатки через наше API | direct + наше API |
| Нотатки | спільна колекція (+ AI-нотатки), по курсору | наше апі |
| Стрім стану тімліду | стан воркспейсу оператора тімліду в реальному часі (наш сокет) | наше апі |
Унікальні модулі
- Створення діалогів (Prime) — планувальник VIP: таск «написати першим», captcha і chat-request.
- Ньюзфід (Prime) — ручні пости від імені TU; реакції RU → звичайні таски.
- Exclusive Posts (Prime) — платні posts із media у діалозі RU.
- Activity Alerts (Udate) —
ONLINE_LIMITяк джерело тасків і кандидатів Sender. - Stories (Udate) — активна Story, доступні media та публікація від імені TU.
- Запуск айсбрейкерів (Chathouse / Prime) — фонова щоденна активація chat- і mail-айсів для TU.
- Стрім камер TU (Golden) — трансляція + фіксація інтервалів.
- Перегляди профілю (Golden) — хто дивився анкету.
- Клієнт-email канал (Golden) — Stack підключає email до TU, керує доступами й media; Electron читає доступний акаунт через Stack API, працює з листуванням і створює таск Unanswered e-mail.
Відкриті пункти
- Тести апі (контракт-чек) — ловити зміни партнерського апі проти еталонної схеми, щоб поля були перевірювані, а не «на словах». Відкрите: вшити в програму (діагностичний режим, поруч із пісочним/дебаг-знімком) чи окремим харнесом/CI. Модель — api-тести в stack-golden. Дотично до #14.
Зв’язки
- Family Platform — спільні серверні сутності, сервіси, Family-логіки та workers.
- Workspace — аналіз — механіка (Unification) і рішення (Plan).
- Family Blueprint — набір API нового партнера.