feature/recruitment-portal-karir #1

Merged
dimas merged 5 commits from feature/recruitment-portal-karir into main 2026-10-11 07:11:15 +07:00
Owner

pull hrd portal karir once more

pull hrd portal karir once more
Portal Karir (portal/ -> public/karir, dibuka di /karir/) adalah frontend
tersendiri yang hanya berbicara dengan VMERP lewat API publik /api/karir
(routes/public.php, PublicGuard + throttle, tanpa sesi ERP):
- formulir 4 langkah (posisi, biodata + selfie + KTP + referensi, CV &
  sertifikat, pengalaman kerja) dengan transisi antar-langkah
- draf otomatis di IndexedDB termasuk berkas; pulih setelah reload
- konfirmasi sukses + email konfirmasi dalam bahasa pelamar
- dua bahasa (ID/EN); label pilihan & pesan validasi diterjemahkan server
- latar foto yard kabur dengan zoom in-out perlahan otomatis
- honeypot, batas waktu isi minimum, rate limit per IP, satu email satu
  lamaran per lowongan, pemeriksaan MIME isi berkas di disk privat

Backend HRD:
- Job Vacancy (lowongan dari Master Jabatan, terbit ke portal)
- Applicant Register: detail pelamar, Penilaian (nilai 1-10, rekomendasi,
  catatan, riwayat), Verifikasi, dan Jadi Karyawan yang menyalin biodata,
  pengalaman, dan berkas ke Employee Database sebagai karyawan aktif
- notifikasi ke HRD saat lamaran baru masuk

Bahasa modul HRD diselaraskan: kalimat Indonesia diterjemahkan di
lang/en.json, nama modul berkunci istilah PRD diterjemahkan di
lang/id.json, dan nilai enum (tipe kepegawaian, status karyawan, status
berlaku) tampil dengan label bahasa yang dipilih tanpa mengubah nilai
tersimpan.

Perbaikan lain: tombol Tambah di daftar generik hanya tampil bila route
create ada (sebelumnya galat untuk super admin di Applicant Register).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Aplikasi frontend tersendiri berbasis Three.js tanpa backend: sumber di
yard/, hasil build di public/yard3d/ ikut di-commit sehingga server tidak
perlu Node.js. Data fasilitas di yard/src/data, dikalibrasi terhadap foto
udara yard; mendukung hover, klik, kamera terbang, label, kartu info,
tur, dan mode malam.

- vite.yard.config.js + skrip npm build:yard / dev:yard
- dependency three
- konfigurasi server pengembangan yard3d di .claude/launch.json

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Halaman detail lowongan (/karir/lowongan/{slug}):
- dibuka di tab baru dari tombol "Lihat detail" di setiap kartu lowongan
- tata letak portrait: header iklan, logo VME, ringkasan pelamar & batas
  waktu, tombol Lamar Sekarang, deskripsi/kualifikasi/benefit berbutir
- tombol "Salin tautan untuk dibagikan" dengan transisi ke "Tautan
  tersalin!" (fallback execCommand bila Clipboard API tidak tersedia)
- meta Open Graph diisi server per lowongan agar tautan tampil sebagai
  kartu pratinjau di WhatsApp/LinkedIn; ?lang=en untuk versi Inggris
- lowongan tutup tetap dapat dibuka dengan keterangan; draft tidak terlihat

Header iklan lowongan (backend Job Vacancy):
- field Gambar Header Iklan dengan pratinjau 5:1 dan cek ukuran minimum
- dipotong tengah & dikecilkan otomatis ke 1000x200 JPEG
  (VacancyHeaderImage); unggahan baru menggantikan header lama
- disajikan publik lewat /api/karir/lowongan/{slug}/header dengan cache
  panjang, hanya untuk lowongan yang terbit

Penyempurnaan formulir lamaran:
- tombol Kembali/Lanjut juga di bagian atas form
- jumlah pelamar per lowongan di langkah 1
- ikon untuk pilihan Laki-laki / Perempuan
- blur latar dikurangi; footer berwarna putih

Hasil build portal pindah dari public/karir ke public/karir-app: folder
bernama sama dengan route membuat server bawaan PHP memotong awalan path
sehingga /karir/lowongan/... tidak ditemukan. Seluruh halaman /karir kini
disajikan Laravel.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Kartu lowongan di langkah 1:
- gambar header lowongan menjadi latar area judul (foto yard bila belum
  ada), digelapkan 40% dengan gradasi dari kiri agar teks terbaca
- judul posisi putih tebal huruf besar; info lain putih, tanggal tutup
  <= 7 hari berwarna kuning; status terpilih tetap jelas di atas gambar

Perbaikan tampilan ponsel:
- footer tidak lagi menimpa tombol Next / Lamar Sekarang yang menempel di
  bawah layar: footer di lapisan bawah konten dan ruang bilah tombol
  dipindah ke footer (termasuk safe-area)
- kolom langkah form dibatasi minmax(0, 1fr) sehingga kartu lowongan dan
  tombol See details tidak melebar keluar form di layar 375 px

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Kartu lowongan di langkah 1 kini hanya berisi toggle "Lihat deskripsi &
kualifikasi" di bawah gambar. Tombol "Lihat detail" (tab baru) dipindah
ke bagian paling bawah panel yang dibuka, setelah benefit.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
dimas merged commit ff49ef31d2 into main 2026-10-11 07:11:15 +07:00
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
dimas/vmerp!1
No description provided.