Skip to content

SamantasLair/SQS

Repository files navigation

SQS - Sistem Quiz Semalam

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.

🚀 Fitur Utama

  • 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.

🛠️ Teknologi yang Digunakan

  • 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

📋 Prasyarat

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

⚙️ Panduan Instalasi

Ikuti langkah-langkah berikut untuk menjalankan proyek di komputer lokal Anda:

  1. Clone Repositori
    git clone [https://github.com/username/sqs1.git\](https://github.com/username/sqs1.git)
    cd sqs1

  2. Install Dependensi Backend & Frontend
    composer install
    npm install

  3. Konfigurasi Environment
    Salin file konfigurasi contoh:
    cp .env.example .env

  4. Generate Application Key & Storage Link
    Penting untuk keamanan sesi dan akses file publik (gambar/dokumen verifikasi):
    php artisan key:generate
    php artisan storage:link

  5. 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"

  6. Migrasi Database
    Membuat tabel yang diperlukan (Users, Quizzes, Transactions, dll) dan data awal:
    php artisan migrate --seed

  7. Build Aset Frontend
    Kompilasi file CSS dan JS untuk production (agar tampilan tidak rusak di mobile/ngrok):
    npm run build

▶️ Menjalankan Aplikasi

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:

  1. Jalankan server Laravel:
    php artisan serve --port=8000

  2. Jalankan Ngrok di terminal baru:
    ngrok http 8000

  3. Jangan lupa update APP_URL di .env dengan URL Ngrok yang muncul.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages