eSantri Web adalah aplikasi berbasis web yang dirancang untuk membantu administrasi Pondok Pesantren dalam mengelola data santri secara efisien. Aplikasi ini mengutamakan privasi, kecepatan, dan kemampuan offline-first yang tangguh.
PERHATIAN: Aplikasi ini dirancang dengan konsep Local-First. Semua data disimpan secara lokal di browser (IndexedDB). Untuk kolaborasi tim, gunakan fitur Sinkronisasi Cloud yang telah dioptimalkan dengan kompresi data.
- Dashboard Interaktif: Ringkasan visual data santri, keuangan, dan keasramaan.
- Database Santri Terpusat: Kelola data lengkap santri, orang tua/wali, dan riwayat status.
- Surat Menyurat Otomatis: Template surat resmi dengan Magic Draft (AI) dan arsip digital.
- Laporan & PDF: Cetak Biodata, Kuitansi, Rapor, dan Kartu Santri (Vector/High Quality).
- Manajemen Keuangan: Tagihan massal, pembayaran SPP, dan buku kas umum.
- Koperasi & Kantin (POS): Kasir toko dengan dukungan barcode scanner dan printer thermal Bluetooth.
- Penggajian (Payroll): Hitung honor guru otomatis berdasarkan jam mengajar.
- Cloud Sync Terkompresi: Sinkronisasi ke Dropbox/WebDAV kini menggunakan Kompresi GZIP. Hemat kuota internet hingga 90% dan lebih stabil di jaringan lambat.
- Pagination Database: Menangani puluhan ribu data transaksi dan log tanpa membuat aplikasi berat (lag).
- PWA & Offline Mode: Instal aplikasi ke Desktop/HP. Fitur "Unduh Aset" memungkinkan aplikasi berjalan 100% tanpa koneksi internet.
- PSB Online: Formulir pendaftaran digital dengan integrasi WhatsApp dan Google Sheet.
Aplikasi ini dibangun menggunakan teknologi modern untuk menjamin performa tinggi:
- Frontend: React 18 + TypeScript
- Build Tool: Vite
- Database Lokal: Dexie.js (IndexedDB Wrapper)
- Styling: Tailwind CSS
- Compression: Native Browser
CompressionStream(GZIP) - PDF Engine:
jspdf&html2canvas
Secara default, kode sumber ini dikonfigurasi dalam Mode Hybrid agar dapat berjalan langsung di lingkungan preview (seperti Google AI Studio atau StackBlitz).
Menggunakan CDN untuk memuat Tailwind CSS dan Icon.
- Kelebihan: Bisa langsung dijalankan (
npm run dev) tanpa build step yang rumit. - Kekurangan: Membutuhkan internet saat pertama kali dibuka (untuk memuat CDN).
Jika ingin digunakan di pesantren yang minim internet, lakukan langkah ini sebelum build:
- Edit
index.html: Hapus atau komentari blok script CDN. - Edit
index.tsx: Uncomment (aktifkan) baris import CSS lokal. - Jalankan Build:
npm run build.
Prasyarat: Node.js terinstal.
# 1. Instalasi Dependensi
npm install
# 2. Menjalankan Mode Pengembangan
npm run dev
# 3. Build Aplikasi (Menjadi File Statis)
npm run build
# 4. Preview Hasil Build
npx serve distData tersimpan 100% lokal. Sangat disarankan untuk:
- Mengaktifkan Sinkronisasi Otomatis ke Dropbox di menu Pengaturan (Data akan dienkripsi dan dikompresi).
- Melakukan backup manual rutin via tombol "Unduh Cadangan Data".
Proyek ini dilisensikan di bawah GNU General Public License v3.0.