SAKAM adalah aplikasi web full-stack yang dibangun sebagai studi kasus dan portofolio untuk menunjukkan keahlian dalam ekosistem Laravel dan TALL Stack. Aplikasi ini menyediakan solusi lengkap dan modern untuk manajemen kehadiran karyawan secara digital, mulai dari absensi harian, manajemen cuti, hingga otomatisasi proses HR.
Aplikasi ini dirancang dengan fitur-fitur komprehensif yang mencerminkan kebutuhan bisnis di dunia nyata:
-
🔐 Autentikasi & Otorisasi Berbasis Peran
- Sistem login/register aman menggunakan Laravel Breeze.
- Manajemen peran Admin & Karyawan dengan hak akses dinamis menggunakan paket Spatie Laravel Permission.
-
🕒 Sistem Absensi Fleksibel
- Fitur Check-in & Check-out harian dengan validasi jam keterlambatan otomatis.
- Dukungan Absensi di Luar Kantor (Remote/Dinas) yang mewajibkan unggah bukti foto dan catatan pekerjaan.
-
⚙️ Administrasi & Otomatisasi Cerdas
- Manajemen Karyawan (CRUD) penuh oleh Admin.
- Sistem Pengajuan Cuti/Izin dengan alur persetujuan oleh Admin.
- Penandaan Absen Otomatis menggunakan Scheduled Task (Cron Job) untuk karyawan yang tidak melakukan check-in.
- Halaman Pengaturan Global agar Admin bisa mengubah aturan bisnis (jam kerja, lokasi kantor) tanpa mengubah kode.
-
📊 Pelaporan & Analitik
- Dashboard Statistik dengan kartu rekapitulasi harian dan grafik kehadiran bulanan interaktif.
- Riwayat Absensi lengkap dengan fitur filter berdasarkan rentang tanggal.
- Fitur Ekspor Laporan ke format PDF dan Excel.
-
🔔 Pengalaman Pengguna Modern
- Notifikasi Real-time untuk Admin (via database polling) saat ada pengajuan cuti baru.
- UI Modern & Responsif dengan layout sidebar kiri, animasi, dan dukungan penuh untuk perangkat mobile.
- Halaman Kustom untuk Login, Register, Error (404/500), dan Halaman Sambutan.
- Peta Interaktif di halaman pengaturan untuk memilih lokasi kantor dengan mudah.
Kategori | Teknologi |
---|---|
Backend | Laravel 10, PHP 8.x |
Frontend | Livewire 3, Alpine.js |
Styling | Tailwind CSS 3 |
Database | MySQL / PostgreSQL |
Paket Utama | Spatie Laravel Permission, Maatwebsite/Excel, Barryvdh/laravel-dompdf, Spatie Laravel Settings |
Library Frontend | Chart.js, Leaflet.js, Toastify.js |
Ikuti langkah-langkah berikut untuk menjalankan proyek ini di komputer Anda:
-
Clone repositori:
git clone [https://github.com/IamImam7/projek-absensi.git](https://github.com/IamImam7/projek-absensi.git) cd projek-absensi
-
Install dependensi Backend & Frontend:
composer install npm install
-
Setup file
.env
:cp .env.example .env
-
Generate application key:
php artisan key:generate
-
Konfigurasi database (
DB_DATABASE
,DB_USERNAME
,DB_PASSWORD
) dan kredensial email (MAIL_...
) Anda di dalam file.env
. -
Jalankan migrasi dan seeder untuk membuat tabel dan data awal:
php artisan migrate:fresh --seed
-
Buat symbolic link untuk storage (agar foto bukti bisa diakses):
php artisan storage:link
-
Jalankan server Vite dan Laravel di dua terminal terpisah:
# Di terminal 1 npm run dev # Di terminal 2 php artisan serve
Aplikasi sekarang berjalan di http://127.0.0.1:8000
.
Gunakan akun berikut untuk login dan mencoba fitur aplikasi:
Peran | Password | |
---|---|---|
Admin | admin@sakam.com |
password |
Karyawan | budi.s@sakam.com |
password |
Karyawan Lain | citra.l@sakam.com |
password |