Hadis - Ensiklopedia Kutubut Tis'ah
Ensiklopedia digital 38.102 hadis shahih dari 9 Imam dengan teks Arab berharakat, terjemahan bahasa Indonesia, arsitektur serverless Cloudflare D1, dan SWR caching.


Tantangan Data Skala Besar di Lingkungan Edge
Menyajikan koleksi lengkap 9 Kitab Hadis (Kutubut Tis'ah) yang mencakup 38.102 hadis (~70 MB data teks) dalam aplikasi web modern menghadirkan tantangan performa:
- Jika dataset JSON berukuran puluhan megabyte diunduh langsung ke browser, waktu muat awal (initial page load) menjadi lambat dan menghabiskan kuota pengguna.
- Lingkungan serverless edge seperti Cloudflare Workers membatasi ukuran bundel skrip maksimal 3 MB dan waktu eksekusi CPU 50ms, sehingga tidak memungkinkan memproses berkas JSON besar di memori runtime secara berulang.
Proyek Hadis mengatasi masalah ini dengan memigrasikan seluruh dataset ke database relasional terdistribusi Cloudflare D1 yang dikelola menggunakan NuxtHub dan Drizzle ORM, dipadukan dengan strategi stale-while-revalidate (SWR) caching di Nitro engine.
Arsitektur & Keunggulan Teknis
Aplikasi dibangun dengan tumpukan teknologi modern Nuxt 4 dan Nuxt UI v4 untuk menghasilkan pengalaman membaca yang cepat, bersih, dan aksesibel:
- Database Edge Cloudflare D1 & Drizzle ORM: Sebanyak 38.102 data hadis disimpan dan diindeks secara terstruktur pada kolom
(narrator)dan(narrator, number). Kueri paginasi dan filter nomor hadis dieksekusi langsung di edge network dengan latensi di bawah 10ms. - Paginasi Ringan & SWR Caching: Server hanya mengirimkan 15 hadis per halaman (~10–15 KB payload). Respon kueri di-cache di layer Nitro (
maxAge: 3600, swr: true), sehingga navigasi halaman dan pembacaan ulang berjalan instan (0ms). - Tipografi Arab Responsif: Menggunakan font Amiri yang dioptimalkan untuk harakat Arab, dilengkapi kontrol penyesuaian ukuran huruf (font scaling) dan pembagi terjemahan yang jelas.
- Sistem Bookmark Lokal: Memanfaatkan penyimpanan lokal (LocalStorage) reaktif melalui Vue composables, memungkinkan pengguna menyimpan hadis favorit tanpa memerlukan akun atau autentikasi pihak ketiga.
- Pencarian Live & Filter Nomor Hadis: Menyediakan pencarian teks terjemahan secara langsung dengan debounce, serta filter lompat nomor hadis spesifik (misal mencari Hadits Bukhari No. 1000).
Dengan mengalihkan pemrosesan dari berkas statis 70 MB ke Cloudflare D1 dan SWR cache, ukuran transfer halaman awal terpangkas lebih dari 99% (dari 13 MB menjadi hanya ~10 KB) tanpa mengurangi kelengkapan data.
Cuplikan Implementasi Server Endpoint
Fitur Utama
- Koleksi 9 Kitab Lengkap: Mencakup Shahih Bukhari (6.638 hadis), Shahih Muslim (4.930 hadis), Sunan Abu Dawud (4.419 hadis), Jami' at-Tirmidzi (3.625 hadis), Sunan an-Nasa'i (5.364 hadis), Sunan Ibnu Majah (4.285 hadis), Musnad Ahmad (4.305 hadis), Muwatha' Malik (1.587 hadis), dan Sunan ad-Darimi (2.949 hadis).
- Aksi Cepat (Salin & Bagikan): Dukungan Clipboard API untuk menyalin teks Arab beserta artinya, serta Web Share API untuk membagikan hadis ke aplikasi lain.
- Navigasi Sekuensial: Tombol lompat hadis berikutnya dan sebelumnya untuk pengalaman membaca kitab seperti buku fisik.
- Antarmuka Adaptif: Desain responsif penuh untuk desktop dan ponsel cerdas dengan dukungan tema gelap/terang bawaan (Dark/Light Mode).