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.