Sistem Pengajuan Cuti ini dikembangkan untuk salah satu instansi pemerintah di Jawa Tengah, dengan tujuan mempermudah proses pengajuan cuti secara digital dan mengurangi penggunaan kertas dalam proses administrasi. Aplikasi ini memungkinkan pegawai untuk mengajukan cuti secara online, tanpa perlu mencetak formulir atau dokumen fisik.
Setiap pengajuan akan melewati beberapa tahapan verifikasi atau persetujuan dari pihak terkait, antara lain Tata Usaha Puskesmas, Kepala Puskesmas, Sekretaris Dinas, dan Kepala Dinas. Masing-masing pemberi persetujuan dapat menyetujui, menolak, atau meminta revisi terhadap pengajuan cuti yang diajukan oleh pegawai.
Pegawai dapat memantau status pengajuan cuti mereka melalui dashboard yang telah disediakan, dan akan menerima notifikasi jika pengajuan disetujui, ditolak, atau memerlukan revisi. Seluruh pengguna aplikasi—baik pegawai maupun pemberi persetujuan—diharuskan mengatur gambar tanda tangan melalui menu profil, dengan cara mengunggah gambar atau menggambar langsung pada kanvas yang disediakan.
Tanda tangan tersebut digunakan untuk menghasilkan dokumen cuti dalam format digital jika semua pemberi persetujuan telah menyetujui pengajuan tersebut. Khusus untuk pemberi persetujuan di tingkat Kepala Puskesmas dan Kepala Dinas, sistem akan meminta mereka untuk melakukan Tanda Tangan Elektronik (TTE), sehingga dokumen PDF yang dihasilkan memiliki signature yang sah dan dapat diverifikasi keasliannya.
Dengan sistem ini, proses pengajuan cuti menjadi lebih cepat, efisien, dan ramah lingkungan karena meminimalkan penggunaan kertas dalam seluruh alur kerja.
Aplikasi ini dibangun menggunakan React.js dengan TypeScript untuk bagian frontend, serta Go dengan framework Fiber untuk backend. Basis data yang digunakan adalah MySQL. Dalam proses pengembangan, kami menghadapi beberapa kendala, terutama dalam hal mengalirkan (mengoper) data persetujuan secara bertahap dari pemberi persetujuan paling bawah hingga ke tingkat paling atas. Tantangan ini mencakup pengelolaan status persetujuan secara berurutan, penanganan logika validasi antar level persetujuan, serta memastikan notifikasi dan alur tanda tangan berjalan konsisten sesuai hierarki yang telah ditentukan.


