Skip to content

mirsydfchrynto/CBT-System

Repository files navigation

🛡️ Secure CBT Master - Web Admin Panel

Next.js 16 Firebase 12 Tailwind 4 License: MIT

Enterprise-Grade Computer Based Test (CBT) Ecosystem. Dirancang untuk stabilitas tinggi, monitoring real-time, dan mitigasi kecurangan pada skala 100+ peserta ujian secara simultan.


🚀 Key Features

  • Real-time Monitoring Dashboard: Pantau status ujian, durasi tersisa, dan indikasi kecurangan siswa secara langsung (Zero-latency Firestore Listeners).
  • Hybrid Data Integrity: Mekanisme Auto-Save setiap 60 detik untuk menjaga integritas jawaban saat koneksi tidak stabil.
  • RBAC (Role Based Access Control): Pemisahan otoritas antara Admin Owner (Full Access) dan Admin Pengajar (Exam Management).
  • Pro QR Handshake Protocol: Integrasi sinkronisasi perangkat mobile melalui rotasi token QR 5 detik untuk keamanan akses.
  • Rich Content Engine: Dukungan rendering rumus Matematika (KaTeX), Rich Text (Quill), dan Media (Base64 optimized).
  • Data Analytics: Ekspor hasil ujian ke format Excel (.xlsx) dengan analisis item soal secara otomatis.

🛠️ Tech Stack

  • Frontend: Next.js 16 (App Router), React 19, TypeScript.
  • Styling: Tailwind CSS 4, Framer Motion (Liquid-Glass UI).
  • Backend: Firebase (Firestore, Auth, Hosting).
  • Auth Strategy: Auth0 Enterprise Integration.
  • Testing: Jest (Unit), Playwright (E2E), Firestore Security Rules Testing.

🏗️ Architecture & Flow

graph TD
    A[Admin Dashboard] -->|Real-time Sync| B(Firestore)
    B -->|Broadcast Status| C[Student Mobile App]
    C -->|Auto-Save 60s| B
    D[QR Handshake] -->|Token Rotation| A
    D -->|Auth Verify| C
Loading

🚦 Getting Started

Prerequisites

  • Node.js 18.x or higher
  • Firebase Project Credentials

Installation

  1. Clone the repository
    git clone https://github.com/mirsydfchrynto/CBT-System.git
  2. Install dependencies
    npm install
  3. Set up environment variables (.env.local)
    NEXT_PUBLIC_FIREBASE_API_KEY=your_key
    AUTH0_SECRET=your_secret
  4. Run development server
    npm run dev

🧪 Quality Assurance

Proyek ini menerapkan standar pengujian ketat untuk memastikan zero-downtime saat ujian berlangsung:

  • Unit Testing: npm test
  • E2E Testing: npx playwright test
  • Security Audit: Verifikasi Firestore Rules & Auth0 Role Validation.

👨‍💻 Author

M. Irsyad Fachryanto - Fullstack Architect

About

Fortress-Level Exam System: Anti-Cheat Handshake Protocol & Hybrid Synchronization.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors