Nexa Intelligence Docs
Dashboard

National Overview

Spesifikasi teknis antarmuka National Overview (/dashboard), ringkasan situasi lintas sektor, serta pemetaan database PostgreSQL, Elasticsearch, dan antrean Kafka.

National Overview (/dashboard)

Halaman National Overview (dengan judul antarmuka National Decision Intelligence) merupakan landing dashboard utama pimpinan dan analis intelijen untuk memantau dinamika nasional lintas 38 provinsi secara komprehensif. Antarmuka ini dirancang adaptif berdasarkan peran pemangku kepentingan (Role-based Decision Intelligence), memadukan indikator KPI makro, analisa kontekstual 5 pilar strategis nasional, peta spasial choropleth, sintesis eksekutif AI, serta umpan berita intelijen langsung (live stream).

Tampilan Antarmuka Utuh National Decision Intelligence


Tabel Pemetaan Komponen ke PostgreSQL & Elasticsearch

Urutan baris di bawah ini disusun berurutan dari komponen paling atas hingga paling bawah pada layar antarmuka dashboard:

No
Komponen UI
Tangkapan Layar (UI)
PostgreSQL (Tabel & Kondisi)
Elasticsearch (Indeks & Filter)
Kafka (Topik & Alur Event)
1Header & Selektor Peran ("Lihat sebagai")
(Pilihan 4 peran: Pemerintahan, Pelaku Bisnis, LSM & Organisasi, Personal dengan status LIVE)
Header & Selektor Peranarticles
↳ sector_id (sync ke master_sectors.id)
master_sectors
↳ id, sector_name, public_id
articles
↳ sector_id, sector_name
(Filter scope agregasi per sektor peran)
queue-normalize-data
(Resolusi sector_id & ingest artikel)
2Kartu KPI: Total Berita
(Volume total berita terpantau dalam rentang waktu terfilter)
Kartu KPI: Total Berita- (Tidak diakses langsung)articles
↳ processed_at:[now-Xd TO now], filter sector_id
queue-normalize-data
(Inbound artikel terindeks)
3Kartu KPI: Sentimen Negatif
(Persentase rasio & total volume berita bersentimen negatif)
Kartu KPI: Sentimen Negatif- (Tidak diakses langsung)articles
↳ term: { sentiment: "negative" }, filter sector_id
queue-normalize-data
(Inbound artikel terindeks)
4Kartu KPI: Sumber Media
(Jumlah outlet/penerbit media massa unik yang aktif menerbitkan berita)
Kartu KPI: Sumber Media- (Tidak diakses langsung)articles
↳ cardinality: publisher.keyword / source.domain
queue-raw-data-site
(Inbound crawler berita)
5Kartu KPI: Topik Trending
(Jumlah isu terpanas nasional yang terdeteksi)
Kartu KPI: Topik Trending- (Tidak ada tabel di PG)trending_topics
↳ period: "24h", ORDER BY rank ASC LIMIT 10
queue-trending-data
(Komputasi worker D1)
6Kartu Analisa 5 Pilar (Sesuai Peran Aktif)
(Grid 5 pilar: Ekonomi, Budaya, Politik, Sosial, Geo Politik beserta total volume, % neg, rekomendasi peran dari AI, & link analisa lengkap)
Kartu Analisa 5 Pilararticles
↳ sector_id sync ke master_sectors
taxonomy_nodes
↳ Master hirarki 5 pilar
articles
↳ Aggs by taxonomy.pillar & sector_id
national_dashboard / decision_intelligence
↳ Arahan aksi kontekstual peran
queue-ai-inference
(Sintesis arahan peran & inferensi AI)
7Ringkasan Eksekutif Situasi Nasional
(Paragraf analisa intelijen situasi nasional, titik panas, & dinamika isu)
Ringkasan Eksekutif Situasi Nasional- (Tidak diakses langsung)national_dashboard
↳ _source.intelligence_analysis
(high_risk_insight, economic_dynamic_insight, calm_zone_insight)
queue-ai-inference
(Output inferensi AI)
8Peta Sebaran Pemberitaan Nasional
(Peta choropleth spasial volume berita di 38 provinsi & status LIVE)
Peta Sebaran Pemberitaan Nasionalmaster_regions
↳ Batas poligon & nama provinsi
province_dashboard
↳ province_code, total_event
- (Agregasi cron worker)
9Filter Tema & Sentimen Sebaran
(Kontrol filter sentimen dan distribusi tema di bawah peta)
Filter Tema & Sentimen Sebaran- (Tidak diakses langsung)articles
↳ filter: { terms: { sentiment } }
- (Filter query ES langsung)
10Live Feed Berita Terkini
(Aliran feed berita intelijen real-time berdampingan dengan filter)
Live Feed Berita Terkini- (Tidak diakses langsung)intelligence_feed
↳ severity >= 3, sorting artikel terkini
queue-normalize-data
(Stream ingest artikel)
11Trending Media Nasional (8 Tema)
(Grid 8 kartu tema pemberitaan beserta 3 headline teratas per tema)
Trending Media Nasional- (Tidak diakses langsung)articles
↳ terms: taxonomy.lineages.keyword
- (Point-in-Time scan ES)
12Panel Rekomendasi Intelijen
(Daftar kartu rekomendasi aksi mitigasi & saran kebijakan dari AI)
Panel Rekomendasi Intelijen- (Tidak ada tabel di PG)decision_intelligence
↳ WHERE confidence >= 60
queue-ai-inference
(Output inferensi rekomendasi)
13Modal Rincian KPI
(Popup detail metrik saat klik "lihat rincian" pada salah satu kartu KPI)
Modal Rincian KPI- (Tidak diakses langsung)articles, trending_topics
↳ Query detail sesuai kartu KPI yang diklik
- (Query interaktif UI)
14Modal Briefing Wilayah
(Dossier ringkasan intelijen wilayah saat klik suatu provinsi di peta)
Modal Briefing Wilayahmaster_regions
↳ Metadata wilayah & koordinat
province_dashboard
↳ province_code = ? (summary_narrative, critical_signals)
- (On-demand aggregate)

Spesifikasi Endpoint & Alur Query

Bagian ini menguraikan logika query backend, indeks/tabel yang diakses, dan alur pemrosesan data untuk setiap komponen visual di antarmuka National Overview:

1. Selektor Peran & Sinkronisasi Sektor (articles.sector_id ⟷ master_sectors)

Header & Selektor Peran Antarmuka

  • Konsep Fungsional: Memungkinkan pengguna melihat ringkasan intelijen nasional dari kacamata sektor tertentu (Pemerintahan, Pelaku Bisnis, LSM & Organisasi, atau Personal).
  • Sinkronisasi PostgreSQL:
    • Kolom sector_id pada tabel articles berelasi langsung dengan tabel master_sectors (id, sector_name, public_id).
    • Worker ingest/normalisasi (D1) mencocokkan asal organisasi berita atau kategori target scraping dengan taksonomi sektor:
      • 1: government (K/L, Pemda, TNI, POLRI, dsb.)
      • 2: swasta (Korporasi, Perusahaan Swasta, Pasar Modal)
      • 3: lsm (LSM, Ormas, Yayasan)
      • 4: sosmed / personal (Publik luas, kanal komunitas/sosmed)
  • Elasticsearch Mapping: Tiap dokumen pada indeks articles menyimpan nilai sector_id dan sector_name, sehingga frontend dapat meneruskan parameter ?sector_id= ke backend untuk menyaring agregasi volume dan sentimen secara instan.

Empat Kartu KPI Eksekutif

  • Kartu 1, 2, dan 3 (Total Berita, Sentimen Negatif, Sumber Media): Dihitung secara konsisten dari satu pemindaian (Point-in-Time scan) atas dokumen indeks Elasticsearch articles pada jendela waktu yang dipilih (24h, 7d, 30d), dengan filter opsional sector_id. Menghitung volume total, persentase rasio sentimen negatif, dan kardinalitas domain/penerbit media unik yang berkontribusi berita.
  • Kartu 4 (Topik Trending): Diambil dari endpoint GET /trending-topics yang membaca dokumen peringkat dari indeks Elasticsearch trending_topics (hasil komputasi periodik worker D1).

3. Kartu Analisa 5 Pilar Lintas Peran (GET /overview/media-exec & GET /overview/intelligence-analysis)

Kartu Analisa 5 Pilar Berdasarkan Peran

Grid 5 kartu di bawah KPI menampilkan status pemberitaan pada lima pilar pilar taksonomi nasional:

  1. Ekonomi
  2. Budaya
  3. Politik
  4. Sosial
  5. Geo Politik

Setiap kartu pilar menyajikan:

  • Metrik Volume & Sentimen: Jumlah berita terindeks (berita) dan persentase sentimen negatif (% neg) yang dihitung dari agregasi bucket taxonomy.pillar pada indeks Elasticsearch articles.
  • Arahan Intelijen Kontekstual Peran: Pesan arahan strategis berbasis evaluasi AI dari indeks Elasticsearch pillar_intelligence (dihasilkan oleh decision-worker secara pre-aggregated batch) yang disesuaikan dengan peran aktif (Pemerintahan, Pelaku Bisnis, LSM & Organisasi, Personal). Apabila proses inferensi harian belum selesai, backend otomatis menerapkan graceful fallback ke template acuan terstandar (pillarInsightConfig.ts & pillarDetailConfig.ts).
  • Navigasi Analisa Lengkap: Tautan aksi > analisa lengkap yang membuka modal rincian pilar (Decision Intelligence Playbook), memadukan matriks analisa strategis (Kebutuhan, Peluang, Risiko, Rekomendasi Aksi, Indikator Dipantau) dengan fakta lapangan aktual (Topik Teratas dan Headline Terkait).

Modal Analisa Lengkap Isu Pilar

4. Ringkasan Eksekutif Situasi Nasional (GET /overview/intelligence-analysis)

Ringkasan Eksekutif Situasi Nasional

Mengambil sintesis analisa situasi intelijen nasional berbasis AI. Backend (f1-api-backend) membaca dokumen terbaru pada indeks Elasticsearch national_dashboard yang memiliki objek:

"intelligence_analysis": {
  "high_risk_insight": "Seluruh wilayah berada dalam batas risiko terpantau stabil...",
  "economic_dynamic_insight": "Aktivitas ekonomi nasional bergerak stabil...",
  "calm_zone_insight": "Zona stabil didominasi Jawa bagian tengah..."
}

Oleh backend, ketiga field teks tersebut dipetakan ke dalam array respon JSON narasi[] dengan kunci:

  1. titik_panas ↳ dari high_risk_insight (Titik Panas Keamanan & Lingkungan)
  2. dinamika_ekonomi ↳ dari economic_dynamic_insight (Dinamika Ekonomi)
  3. zona_stabil ↳ dari calm_zone_insight (Zona Stabil)

5. Peta Sebaran Pemberitaan 38 Provinsi (GET /overview/provinces)

Peta Sebaran Pemberitaan 38 Provinsi

Frontend meminta metrik perbandingan volume berita dan status risiko antar-provinsi untuk mewarnai peta choropleth spasial. Backend membaca dokumen pra-agregasi dari Elasticsearch indeks province_dashboard (kunci {province_code}_{YYYY-MM-DD}) yang dipadukan dengan geometri poligon wilayah dari tabel PostgreSQL master_regions.

6. Filter Tema & Live Feed Berita Terkini (GET /overview/intel-feed)

Filter Tema dan Sentimen Sebaran

Live Feed Berita Terkini

  • Filter Tema & Sentimen: Kontrol interaktif di bawah peta untuk memfilter sebaran berita berdasarkan kategori pilar taksonomi dan sentimen (positif, negatif, netral).
  • Live Feed Berita Terkini: Menampilkan artikel-artikel paling krusial secara real-time dengan skor keparahan (severity >= 3) yang di-upsert ke indeks Elasticsearch intelligence_feed.

Trending Media Nasional 8 Tema

Memindai indeks Elasticsearch articles untuk memetakan jalur taksonomi (taxonomy lineages) ke dalam 8 kluster tema besar (seperti Politik, Ekonomi, Sosial, Kamtibmas, dll.). Mengkalkulasi jumlah artikel per tema, persentase sentimen negatif per tema, serta menyajikan 3 headline berita terhangat per kartu tema.

8. Panel Rekomendasi Intelijen AI (GET /overview/recommendations)

Panel Rekomendasi Intelijen AI

Menyajikan arahan aksi mitigasi dan rekomendasi kebijakan strategis berbasis evaluasi AI. Backend mengambil data rekomendasi dari indeks Elasticsearch decision_intelligence dengan menerapkan filter ambang batas keyakinan model (confidence >= 60).

9. Modal Rincian KPI & Dossier Briefing Wilayah (GET /overview/provinces/{key}/briefing)

Modal Rincian KPI

Dossier Popup Briefing Wilayah Pada Peta

  • Modal Rincian KPI: Terbuka saat analis mengklik link "lihat rincian" pada salah satu dari 4 kartu KPI, menyajikan rincian tabular breakdown kategori artikel, sebaran sentimen, atau direktori media aktif.
  • Modal Dossier Briefing Wilayah: Terbuka saat analis mengklik salah satu provinsi pada peta sebaran, menyajikan kompilasi ringkasan situasi regional, kronologi kejadian, dan sinyal ancaman dari province_dashboard.

On this page