# E-recruitment Web sederhana untuk manajemen rekrutmen karyawan: data pelamar, status rekrutmen, berkas (CV, hasil test, portofolio), dan kirim WhatsApp memakai template pesan formal — termasuk reminder jadwal interview. Aplikasi ini **murni HTML + CSS + JavaScript** (tanpa backend, tanpa build tool). Cukup buka `index.html` di browser. ## Cara Pakai 1. Buka `index.html` di browser (Chrome/Edge/Firefox). 2. Klik **+ Tambah Pelamar**, isi data, simpan. 3. Klik **Reminder Pelamar** untuk mengirim reminder jadwal interview ke pelamar (atau **Reminder Pewawancara** dari modal Detail untuk mengingatkan pewawancara). 4. Atur nama HR & perusahaan di **Pengaturan**. 5. Edit template pesan di **Template Pesan**. 6. **Export** data secara berkala sebagai cadangan (file JSON). ## Halaman | Halaman | Fungsi | |---|---| | `index.html` | Daftar pelamar, ringkasan, form, detail, reminder, berkas | | `template.html` | Kelola template pesan WhatsApp | | `berkas.html` | Lihat semua berkas pelamar | | `pengaturan.html` | Data perusahaan/HR, status, export/import/reset | ## Status Rekrutmen Baru → Screening → Interview → Diterima / Ditolak / Gagal–Tidak Melanjutkan. Status bisa diubah/ditambah di halaman Pengaturan. ## Berkas (CV / Hasil Test / Portofolio) Dikelola di halaman **Berkas** (juga tersedia di modal **Detail** pelamar): 1. Klik **Upload** → pilih file (PDF/DOC/gambar, maks. 5 MB), atau 2. Klik **Link** → tempel URL (Google Drive, dll). 3. **Lihat** untuk membuka, **Hapus** untuk membuang. Penyimpanan: **IndexedDB**. Jika IndexedDB diblokir (mis. dibuka via `file://`), berkas otomatis disimpan di localStorage sebagai base64 dengan batas 2 MB per file. ## Reminder Ada dua tombol reminder (keduanya berisi preview sebelum dikirim): - **Reminder Pelamar** — dikirim ke nomor pelamar (tombol di tabel & modal Detail). - **Reminder Pewawancara** — dikirim ke nomor pewawancara (tombol di modal Detail). ### Menyiapkan Reminder Pewawancara 1. Isi **Nama pewawancara** dan **No. WA pewawancara** saat menambah/mengedit pelamar. 2. Buka **Detail** pelamar → klik **Reminder Pewawancara**. 3. Pilih template jenis *Reminder Interview (Pewawancara)* → pesan berisi data kandidat + jadwal akan terbuka di WhatsApp pewawancara. Untuk mengubah isi pesan reminder, edit template di menu **Template Pesan**. ## Export & Import Excel Data pelamar bisa di-export ke **.xlsx** dan di-import kembali dari **.xlsx / .xls / .csv**. - **Export Excel** — tombol di toolbar halaman Pelamar, atau di Pengaturan. - **Import Excel** — pilih file; baris dengan Nama & No WhatsApp valid akan ditambahkan. Baris tidak valid dilewati dan dilaporkan. - **Unduh Template Excel** — tombol di halaman Pengaturan untuk format kolom yang benar. Kolom yang didukung: `Nama`, `No WhatsApp`, `Email`, `Posisi`, `Status`, `Sumber`, `Domisili`, `Gaji Ekspektasi`, `Tanggal Melamar`, `Catatan`, `Tanggal Interview`, `Jam Interview`, `Metode`, `Lokasi/Link`, `Pewawancara`, `No WA Pewawancara`. Nama kolom tidak harus persis — ada alias (mis. `No HP`, `No WA`). Catatan tanggal: format `YYYY-MM-DD` paling aman; format `dd/mm/yyyy` juga dikenali. ## Placeholder Template `{{nama}}`, `{{posisi}}`, `{{perusahaan}}`, `{{status}}`, `{{tanggal}}`, `{{hari}}`, `{{jam}}`, `{{metode}}`, `{{lokasi}}`, `{{pewawancara}}`, `{{hr}}`, `{{jabatan_hr}}` ## Penyimpanan Data - Data utama: **localStorage** browser. - Berkas upload: **IndexedDB** (maks. 5 MB per file; fallback localStorage 2 MB). - Backup: **Export/Import JSON** (lengkap, termasuk berkas) atau **Export/Import Excel** (data pelamar saja). > Data tersimpan di browser. Bersihkan cache berisiko menghapus data — selalu > lakukan **Export** berkala, atau buka lewat server lokal agar konsisten. ## Menjalankan via server lokal (opsional, disarankan) ```bash # Python python -m http.server 8000 # Node npx serve . ``` Lalu buka `http://localhost:8000`. Dokumen spesifikasi lengkap ada di `agen.md`.