🚀 Project Portfolio: Enterprise AI Knowledge Portal (GYS Portal)

Docker, MERN, OpenAI API, Kouventa AI, Axios, Multer

📖 Project Overview

Mengembangkan platform AI terpusat untuk perusahaan (Garuda Yamato Steel) yang mengintegrasikan berbagai sumber data internal (Smartsheet, OneDrive, SharePoint) dengan kemampuan Large Language Models (LLM). Platform ini berfungsi sebagai "Single Source of Truth" di mana karyawan dapat berinteraksi dengan data perusahaan, menganalisa kontrak legal, dan memantau status proyek melalui antarmuka chat yang intuitif.

🛠️ Tech Stack

Frontend:
* React.js (Vite): Membangun antarmuka SPA yang responsif.
* Tailwind CSS: Styling modern untuk UI Chat, Sidebar, dan Admin Dashboard.
* React Markdown & Remark GFM: Merender respon AI menjadi format rapi.
*Axios: Manajemen request HTTP ke backend.

Backend:
* Node.js & Express.js: Server utama dengan arsitektur RESTful API.
* MongoDB & Mongoose: Database NoSQL untuk menyimpan User, Chat History, Konfigurasi Bot, dan Logs.
* Multer: Middleware untuk menangani upload file (PDF, Excel, Word, Images).
* Libraries: pdf-parse (PDF text extraction), mammoth (Word extraction), xlsx (Excel processing).

AI & Integrations:
* OpenAI API (GPT-4o): Engine utama untuk analisa teks dan reasoning.
* Kouventa AI (Flowise/Langflow Runner): Integrasi custom agent eksternal via API Runner.
* Smartsheet API: Mengambil data real-time status proyek dan budget.
* Microsoft Graph API: Integrasi ke OneDrive/SharePoint untuk pencarian dan pembacaan dokumen perusahaan.

DevSecOps & Infrastructure:
* GitLab CI/CD: Automasi pipeline untuk Build, Test, dan Deploy.
* Docker & Docker Compose: Containerization aplikasi.
* SonarQube: Static Application Security Testing (SAST) untuk menjaga kualitas dan keamanan kode (Code Quality).
* Trivy: Container Security Scanning untuk mendeteksi kerentanan pada image Docker.
* OWASP (ZAP/Dependency Check): Pemindaian kerentanan keamanan aplikasi web.

Monitoring & Observability:
* Prometheus: Pengumpulan metrik performa server dan aplikasi (Time-series DB).
* Grafana: Visualisasi dashboard real-time untuk memantau kesehatan sistem (CPU, Memory, Request Latency).

✨ Key Features (Fitur Unggulan)

1. Multi-Agent System (Modular Bots)

Sistem tidak hanya memiliki satu bot, melainkan banyak bot spesialis yang dapat dikonfigurasi secara dinamis:
General Assistant: Menggunakan OpenAI untuk tugas umum.
Project Analyst (Smartsheet Bot): Terhubung ke Smartsheet untuk menjawab pertanyaan seperti "Project mana yang overdue?" atau "Tampilkan dashboard IoT".
Document Search (OneDrive Bot): Mencari dan membaca isi file di folder OneDrive perusahaan tanpa user perlu membuka file satu per satu.
Legal/Sign Bot: (MekariSign) Untuk tracking status dokumen legal.

2. Dynamic Admin Dashboard (CMS for AI)

Membangun dashboard admin yang powerful untuk mengelola "otak" AI tanpa menyentuh kodingan (Hardcode-free):
* Bot Configuration: Admin bisa membuat bot baru, mengubah System Prompt (persona), dan mengatur API Key/Endpoint via UI.
* Starter Questions (Chips): Mengatur tombol pertanyaan cepat (quick reply) untuk setiap bot.
* User Management: Mengatur hak akses user dan bot apa saja yang boleh diakses user tertentu.
* Chat Monitoring & Export: Admin bisa memantau log percakapan dan melakukan export CSV bulanan untuk audit.

3. Advanced Document Analysis (RAG-Lite)

Mengimplementasikan fitur Retrieval-Augmented Generation sederhana namun efektif:

Universal File Reader: Mampu membaca dan menganalisa isi file PDF (hingga 200.000 karakter), Word, Excel, dan Gambar.
Context Injection: Menggabungkan data dari file yang diupload atau data dari API (Smartsheet/OneDrive) ke dalam prompt AI, sehingga AI bisa menjawab berdasarkan data faktual perusahaan.
Visual Data Extraction: Prompt engineering khusus agar AI mampu membaca data tabel/harga yang berupa screenshot di dalam dokumen Word.

4. Smart AI Routing

Mengembangkan AICoreService di backend yang bertindak sebagai "Otak Pusat":

  • Mendeteksi jenis bot yang dipilih user.
  • Menentukan apakah request harus dikirim ke OpenAI (dengan System Prompt lokal) atau ke Kouventa Runner (yang memiliki brain sendiri).
  • Menangani fallback konfigurasi antara Database dan Environment Variables (.env).

5. DevSecOps Pipeline & Observability Implementation

Proyek ini telah menerapkan prinsip Shift-Left Security dan otomatisasi penuh:

  • Automated CI/CD Pipeline: Setiap push kode ke GitLab akan memicu pipeline otomatis yang melakukan build image dan deployment, mengurangi human error.
  • Security Scanning (SAST & Container Scan): Sistem secara otomatis memindai kode menggunakan SonarQube untuk mendeteksi bugs/code smell, dan Trivy untuk memastikan Image Docker bebas dari kerentanan (CVE) sebelum di-deploy.
  • Vulnerability Assessment: Implementasi standar OWASP untuk memastikan aplikasi tahan terhadap ancaman keamanan umum.
  • Real-time Monitoring: Dashboard Grafana yang terhubung dengan Prometheus memberikan visibilitas penuh terhadap performa aplikasi, memudahkan deteksi anomali atau downtime secara instan.

💡 Challenges & Solutions (Studi Kasus Teknis)

Challenge 1: AI tidak bisa membaca Lampiran (Annex) di halaman belakang Kontrak PDF tebal.

Solution: Menemukan bahwa library parsing awal membatasi karakter. Saya meningkatkan limit buffer pembacaan teks menjadi 200.000 karakter di backend dan mengoptimalkan prompt agar AI fokus mencari data di bagian akhir dokumen.

Challenge 2: Integrasi dengan Platform AI Pihak Ketiga (Kouventa) yang memiliki format API berbeda.

Solution: Membuat Service Adapter khusus yang mengubah format pesan standar menjadi format JSON input_value / message yang dibutuhkan oleh endpoint Runner Kouventa, serta menangani sesi memori (threadId).

Challenge 3: Menampilkan format Markdown (Tabel/List) yang berantakan di Frontend.

Solution: Mengimplementasikan konfigurasi custom renderer pada komponen ReactMarkdown menggunakan Tailwind CSS untuk memastikan tabel, list, dan heading terformat dengan hierarki visual yang jelas dan profesional.

Challenge 4: Menjaga Keamanan Aplikasi tanpa Mengorbankan Kecepatan Deployment.

Solution: Mengintegrasikan GitLab CI/CD dengan tools keamanan (Trivy & SonarQube). Pipeline diatur agar otomatis gagal (fail) jika ditemukan kerentanan level "Critical", sehingga memastikan hanya kode yang aman dan berkualitas yang bisa masuk ke production, sambil tetap menjaga kecepatan rilis fitur.

📸 Visual Portfolio

Halaman Chat: Menunjukkan Sidebar History, Pilihan Bot, dan Input Textarea.

Deskripsi Gambar

Admin Dashboard: Menunjukkan form edit Bot dengan konfigurasi Smartsheet/Kouventa/OneDrive.

Deskripsi Gambar

Analisa Dokumen: Screenshot saat AI berhasil menjawab pertanyaan tentang "Total Price" dari file PDF/Word.

Deskripsi Gambar