# Panduan Cepat — Pemasangan di XAMPP

## 1. Salin folder

Taruh folder `simap` di `htdocs`:

```
/Applications/XAMPP/xampppfiles/htdocs/simap/     (macOS)
C:\xampp\htdocs\simap\                            (Windows)
```

## 2. Buat basis data

Buka phpMyAdmin, lalu jalankan berurutan lewat tab **Import**:

1. `database/01_schema.sql`
2. `database/02_seed.sql`
3. `database/03_game_konten.sql`
4. `database/04_data_contoh.sql`  *(data contoh, boleh dilewati)*
5. `database/05_pembayaran_yayasan.sql`

Berkas pertama membuat basis data `simap_db` sendiri.

## 3. Buka aplikasi

```
http://localhost/simap/web/public/login
```

Alamatnya terdeteksi otomatis, jadi tidak perlu mengubah konfigurasi apa pun
untuk pemasangan di subfolder.

**Kata sandi semua akun demo: `simap123`**

| Akun | Peran | Catatan |
|---|---|---|
| `admin` | Superadmin | tidak terhubung ke data guru |
| `kepsek` | Kepala sekolah | bisa menyusun dan menyetujui perangkat ajar |
| `guru` | Wali kelas | **pakai ini untuk demo perangkat ajar** |
| `gurumapel` | Guru mata pelajaran | |
| `tu` | Tata usaha | surat, inventaris, keuangan |
| `perpus` | Pustakawan | sirkulasi dan literasi |
| `rafi`, `aisyah` | Siswa | e-learning, ujian, permainan |
| `081311110001` | Wali murid | untuk aplikasi Flutter |
| `yayasan` | Pengurus yayasan | dasbor pemantauan kinerja |

## Bila muncul 404

Aktifkan `mod_rewrite`:

1. Buka `xamppfiles/etc/httpd.conf` (macOS) atau `apache/conf/httpd.conf` (Windows)
2. Hapus tanda `#` pada baris `LoadModule rewrite_module ...`
3. Pastikan `AllowOverride All` pada blok `<Directory ".../htdocs">`
4. Mulai ulang Apache dari panel XAMPP

## Bila gambar tidak muncul

Pastikan folder `web/storage` dapat ditulis:

```bash
chmod -R 775 web/storage
```

## Urutan demo yang disarankan

1. **Masuk sebagai `guru`** — beranda menampilkan jadwal dan tugas hari ini
2. **Perangkat Ajar → Modul Ajar → Susun baru** — tekan tombol AI bila kunci
   API sudah diisi; tanpa kunci, isi manual
3. **Kehadiran → Papan Absensi** — buka di tab baru, layar untuk gerbang
4. **Masuk sebagai `rafi`** — Arena Belajar, mainkan Adu Cepat Hitung
5. **Ujian** — perlihatkan mode layar penuh dan peringatan saat pindah tab
6. **Masuk sebagai `kepsek`** — E-Rapor → Susun Rapor → Cetak
7. **Masuk sebagai `tu`** — Keuangan, tagihan SPP dan tunggakan
8. **Masuk sebagai `yayasan`** — dasbor pemantauan: kehadiran per kelas,
   ketuntasan belajar, kelengkapan administrasi guru, penerimaan iuran.
   Tulis satu catatan pemantauan, lalu masuk sebagai `kepsek` untuk
   memperlihatkan tindak lanjutnya
9. **Alur pembayaran** — di aplikasi wali murid: pilih tagihan, dapat kode
   bayar, unggah bukti. Lalu masuk sebagai `tu` → Verifikasi Pembayaran →
   konfirmasi, dan perlihatkan tagihan berubah menjadi lunas

Yang paling meyakinkan biasanya: papan absensi, cetak rapor, dan
pengawasan ujian.

## Merakit mesin RFID

**Sebelum memasang firmware, jalankan dulu `device/uji_perangkat/uji_perangkat.ino`.**
Sketch itu memeriksa LCD, RTC, buzzer, RDM6300, WiFi, dan sambungan server
satu per satu, lalu melaporkan mana yang bermasalah beserta cara
memperbaikinya. Jauh lebih mudah mencari satu kabel salah di situ daripada
setelah firmware penuh berjalan.

Panduan lengkap ada di `device/simap_rdm6300/PEMASANGAN.md`, termasuk cara
mengenali pin TX pada papan RDM6300 yang tidak bercetak nama, dan cara
memasang tanpa LED.

Dua hal yang paling sering menggagalkan perakitan:

1. **Jalur TX perlu pembagi tegangan.** Keluaran modul 5V, pin ESP32 hanya
   tahan 3,3V. Pakai resistor 1kΩ dan 2kΩ.
2. **Format nomor kartu harus sama** antara pembaca USB dan mesin gerbang.
   Uji dengan satu kartu sebelum memesan banyak.
