KembaliArsip / superappgov / ASN
superappgov
ASN
80 file · 694.6 KB
README
ASN NEXUS
Platform pengetahuan ASN Indonesia yang menyatukan regulasi, manajemen karier, kompensasi, disiplin, dan tools simulasi dalam satu pengalaman web.
Fitur Utama
- 18 domain pengetahuan ASN dengan konten terstruktur dan actionable.
- Tools interaktif: estimasi THP, estimasi pensiun, dan kalkulator KGB.
- Navigasi cepat melalui
Command Palette(Cmd/Ctrl + K). - Filter domain berbasis persona (
CPNS,PPPK,PNS) di homepage (persisten per browser). - Bookmark domain (disimpan di
localStorage) dengan aksi ekspor JSON dan hapus massal. - Section "Terakhir Dibuka" berbasis riwayat interaksi domain pengguna.
- Dashboard event internal di
/insightsuntuk evaluasi UX dan telemetry lokal (ter-gate mode internal). - UI responsif desktop-mobile dengan mode terang/gelap.
- Aksesibilitas dasar yang diperkuat (skip-link, keyboard-first navigation).
Stack
- Next.js App Router
- React + TypeScript
- Tailwind CSS v4
Menjalankan Proyek
npm install
npm run dev
Buka http://localhost:3000.
Validasi Kualitas
npm run lint
npm run build
Struktur Penting
src/app- halaman domain dan layout aplikasisrc/components/layout- header, footer, command palettesrc/components/calculators- kalkulator ASNsrc/components/ui- komponen presentasi domain/FAQsrc/components/ui/DomainViewTracker.tsx- telemetry saat domain page benar-benar dibukasrc/hooks/useBookmarks.ts- sinkronisasi bookmark lintas komponensrc/hooks/usePersonaFilter.ts- sinkronisasi preferensi persona lintas komponensrc/hooks/useAnalyticsLog.ts- sinkronisasi log analytics untuk dashboardsrc/lib/analytics.ts- event tracking map dan helper telemetrysrc/lib/featureFlags.ts- kontrol fitur internal (/insights)src/lib/personaPreferences.ts- util penyimpanan preferensi personasrc/lib/constants.ts- sumber data domain, golongan, dan instansi
Event Analytics
Event inti yang dipetakan:
palette_openedpalette_result_selectedtheme_toggledpersona_filter_selecteddomain_openeddomain_viewedbookmark_toggledbookmark_exportedbookmark_clearedtool_tab_selected
Konfigurasi Internal
- Set
NEXT_PUBLIC_ENABLE_INSIGHTS=trueuntuk membuka/insightsdi mode production.
Catatan
Konten disajikan untuk edukasi. Untuk keputusan administratif/hukum resmi, selalu verifikasi ke regulasi mutakhir dan unit kepegawaian instansi terkait.
File Utama
- .gitignore
- DEPLOYMENT_RULES.md
- README.md
- eslint.config.mjs
- mdx-components.tsx
- next.config.ts
- package-lock.json
- package.json