![Logo Aplikasi](storage/perusahaan/fbrnew.png)
# 📘 Dokumentasi Aplikasi HR
Selamat datang di dokumentasi aplikasi HR (Human Resource) berbasis Laravel. Aplikasi ini mencakup berbagai modul HR yang dapat disesuaikan dengan kebutuhan perusahaan.

---

## 🚀 Fitur Utama

* **Manajemen Karyawan:** Kelola data lengkap karyawan
* **Absensi & Shift:** Hadir via selfie & shift dinamis
* **Cuti & Reimbursement:** Pengajuan & approval digital
* **Laporan PDF & Excel:** Rekap data dengan cepat
* **Payroll & Slip Gaji:** Proses gaji terintegrasi
* **Role-Based Access Control (RBAC):** Hak akses fleksibel
* **KPI & Evaluasi:** Penilaian kinerja per individu

---

## 🧩 Daftar Modul & Fungsionalitas

### 👤 Autentikasi & Profil

* Login, Register, Verifikasi Email
* Pengelolaan profil pengguna (`/profile`)
* Middleware: `auth`, `verified`

---

### 📊 Dashboard

* Statistik utama: `/dashboard`
* Statistik berdasarkan:

  * Tingkat jabatan: `/dashboard-joblevel`
  * Status karyawan: `/dashboard-employeestatus`
  * Gender: `/dashboard-gender`

---

### 👥 Manajemen Karyawan

* CRUD data karyawan (`/employee`)
* Impor data karyawan Excel (`/import-employee`)
* Unduh template impor (`/download-employee-template`)

---

### 🧾 Kontrak Kerja

* Kelola kontrak karyawan (`/contract`)
* Persetujuan & penolakan kontrak
* Lihat PDF kontrak: `/contract/view/{id}`

---

### 📅 Kalender & Jadwal

* Kalender perusahaan (`/calendar`)
* Shift kerja (`/shift`)
* Jadwal absensi (`/schedule`)
* Lokasi kehadiran (`/location`)

---

### ⏱️ Absensi

* Absensi selfie (`/selfie`)
* Scan kehadiran (`/scan`)
* Kelola absensi (`/attendance`)

---

### 🕒 Pergeseran Shift

* Pengajuan shift (`/requestshift`)
* Persetujuan / Penolakan
* Lihat shift berdasarkan karyawan

---

### 📩 Permohonan Umum

* Permintaan umum (`/requests`)
* Persetujuan & penolakan cuti, izin, dll.
* Inbox untuk berbagai permintaan:

  * Timeoff
  * Lembur
  * Pergantian shift
  * KPI

---

### ⌛ Lembur

* Permintaan lembur (`/overtime`)
* Proses approval / reject

---

### 📑 KPI (Key Performance Indicator)

* Kelola KPI (`/kpi`)
* Approval dan reject
* Cetak PDF KPI: `/kpi/view/{id}`
* Lihat data KPI berdasarkan karyawan
* Referensi:

  * Kategori KPI
  * Indikator KPI
  * Potensi KPI

---

### 💵 Payroll

* Proses penggajian (`/payroll`)
* Hitung dan tampilkan gaji per karyawan (`/payroll/{payroll}/salary`)
* Cetak slip gaji PDF: `/payroll/view/{id}`
* Aksi bulk:

  * Kirim slip secara massal
  * Approve secara massal

---

### 💰 Kompensasi Lain

* **Fee Pegawai**: `/employeefee`
* **Reimbursement**: `/reimbursement`
* **Pinjaman (Loan)**: `/loan`

Semua memiliki fitur Approve / Reject.

---

### 🏢 Struktur Organisasi

* Perusahaan (`/company`)
* Cabang (`/branch`)
* Jabatan (`/jobposition`)
* Level Jabatan (`/joblevel`)
* Kelas Jabatan (`/gradeclass`)
* Organisasi (`/organization`)

---

### 🏥 BPJS

* Manajemen data BPJS karyawan (`/bpjs`)

---

### 🕵️ Audit & Aktivitas

* Riwayat audit aktivitas pengguna (`/audits`)

---

### 🗓️ Annual Leave

* Generate cuti tahunan otomatis (`/annualleaves/generate`)

---

### 🧩 Role & Akses

* Role Management (`/roles`)
* Berikan permission ke role tertentu
* Hapus role

---

### 👥 Manajemen Pengguna

* User Management (`/users`)
* CRUD + hapus pengguna

---

## 📦 Utilitas Tambahan

* Utils untuk KPI (kategori, indikator, potensi): `/kpi-utils/*`
* Update lokasi absensi + assign karyawan: `/location/update/{id}`

---

## 🔐 Middleware

* `auth`: semua route utama terlindungi
* `verified`: dashboard hanya bisa diakses oleh user terverifikasi

---

## 📎 API Publik (Tanpa Login)

* PDF slip gaji: `/payroll/view/{id}`

---

## 📞 Kontak & Bantuan

Untuk pertanyaan teknis atau kontribusi, hubungi tim pengembang melalui:
📧 [humaedi.medi99@gmail.com](mailto:humaedi.medi99@gmail.com)

---
