Liburin adalah antarmuka pemrograman aplikasi (API) open-source modern dan super akurat yang menyajikan data resmi mengenai Hari Libur Nasional dan Cuti Bersama di Indonesia.
Dibangun di atas runtime Bun yang secepat kilat, sistem ini dirancang beroperasi tanpa database eksternal (maintenance-free) dengan memanfaatkan pembaruan data otomatis setiap minggu melalui penelusuran web (web scraping) ke situs referensi resmi.
- ⚡ Kinerja Kilat Bun: Memanfaatkan
Bun.serve()berkinerja tinggi untuk memberikan waktu respons instan dalam hitungan milidetik tanpa overhead server yang berat. - 🤖 Pembaruan Otomatis Mingguan: Terintegrasi penuh dengan alur kerja GitHub Actions yang berjalan secara mandiri setiap minggu untuk mengekstrak data terbaru dari
kalenderku.iddan menyimpannya secara otomatis ke dalam repositori. - ⏰ Presisi Waktu Lokal (GMT+8): Menggunakan acuan waktu standar lokal Indonesia untuk menjamin akurasi mutlak pergantian hari pada endpoint dinamis (seperti
/api/todaydan/api/tomorrow), terlepas dari pengaturan zona waktu server hosting (UTC). - 🎨 Antarmuka Sandbox Interaktif: Dilengkapi halaman dokumentasi berdesain Sleek Dark Mode Glassmorphism berbasis Tailwind CSS yang menyediakan Live API Sandbox untuk pengujian request secara seketika.
Seluruh respons API disajikan dalam format JSON dengan header CORS terbuka (Access-Control-Allow-Origin: *) sehingga dapat diakses secara langsung dari aplikasi sisi klien mana pun.
GET /api/todayRespons Sukses (Contoh saat libur):
{
"is_holiday": true,
"name": "Tahun Baru Masehi 2026",
"type": "Libur Nasional",
"date": "2026-01-01"
}GET /api/tomorrowMengecek status hari libur untuk keesokan harinya menggunakan perhitungan batas tanggal waktu lokal Indonesia.
GET /api/this-monthMengembalikan array seluruh objek hari libur dan cuti bersama yang jatuh pada bulan berjalan.
GET /api?month={int}&year={int}Mendukung penyaringan data secara spesifik:
month: Angka bulan (1 untuk Januari, 12 untuk Desember).year: Tahun empat digit (Contoh:2026). Jika parameter tahun atau bulan dihilangkan, API akan menggunakan tahun berjalan secara otomatis.
GET /api/metaMengembalikan timestamp pembaruan terakhir beserta total entri yang terdaftar di dalam database lokal.
Pastikan Anda telah menginstal Bun di sistem Anda.
-
Klon Repositori
git clone https://github.com/fkryakbar/liburin.git cd liburin -
Instal Dependensi
npm install # atau bun install -
Kompilasi Berkas CSS Tailwind
bun run build:css
-
Jalankan Scraper (Untuk mengisi database awal)
bun run scrape
-
Jalankan Server Lokal
bun run dev # Server akan berjalan di http://localhost:3000
- Lisensi: Proyek ini didistribusikan di bawah lisensi open-source MIT.
- Sumber Data: Perhitungan penanggalan libur bersumber dari rilis acuan penanggalan nasional via kalenderku.id.