This repository has been archived on 2026-11-14. You can view files and clone it, but cannot push or open issues or pull requests.
client-advocate/dashboard/index.html
Асель Мамажанова 62f94a9012 feat: AI-агент «Адвокат клиента» — MVP Iteration 1
Реализация TRD §10 / Итерация 1:
- Camunda 7.21 BPMN: client-advocate-main + route-to-department
- Spring Boot 3 воркеры (Java 17): 18 external task handlers,
  MockEventProducer, REST API на /api/v1/cases, BPMN auto-deploy
- FastAPI AI-сервис: keyword-based sentiment + pain classifier
- PostgreSQL 15: 5 таблиц по TRD §3 + отдельная БД для Camunda
- Статический дашборд (nginx) с live polling
- 7 синтетических детракторов из PRD §1.2
- docker-compose.yml с Traefik labels:
    advocate.telecom.quest        → дашборд + API
    advocate-camunda.telecom.quest → Camunda Cockpit
2026-05-22 12:30:06 +05:00

60 lines
2.0 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!doctype html>
<html lang="ru">
<head>
<meta charset="utf-8"/>
<meta name="viewport" content="width=device-width,initial-scale=1"/>
<title>Адвокат клиента — Дашборд</title>
<link rel="stylesheet" href="styles.css"/>
</head>
<body>
<header>
<h1>⚖️ AI-агент «Адвокат клиента»</h1>
<p class="subtitle">Kazakhtelecom · ДУКО · MVP Iteration 1</p>
</header>
<section class="stats" id="stats">
<div class="card"><span class="label">Всего кейсов</span><span class="value" id="stat-total">—</span></div>
<div class="card black"><span class="label">⚫ BLACK</span><span class="value" id="stat-black">—</span></div>
<div class="card red"><span class="label">🔴 RED</span><span class="value" id="stat-red">—</span></div>
<div class="card yellow"><span class="label">🟡 YELLOW</span><span class="value" id="stat-yellow">—</span></div>
<div class="card green"><span class="label">🟢 GREEN</span><span class="value" id="stat-green">—</span></div>
</section>
<main>
<h2>Активные кейсы</h2>
<table id="cases-table">
<thead>
<tr>
<th>Приоритет</th>
<th>Клиент</th>
<th>Категория</th>
<th>Обращений</th>
<th>Статус</th>
<th>Маршрут</th>
<th>Тикет</th>
<th>Sentiment</th>
<th>Churn</th>
<th>Дней</th>
<th></th>
</tr>
</thead>
<tbody id="cases-body">
<tr><td colspan="11" class="empty">Загрузка…</td></tr>
</tbody>
</table>
</main>
<aside id="case-detail" hidden>
<button id="close-detail">✕</button>
<h3>Детали кейса</h3>
<pre id="detail-body"></pre>
</aside>
<footer>
Polling каждые 5 сек · Camunda: <a href="http://localhost:8080" target="_blank">localhost:8080</a> · API: <a href="/api/v1/cases">/api/v1/cases</a>
</footer>
<script src="app.js"></script>
</body>
</html>