# Absensi AKG
- `php artisan migrate` untuk membuat tabel
- `php artisan db:seed` untuk membuat data dummy/awal
- `php artisan serve` untuk menjalankan server local
## Deployment
- queue command for hosting cronjob (5 min) `/usr/local/bin/ea-php80 /home/nama_user/public_html/alamkaryagemilang.com/public/absensi/artisan queue:work --max-time=270 --queue=high,default --stop-when-empty` (ganti direktori php sesuai hosting yang dipakai)
- set `upload_max_filesize` php ini lebih besar dari 2MB
- set `post_max_size` php ini lebih besar dari 8MB
- ubah `APP_ENV` menjadi `production` pada file `.env`
- ubah `APP_DEBUG` menjadi `false` pada file `.env`
- ubah api key woowa di `App/Helpers/Helper.php` pada fungsi `sendWa`
- ubah permission folder `storage` jika bermasalah pada permission (ubah semua sub folder storage menjadi 777 jika perlu)
- data ci/co di simpan di riwayat absensi
- ci diluar ketentuan (diluar radius,diluar jam kerja) akan masuk permintaan absen dan berstaus pending menunggu persetujuan
- status co mengikuti ci
## PROSES ABSENSI

### Pengecekan Hari Absensi
- pengecekan di mulai dari hari awal karyawan kerja
- pertama cek hari di kalender jadwal kerja
- cek jam kerja dari jadwal kerja
- jika kalender jadwal tidak ada maka status harinya mengikuti data jadwal kerja (off/work)
- jika data kalender jadwal ada maka status hari-nya mengikuti data kalender jadwal tersebut (off/work)
## CONTOH PERMASALAHAN
- Budi mempunyai 2 jadwal kerja yaitu :
- jadwal kerja 1 : jam 18:00 - 06:00
- jadwal kerja 2 : jam 08:00 - 17:00
- Budi absen pada jam 17:00
- sistem akan mengurutkan jam masuk paling dekat dengan waktu Budi absen
- maka dipilihkah jawdal kerja 2 dengan jam masuk 18:00
## Testing
- ubah email dan password user serta tanggal dan waktu untuk di test di file `tests/Feature/ApiLoginTest.php`
- `php artisan test` untuk menjalankan test
## Black Box Testing & Report Kendala/Error
- https://docs.google.com/spreadsheets/d/1VRsRnVX2UNGFBoZqkY4-MECfb7Y0XhBBoGaWtTqo98M/edit?usp=sharing
## Notifikasi Wa
- setting woowa api key pada fungsi `sendWa` pada file `app/Helpers/Helper.php`
## Tolrenasi Jadwal Kerja
- toleransi tepat waktu : absensi tetap dianggap tepat waktu jika absen masih dalam waktu toleransi (menit), contoh jam masuk 07:00 toleransi 30 menit maka absen masuk dianggap tepat waktu jika absen masuk sebelum jam 06:30 (jika kurang dari itu maka dianggap `too-early`)
- toleransi keterlambatan : absensi masuk dan pulang akan di anggap terlambat jika lebih dari waktu toleransi (menit), contoh jam masuk 07:00 toleransi 30 menit maka absen masuk dianggap terlambat jika absen masuk setelah jam 07:30
Anons79 File Manager Version 1.0, Coded By Anons79
Email: [email protected]