SiLaras Desa adalah aplikasi web siap-pakai untuk pelayanan surat-menyurat di tingkat desa/kelurahan. Warga dapat mengajukan berbagai surat keterangan secara online dari rumah, mendapatkan kode pelacakan, memantau prosesnya secara transparan, lalu mengunduh surat resmi dalam format PDF ber-kop dan bernomor.
Dibangun dengan Node.js + Express murni, tanpa dependency native sehingga sangat mudah dideploy โ bahkan di infrastruktur sederhana kantor desa.
๐ก Cukup ubah satu file konfigurasi (
.env) untuk memakai aplikasi ini di desa mana pun.
| Fitur | Keterangan | |
|---|---|---|
| ๐ | Pengajuan Online | 8 jenis surat dengan formulir dinamis sesuai kebutuhan masing-masing surat |
| ๐ | Lacak Status Real-time | Warga memantau permohonan lewat kode pelacakan (SD-2026-XXXXXX) |
| ๐ | Surat PDF Resmi | Generate otomatis surat ber-kop desa, bernomor, lengkap dengan kode verifikasi |
| ๐ ๏ธ | Panel Petugas | Dashboard perangkat desa untuk verifikasi, ubah status, & terbitkan surat |
| ๐ฑ | Responsif | Tampilan mobile-first yang nyaman di HP maupun desktop |
| ๐ | SEO Friendly | Meta tags, Open Graph, sitemap.xml, robots.txt, & data terstruktur (Schema.org) |
| ๐ | Aman | Helmet, session login petugas, validasi input, penyimpanan atomik |
| โก | Ringan & Cepat | Tanpa framework frontend berat, CSS kustom, kompresi gzip |
Keterangan Domisili ยท Keterangan Usaha (SKU) ยท Keterangan Tidak Mampu (SKTM) ยท Pengantar SKCK ยท Keterangan Kelahiran ยท Keterangan Kematian ยท Pengantar Nikah ยท Keterangan Belum Menikah
| Beranda | Lacak Status | Panel Petugas |
|---|---|---|
| Hero modern + daftar layanan | Timeline status + unduh PDF | Dashboard + kelola permohonan |
Jalankan aplikasi (lihat di bawah) untuk melihat tampilan lengkapnya.
- Node.js versi 18 atau lebih baru
# 1. Klon repositori
git clone https://github.com/<username>/silaras-desa.git
cd silaras-desa
# 2. Pasang dependency
npm install
# 3. (Opsional) salin & sesuaikan konfigurasi desa
cp .env.example .env
# 4. (Opsional) isi data contoh untuk demo
npm run seed
# 5. Jalankan
npm startBuka http://localhost:3000 di browser. ๐
| Halaman | URL |
|---|---|
| ๐ Situs publik | http://localhost:3000 |
| ๐ Login petugas | http://localhost:3000/admin |
Akun petugas default: admin / admin123 ย โย ganti via .env saat produksi!
Semua identitas desa diatur lewat environment variable (lihat .env.example). Contoh:
VILLAGE_NAME=Desa Sukamaju
VILLAGE_KECAMATAN=Kecamatan Cibadak
VILLAGE_KABUPATEN=Kabupaten Sukabumi
VILLAGE_KEPALA=H. Ahmad Suryana, S.Sos
ADMIN_PASSWORD=kata-sandi-yang-kuatNilai ini otomatis dipakai pada kop surat, footer, kontak, dan data terstruktur SEO.
silaras-desa/
โโโ server.js # Entry point Express (keamanan, SEO, routing)
โโโ config/config.js # Konfigurasi terpusat (env-driven)
โโโ src/
โ โโโ db.js # Penyimpanan JSON atomik (tanpa DB server)
โ โโโ data/
โ โ โโโ letterTypes.js # Katalog jenis surat & field dinamis
โ โ โโโ seed.js # Data contoh
โ โโโ routes/ # Rute publik & admin
โ โโโ services/ # Pembuatan dokumen & PDF (PDFKit)
โ โโโ middleware/ # Proteksi area petugas
โโโ views/ # Template EJS (publik & admin)
โโโ public/ # CSS, JS, ikon, OG image
Stack: Node.js ยท Express ยท EJS ยท PDFKit ยท Helmet ยท Compression โ tanpa modul native, tanpa build step.
- โ
<title>,meta description, & canonical unik per halaman - โ Open Graph & Twitter Card untuk pratinjau saat dibagikan
- โ
Schema.org JSON-LD:
GovernmentOffice,GovernmentService,FAQPage,WebSite - โ
sitemap.xml&robots.txtdinamis - โ
manifest.webmanifest(installable / PWA-ready) - โ HTML semantik, mobile-first, kompresi gzip, dan aset di-cache
Warga Perangkat Desa
โ โ
โโ Pilih jenis surat โ
โโ Isi formulir โโโโโโโโโโโโโโโโบ โ (status: Menunggu)
โ โโ Verifikasi berkas (status: Diproses)
โ โโ Terbitkan surat (status: Selesai)
โโ Lacak via kode โโโโโโโโโโโโโโโโโค
โโ Unduh PDF resmi โ
Kontribusi sangat diterima! Silakan fork, buat branch fitur, lalu ajukan Pull Request. Untuk perubahan besar, buka issue terlebih dahulu untuk diskusi.
Dirilis di bawah lisensi MIT โ bebas digunakan, dimodifikasi, dan disebarluaskan, termasuk untuk pemerintah desa.
Dibuat untuk mendukung digitalisasi desa Indonesia ๐ฎ๐ฉ
โญ Jika proyek ini bermanfaat, beri bintang untuk mendukung pengembangan!