Laporan Pengembangan Sistem & Timeline

Timeline Pengembangan Portal AAI-PN

  • Tahap 1 (Inisiasi): Penyiapan struktur arsitektur Domain-Driven Design (DDD) dan integrasi template TALL stack.
  • Tahap 2 (Keanggotaan): Pembuatan fitur registrasi anggota, validasi form berjenjang, dan dasbor portal pengguna mandiri.
  • Tahap 3 (Sistem Inti): Pengalihan dari panel admin bawaan (Filament) menuju kustomisasi enterprise (Livewire Executive Dashboard), serta pengelolaan hirarki Menu dan Konten Dinamis (CMS).
  • Tahap 4 (Autentikasi Lanjut): Penambahan fitur Google SSO (Single Sign-On) dan integrasi tombol pendaftaran cepat tanpa password.
  • Tahap 5 (Otomatisasi & Deployment): Implementasi CI/CD menggunakan GitHub Actions dengan metode kompresi lokal dan ekstraksi server (menghindari limitasi rsync di cPanel) untuk update yang mulus dan terjamin amannya file .env & storage.

Dokumentasi Teknis Utama (README)

# Asosiasi Arsiparis Indonesia - Pengurus Nasional (AAI-PN)

Sistem Informasi Terpadu dan Portal Resmi Pengurus Nasional Asosiasi Arsiparis Indonesia (AAI-PN). Aplikasi ini dibangun dengan menggunakan framework Laravel, Livewire, dan Tailwind CSS.

Fitur Utama

  • Portal Publik & CMS: Berita, artikel, agenda, galeri, FAQ, dan manajemen konten (halaman dinamis).
  • Manajemen Keanggotaan & SSO: Pendaftaran anggota baru dengan dukungan Login/Registrasi via Google (Single Sign-On), verifikasi berjenjang, dan penerbitan Kartu Tanda Anggota (KTA) digital.
  • Sertifikasi LSP: Pengelolaan skema sertifikasi, pendaftaran uji kompetensi, penilaian asesor, dan penerbitan sertifikat profesi.
  • Manajemen Event & Diklat: Pendaftaran acara, seminar, diklat, pencatatan kehadiran (QR Code), dan penerbitan e-sertifikat kegiatan.
  • E-Voting & Pemilu: Sistem pemilihan ketua dan pengurus yang aman dan transparan secara online.
  • E-Office & Tata Naskah: Penomoran otomatis dan pengelolaan surat masuk serta surat keluar secara digital.
  • Keuangan & Iuran: Pembayaran iuran keanggotaan dan verifikasi bukti bayar.

Persyaratan Sistem

  • PHP 8.2 atau lebih baru
  • Composer
  • Node.js (v20) & NPM
  • Database (MySQL/PostgreSQL/SQLite)

Panduan Instalasi (Development Lokal)

  1. Clone Repository

    git clone https://github.com/amd890/aai-pn.git
    cd aai-pn
    
  2. Install Dependencies

    composer install
    npm install
    
  3. Konfigurasi Environment & Google SSO Copy file .env.example menjadi .env lalu sesuaikan konfigurasi database.

    cp .env.example .env
    php artisan key:generate
    

    Untuk mengaktifkan fitur Login dengan Google, pastikan Anda menambahkan baris berikut di file .env:

    GOOGLE_CLIENT_ID="ISI_DENGAN_CLIENT_ID_ANDA.apps.googleusercontent.com"
    GOOGLE_CLIENT_SECRET="ISI_DENGAN_SECRET_ANDA"
    GOOGLE_REDIRECT_URI="http://localhost:8000/auth/google/callback" # Sesuaikan dengan URL lokal Anda
    
  4. Migrasi & Seeding Database Aplikasi dilengkapi dengan dummy data dan konfigurasi dasar (Roles, Permissions, Menu) menggunakan seeder.

    php artisan migrate:fresh --seed
    
  5. Compile Assets (Tailwind & Vite)

    npm run build
    # atau untuk auto-reload saat development: npm run dev
    
  6. Jalankan Server

    php artisan serve
    

Otomatisasi Deployment (CI/CD GitHub Actions)

Repositori ini telah dikonfigurasi untuk melakukan Continuous Deployment (CD) secara otomatis ke server cPanel (dev.arsiparis.org) setiap kali ada push atau merge ke branch main.

Mekanisme Deployment:

  1. GitHub Actions akan mem-build aset lokal dan melakukan kompresi (tar.gz) tanpa mengikutsertakan .env maupun storage/.
  2. File arsip dikirim secara aman menggunakan SCP.
  3. Ekstraksi dan pembersihan cache dieksekusi secara jarak jauh via SSH.

Catatan: Pastikan rahasia (Secrets) SSH_HOST, SSH_PORT, SSH_USERNAME, dan SSH_PRIVATE_KEY sudah diatur di menu Settings > Secrets > Actions repositori GitHub.

Kredensial Default (Testing / Seeder)

Semua akun hasil seeding di bawah ini menggunakan kata sandi yang sama:

🔑 Password: password

  • Sistem & Admin:
    • superadmin@aai.or.id (Super Admin - Akses penuh)
    • admin@aai.or.id (Administrator Web/Portal)
  • Pengurus Pusat:
    • ketum@aai.or.id (Ketua Umum)
    • sekjen@aai.or.id (Sekretaris Jenderal)
    • bendahara@aai.or.id (Bendahara)
  • Anggota Umum:
    • fauzi.arsip@gmail.com
    • budi.santoso@bca.co.id

Lisensi

Hak Cipta © Pengurus Nasional Asosiasi Arsiparis Indonesia. All rights reserved.