SQS (Sistem Quiz Semalam) adalah platform manajemen kuis berbasis web modern yang dibangun menggunakan framework Laravel 10. Aplikasi ini dirancang untuk merevolusi cara pembuatan dan pengerjaan kuis dengan integrasi Kecerdasan Buatan (AI), sistem pembayaran digital, dan verifikasi akademik otomatis untuk pembelajaran yang interaktif dan cepat.
- Generasi Soal Otomatis (AI): Membuat kuis secara instan dari teks atau topik menggunakan Google Gemini AI.
- Analisis Hasil Cerdas: Memberikan wawasan mendalam (Diagnostik, Remedial, Full Insight) terhadap hasil kuis siswa menggunakan AI.
- Sistem Membership Berjenjang: Mendukung level pengguna (Guest, User, Pro, Premium, Academic) dengan batasan akses yang berbeda.
- Gateway Pembayaran: Integrasi mulus dengan Midtrans untuk langganan akun Premium/Pro.
- Verifikasi Akademik: Sistem upload dan validasi dokumen untuk status pelajar/mahasiswa (Academic Plan).
- Manajemen Kuis Lengkap: Mendukung tipe soal Pilihan Ganda dan Essay dengan pengaturan timer dan durasi.
- Leaderboard Global: Papan peringkat real-time untuk memacu kompetisi antar pengguna.
- Autentikasi Sosial: Login cepat dan aman menggunakan akun Google.
- Backend: Laravel 10 (PHP ^8.2)
- Frontend: Blade Templates, Tailwind CSS, Alpine.js
- Database: PostgreSQL
- AI Service: Google Gemini API (Generative Language)
- Payment Gateway: Midtrans (Snap API)
- PDF Processing: smalot/pdfparser (untuk ekstrak materi dari PDF)
- Asset Bundler: Vite
Sebelum memulai instalasi, pastikan lingkungan pengembangan Anda memiliki:
- PHP >= 8.2 (Pastikan ekstensi pdo_pgsql dan pgsql aktif)
- Composer
- Node.js & NPM
- PostgreSQL Database
- Git
Ikuti langkah-langkah berikut untuk menjalankan proyek di komputer lokal Anda:
-
Clone Repositori
git clone [https://github.com/username/sqs1.git\](https://github.com/username/sqs1.git)
cd sqs1 -
Install Dependensi Backend & Frontend
composer install
npm install -
Konfigurasi Environment
Salin file konfigurasi contoh:
cp .env.example .env -
Generate Application Key & Storage Link
Penting untuk keamanan sesi dan akses file publik (gambar/dokumen verifikasi):
php artisan key:generate
php artisan storage:link -
Konfigurasi Database & API Services
Buka file .env dan sesuaikan pengaturan berikut agar sesuai dengan kredensial Anda:
APP_URL=http://localhost:8000 # Ganti dengan URL Ngrok jika menggunakan fitur Payment/Google Auth# Konfigurasi Database (PostgreSQL)
DB_CONNECTION=pgsql
DB_HOST=127.0.0.1
DB_PORT=5432
DB_DATABASE=nama_database_postgres_anda
DB_USERNAME=postgres
DB_PASSWORD=password_postgres_anda# Konfigurasi Midtrans (Pembayaran)
MIDTRANS_SERVER_KEY=isi_server_key_midtrans
MIDTRANS_CLIENT_KEY=isi_client_key_midtrans
MIDTRANS_IS_PRODUCTION=false
MIDTRANS_IS_SANITIZED=true
MIDTRANS_IS_3DS=true# Konfigurasi Google Gemini AI
GEMINI_API_KEY=isi_api_key_google_ai_studio# Konfigurasi Google OAuth (Social Login)
GOOGLE_CLIENT_ID=isi_client_id_google_cloud
GOOGLE_CLIENT_SECRET=isi_client_secret_google_cloud
GOOGLE_REDIRECT_URI="${APP_URL}/auth/google/callback" -
Migrasi Database
Membuat tabel yang diperlukan (Users, Quizzes, Transactions, dll) dan data awal:
php artisan migrate --seed -
Build Aset Frontend
Kompilasi file CSS dan JS untuk production (agar tampilan tidak rusak di mobile/ngrok):
npm run build
Opsi 1: Lokal Sederhana
Gunakan perintah bawaan Laravel:
php artisan serve
Akses di: http://localhost:8000
Opsi 2: Lokal Publik (Wajib untuk Payment & Google Login)
Jika Anda ingin menguji fitur Midtrans atau Login Google, gunakan Ngrok agar bisa menerima callback:
-
Jalankan server Laravel:
php artisan serve --port=8000 -
Jalankan Ngrok di terminal baru:
ngrok http 8000 -
Jangan lupa update APP_URL di .env dengan URL Ngrok yang muncul.