Triton Denpasar

Portal Dokumentasi Pengembang

Panduan Sistem & Referensi API Triton

Kembali ke Beranda Production V2 (Bahasa Indonesia)
Triton Docs / Memulai

Ikhtisar & Stack Teknologi

Selamat datang di portal spesifikasi teknis platform tryout komputer basis web (CBT) Triton Denpasar. Dokumentasi ini disusun sebagai manual lengkap untuk maintainer, arsitek sistem, dan pengembang baru.

💡
Tentang Platform Triton Denpasar
Platform Triton Denpasar adalah sistem Computer Based Test (CBT) modern yang dioptimalkan untuk meminimalkan kecurangan ujian. Platform ini membagi data operasional tryout berdasarkan tiga jenjang sekolah (**SD, SMP, SMA**) menggunakan arsitektur microservices terisolasi (database per-jenjang terpisah) dengan satu entry-point gateway yang aman.

Core Technology Stack

Frontend Client

Next.js 14 App Router

Ditulis menggunakan TypeScript dan Tailwind CSS. Menggunakan KaTeX / React-KaTeX untuk render formula matematika kompleks secara instan pada browser client.

Backend API Services

Express.js Microservices

Terdiri atas 6 layanan node terpisah yang berkomunikasi menggunakan API RESTful, terikat dengan validasi skema runtime masukan ketat menggunakan pustaka Zod.

Database & Caching

PostgreSQL & Redis

Pemisahan data multi-database PostgreSQL untuk isolasi level sekolah. Redis digunakan oleh `auth-service` untuk manajemen penyimpanan session cookie (`express-session`).

Pemetaan Port Layanan Lokal

Port Nama Layanan Database PostgreSQL Tanggung Jawab Utama
4000 api-gateway - Single Entry Point, routing proxy (menggunakan http-proxy-middleware), verifikasi cookie session.
4001 auth-service db_auth Autentikasi kredensial (bcrypt hash), registrasi pengguna, manajemen session-state cookie dan integrasi Redis.
4002 user-service db_user Manajemen data profil pengguna lengkap (Guru/Siswa), master data registrasi kelas & mapel, serta pencatatan audit log platform.
4005 sd-service db_sd Bank Soal & Tryout, runner ujian CBT, serta kalkulasi nilai ujian otomatis khusus jenjang SD (Sekolah Dasar).
4006 smp-service db_smp Bank Soal & Tryout, runner ujian CBT, serta kalkulasi nilai ujian otomatis khusus jenjang SMP (Sekolah Menengah Pertama).
4007 sma-service db_sma Bank Soal & Tryout, runner ujian CBT, serta kalkulasi nilai ujian otomatis khusus jenjang SMA (Sekolah Menengah Atas).
3000 frontend - User interface client Next.js (Dashboard Admin, Guru, Siswa, dan Exam Room).

Visualisasi Arsitektur Aliran Data

ARCHITECTURE DIAGRAM
[ Next.js Frontend Client (Port 3000) ]
                  │
                  ▼ (Request HTTP API)
      [ API Gateway (Port 4000) ]
        ── Auth Verifikasi cookie triton.sid via Port 4001
        ── Injeksi HTTP headers: x-user-id, x-user-role, x-user-class
                  │
        ┌─────────┼─────────┬──────────────────────┐
        ▼         ▼         ▼                      ▼
  [auth-serv] [user-serv] [sd-serv]            [sma-serv]
   Port 4001   Port 4002   Port 4005   ...      Port 4007
        │         │         │                      │
     (Redis)      │         │                      │
  Session cache   ▼         ▼                      ▼
               db_user    db_sd                  db_sma
             (Postgres) (Postgres)             (Postgres)