AI DMS Chatbot
Overview
AI DMS Chatbot adalah sistem manajemen dokumen enterprise yang memanfaatkan kecerdasan buatan untuk memungkinkan interaksi dokumen yang cerdas. Pengguna dapat mengunggah, mengelola, dan memproses dokumen (PDF, spreadsheet, Word, gambar) melalui antarmuka intuitif, kemudian berinteraksi dengan asisten AI yang memahami dan menjawab pertanyaan berdasarkan konten dokumen.
Tech Stack:
- Next.js 16 (App Router) — Frontend framework dengan React 19
- Zustand — Client-side state management (auth, modal, sidebar, WebSocket)
- TanStack React Query — Server state management dengan caching otomatis
- Tailwind CSS 4 + shadcn/ui — Styling dan komponen UI
- Docker + Kubernetes — Containerized deployment
Fitur Utama
AI Chatbot
Asisten AI percakapan dengan konteks dokumen. Mendukung respons Markdown dengan umpan balik pemrosesan real-time via WebSocket.
Perbandingan Dokumen
Perbandingan dokumen side-by-side bertenaga AI dengan drag-and-drop upload dan validasi file menggunakan magic byte checking untuk PDF dan gambar.
Manajemen File
Repositori dokumen terpusat dengan tracking progress upload (dibatasi 85% hingga WebSocket mengonfirmasi pemrosesan selesai), data table dengan pagination, preview PDF, dan lifecycle management dokumen.
Notifikasi Real-Time
Notifikasi push berbasis WebSocket untuk event pemrosesan dokumen. Sound alert, read/unread tracking, auto-reconnect dengan ping/keepalive.
Manajemen Pengguna & MFA
CRUD penuh untuk pengguna dengan RBAC, manajemen MFA (reset authenticator), QR-code-based TOTP MFA kompatibel dengan Google Authenticator.
Arsitektur
Dual state management — Zustand menangani semua UI client state sementara React Query mengelola fetching data server dengan caching dan background refetching. Smart token refresh menggunakan Axios interceptor dengan request queuing untuk mencegah race condition 401. WebSocket lifecycle dikelola melalui Zustand store dengan auto-reconnect.
Keamanan
Content Security Policy (CSP), XSS sanitization via DOMPurify, HTTP security headers, idle timeout auto-logout (60 menit), MFA enforcement, dan role-based route protection via middleware.