Lewati ke konten utama

Ikhtisar Frontend

Pendahuluan

Dokumen ini memberikan ikhtisar komprehensif tentang layanan frontend Ravenxcope. Frontend adalah aplikasi satu halaman (SPA) React yang dibangun untuk platform pusat pertahanan RavenXcope. Layanan ini menyediakan autentikasi, pendaftaran organisasi, manajemen sensor, manajemen pengguna dan peran, pemantauan dasbor, dan analitik keamanan.

Aplikasi ini dibangun sebagai aplikasi web statis bertenaga Vite dan dilayani melalui Nginx dalam produksi. Konfigurasi runtime disuntikkan ke dalam window.__APP_CONFIG__, memungkinkan artefak yang sama untuk menunjuk ke lingkungan backend yang berbeda.


Tumpukan Teknologi

KategoriTeknologiVersiTujuan
UI RuntimeReact19.2.0Model komponen dan rendering
BahasaTypeScript5.9.xKode aplikasi yang aman secara tipe (type-safe)
Alat BuildVite7.2.xDev server dan pembundelan produksi
Peruteanreact-router-dom7.11.xRute sisi klien dan tata letak bertingkat
Klien HTTPAxios1.13.xPanggilan REST API dan pencegat (interceptor)
Penyimpanan Authjs-cookie3.0.xPersistensi token dan sesi
I18nreact-i18next16.xDukungan multibahasa
Basis UIRadix UI2.xKomponen primitif yang aksesibel
Sistem UITailwind CSS4.xGaya utility-first
BaganRecharts3.6.xVisualisasi data
Ekspor PDFjsPDF4.xPembuatan laporan analitik

Tanggung Jawab Aplikasi

Layanan frontend bertanggung jawab untuk:

  1. Autentikasi: Mengelola login/logout pengguna dan persistensi sesi.
  2. Kontrol Akses: Melindungi rute dasbor privat dan menegakkan izin tingkat UI.
  3. Orkestrasi Shell: Menyediakan tata letak responsif dengan bilah sisi, laci seluler, dan menu pengguna.
  4. Integrasi Data: Memanggil API backend melalui klien terpusat dengan pencegat.
  5. Manajemen: Menangani organisasi, sensor, pengguna, dan peran.
  6. Pemantauan: Memvisualisasikan kesehatan sensor, heartbeat, dan metrik.
  7. Analitik: Menampilkan peringatan keamanan, tren, dan mengekspor laporan PDF.
  8. Obrolan AI: Mengintegrasikan dengan obrolan AI analitik jika diaktifkan.

Permukaan Rute Saat Ini

RuteAksesTujuan
/PublikTitik masuk login
/registerPublikPendaftaran organisasi
/user-formPublikPendaftaran pengguna admin
/dashboardPrivatDasbor ikhtisar kesehatan
/dashboard/all-sensorPrivatManajemen sensor
/dashboard/sensor/:idPrivatDetail sensor dan sensor virtual
/dashboard/organizationPrivatProfil organisasi
/dashboard/profilePrivatPengaturan profil pengguna
/dashboard/userPrivatManajemen pengguna
/dashboard/rolePrivatManajemen peran dan izin
/dashboard/analyticsPrivatDasbor keamanan dan obrolan AI

Konfigurasi Runtime

Konfigurasi runtime dimuat dari src/config/appConfig.ts dengan prioritas sebagai berikut:

  1. Global yang Disuntikkan: window.__APP_CONFIG__ (suntikan produksi).
  2. Lingkungan Lokal: Variabel lingkungan Vite (import.meta.env).
  3. Cadangan (Fallback): Nilai default yang dikodekan secara keras di lapisan API.

Kunci Konfigurasi Inti:

  • VITE_API_BASE_URL: Asal (origin) backend.
  • VITE_ANALYTICS_AI_CHAT_ENABLED: Bendera fitur obrolan.