Lalabase
Tickets, Doku, Zeiterfassung und Kundengespräche an einem Ort, durchsuchbar per KI. Für Softwarefirmen mit Kundenprojekten. Open Source: auf deinem eigenen Server oder in unserer Cloud in Deutschland.
Translation pending
InsMobile — sistem inspeksi mobile K3RS RSUD dr. Achmad Darwis. Formulir lingkungan kerja, kondisi APAR, dan sarana tanggap darurat.
Translation pending
BusinessTypeScript · CSSGitHub @miftahulmahfuzhOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
No updates detected yet. GitHub releases will appear here.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
Loading the full README. The saved excerpt is shown below.
Nama InsMobile (inspeksi mobile) adalah nama sistem ini dalam Rancangan Aktualisasi Arif Rahman Hakim — PD CPNS Kabupaten Lima Puluh Kota 2026. Website pemeriksaan K3RS untuk RSUD dr. Achmad Darwis. Tiga formulir diisi dari ponsel saat ronde, tersimpan di Neon Postgres, dan direkap di /admin dengan unduhan Excel. Menggantikan tiga Google Form yang sebelumnya dipakai. Pertanyaan, pilihan jawaban, dan status wajib-isi disalin apa adanya dari form asli.Read the full README ↗
Nama InsMobile (inspeksi mobile) adalah nama sistem ini dalam Rancangan Aktualisasi Arif Rahman Hakim — PD CPNS Kabupaten Lima Puluh Kota 2026.
Website pemeriksaan K3RS untuk RSUD dr. Achmad Darwis. Tiga formulir
diisi dari ponsel saat ronde, tersimpan di Neon Postgres, dan direkap di
/admin dengan unduhan Excel.
Menggantikan tiga Google Form yang sebelumnya dipakai. Pertanyaan, pilihan jawaban, dan status wajib-isi disalin apa adanya dari form asli.
| Formulir | Rute | Jumlah pertanyaan |
|---|---|---|
| Inspeksi Lingkungan K3RS | /forms/inspeksi-lingkungan | 36 dalam 8 bagian |
| Pemeriksaan Kondisi APAR | /forms/kondisi-apar | 10 |
| Tanggap Darurat & Kebakaran | /forms/tanggap-darurat | 19 dalam 2 bagian |
Formulir diisi dari ponsel: satu ketukan per pertanyaan, hijau untuk kondisi aman dan merah untuk temuan. Progres tersimpan di perangkat, jadi ronde yang terputus bisa dilanjutkan.
npm install
cp .env.example .env.local # lalu isi nilainya
npm run dev
Buka http://localhost:3000.
| Nama | Wajib | Keterangan |
|---|---|---|
DATABASE_URL | ya | Connection string Neon Postgres. DATABASE_URL_UNPOOLED dipakai bila DATABASE_URL kosong. |
ADMIN_USERNAME | ya | Nama pengguna untuk /admin. |
ADMIN_PASSWORD | ya | Kata sandi untuk /admin. |
SESSION_SECRET | ya | Penanda tangan cookie sesi. Minimal 32 karakter acak. |
Membuat SESSION_SECRET:
node -e "console.log(require('crypto').randomBytes(36).toString('base64url'))"
Tabel dibuat otomatis saat permintaan pertama — tidak ada langkah migrasi terpisah. Semua jawaban disimpan di satu tabel:
submissions(id, form_slug, area, inspection_date, answers jsonb, findings, created_at)
answers memakai id pertanyaan asli dari Google Form (q<entry-id>), sehingga
kolom tetap cocok meskipun teks pertanyaan diubah di kemudian hari.
findings menghitung jawaban Tidak dan Rusak — angka inilah yang
ditampilkan di rekap admin.
/admin meminta login, lalu menampilkan:
Berkas .xlsx berisi tiga lembar, satu per formulir. Satu baris = satu
pemeriksaan, satu kolom = satu pertanyaan, ditambah kolom Jumlah temuan.
Jawaban Tidak/Rusak diwarnai merah. Rentang tanggal di halaman admin ikut
diterapkan pada unduhan.
Tangkapan layar di atas dibuat dengan data fiktif. Untuk membuatnya ulang,
jalankan npm run dev lalu:
npm run seed:demo # isi 9 pemeriksaan contoh
npm run seed:demo -- --clean # hapus kembali baris yang tadi diisi
Baris contoh masuk lewat POST /api/submit, jadi ikut divalidasi seperti
pengisian sungguhan. Id yang terbentuk dicatat di scripts/.demo-ids.json;
--clean hanya menghapus id itu, tidak pernah baris lain. Skrip menolak
mengisi tabel yang sudah berisi data kecuali diberi --force.
src/lib/forms.ts dibuat otomatis dari HTML Google Form asli. Untuk
menyesuaikan pertanyaan, sunting berkas itu langsung — strukturnya sudah
tidak bergantung pada Google Form lagi. Tambahkan pertanyaan baru dengan id
yang belum pernah dipakai; jangan mengubah id lama, karena id itulah yang
mengikat data lama ke kolomnya.
Deploy ke Vercel. Setel keempat variabel lingkungan di Project Settings → Environment Variables sebelum deploy pertama.