Stars: 130
Forks: 94
Pull Requests: 34
Issues: 21
Watchers: 5
Last Updated: 2023-03-10 12:52:22
This website contains API Backend and employee data management for SiAP application. This website is built with Laravel, Tailwind CSS, Vue JS, and Inertia JS. This website also has an attendance page (QR Code) and a table to display employee attendance data.
License: GNU General Public License v2.0
Languages: Shell, PHP, Vue, Blade
Website berisi API Backend dan manajemen data pegawai untuk aplikasi SiAP. Website ini dibangun dengan Laravel, Tailwind CSS, Vue JS, dan Inertia JS. Website ini juga memiliki halaman absensi (QR Code) dan tabel untuk menampilkan data kehadiran pegawai.
Aplikasi dan website ini dibangun untuk mengatasi permasalahan pencatatan absensi pegawai di lingkungan kantor pemerintahan Kecamatan Balaesang. Pencatatan kehadiran pegawai di kantor pemerintahan Kecamatan Balaesang selama ini masih dilakukan secara manual yaitu dengan memberi paraf pada absensi.
Permasalahan timbul saat sebagian besar pegawai tidak jujur dalam mengisi absen tersebut, ada yang titip ke teman untuk diparaf namanya, ada yang langsung isi absen sampai beberapa hari ke depan, ada yang mengisi absen diluar waktunya, dsb. Dengan adanya sistem ini, diharapkan bisa membantu mengatasi permasalahan-permasalahan yang telah disebutkan.
Environment Variable
CALENDARIFIC_KEY = *Your calendarific API-KEY*
ONESIGNAL_APP_ID='Your One Signal APP-ID'
ONESIGNAL_API_KEY='Your One Signal API-KEY'
ONESIGNAL_API_URL='https://onesignal.com/api/v1/notifications'
MEDIA_URL="Your media storage url" #Required if you deploy app in shared hosting
LATITUDE_OFFSET="latitude of your office location"
LONGITUDE_OFFSET="longitude of your office location"
Calendarific Key
Calendarific Key diperlukan untuk mendapatkan data hari libur nasional dari Calendarific API.
One Signal APP_ID, API_KEY, & API_URL
Variabel ini diperlukan untuk mengirim push notification ke aplikasi SiAP. Untuk mendapatkan data ini, silahkan buat akun di One Signal lalu ikuti petunjuk pada dokumentasi resminya.
Latitude & Longitude Offset
Data ini diperlukan untuk mengecek jarak user dari kantor saat melakukan presensi. Hal ini dilakukan untuk memastikan bahwa user melakukan presensi di kantor.
Instalasi & Konfigurasi
Clone repository ini
Jalankan perintah composer install
Jalankan perintah npm install
& npm run dev
Jalankan perintah cp .env.example .env
Isikan konfigurasi database anda dan juga Environment Variable diatas pada file .env
Jalankan perintah php artisan key:generate
Jalankan perintah php artisan migrate
Jalankan perintah php artisan voyager:install
untuk menginstall admin panel Voyager
Setelah voyager berhasil diinstall, buat admin dengan menjalankan perintah php artisan voyager:admin {[email protected]} --create
untuk membuat admin baru atau jalankan perintah php artisan voyager:admin {[email protected]}
untuk menjadikan user yang sudah ada sebagai admin
Buat file csv berisi data user dan department lalu masukkan ke dalam folder database dengan struktur
├── database
└── csv
├── users.csv
└── departments.csv
pastikan struktur data pada csv sesuai dengan struktur tabel.
Jalankan perintah php artisan db:seed
, jika tidak ada file csv pada proses sebelumnya, comment/hilangkan UserSeeder & DepartmentSeeder dari DatabaseSeeder.php sebelum menjalankan seeder
Untuk mengambil dan menyimpan data hari libur nasional, jalankan perintah php artisan holiday:generate
tambahkan option --year
untuk menentukan tahun libur yang di-generate (default --year=2021
). Pastikan anda sudah mendapatkan API Key dari Calendarific API.
Buat kode absen dengan jalankan perintah php artisan absent:code
lalu buat daftar absen dengan perintah php artisan absent:attende
. Pastikan data User dan Department sudah ada saat menjalankan perintah ini.
Sebelum masuk ke aplikasi, comment/hilangkan baris kode berikut dari file voyager.php pada folder config untuk mencegah error undefined route
'widgets' => [
"App\\Widgets\\UserWidget",
"App\\Widgets\\DepartmentWidget", //comment atau hapus baris ini
],
php artisan serve
lalu kunjungi url localhost:8000SIAP is open-sourced software licensed under the GPL v2.0.