Rencana pembangunanLapisan webMASJID APP
Untuk platform seperti ini, web bukan brosur — web adalah produknya di mata publik. Di situlah jamaah pertama kali menaruh percaya, di situlah orang tua jamaah membuka laporan keuangan, dan di situlah mesin pencari — nanti asisten AI — membaca masjid Anda. Jadi keputusan Anda mendahulukan web sebelum dashboard bukan penundaan; itu urutan yang benar.
Dokumen ini memecah tahap web menjadi lima fase, dengan satu aturan yang dipegang di semuanya: apa pun yang mahal untuk diubah belakangan, dikunci di awal.
| Fase | Durasi | Yang dibangun | Hasil yang bisa dilihat |
|---|---|---|---|
| F0 | 3 mgg | Fondasi arsitektur | Satu masjid contoh hidup di staging |
| F1 | 4 mgg | Web platform (situs induk) | Masjid bisa daftar sendiri < 10 menit |
| F2 | 6 mgg | Web masjid + konsol konten | Halaman yang pantas dipasang di spanduk |
| F3 | 4 mgg | Lapisan masa depan (AI + TV display) | Masjid bisa "ditanya", TV menyala |
| F4 | 3 mgg | Pilot & serah terima | 5–10 masjid nyata, kontrak laporan dibekukan |
| F5 | — | Dashboard manajemen | Baru dimulai setelah F4 lulus |
Fase ini tidak menghasilkan apa pun yang bisa dipamerkan, dan justru itu gunanya. Setiap keputusan di sini adalah keputusan yang, kalau ditunda, akan menuntut migrasi besar di bulan keenam.
web-platform, web-tenant, api, ui, contracts. Docker, CI, staging, object storage S3-compatible, pipeline gambar (varian ukuran, AVIF/WebP)./v1 sejak hari pertama.tenant_id di setiap tabel, dijaga Row-Level Security PostgreSQL — bukan sekadar filter di kode. Satu where yang lupa ditulis tidak boleh bisa membocorkan data masjid lain.domain.id/<slug> sebagai kanonik, custom domain sebagai alias yang dipetakan ke tenant yang sama. Siapkan daftar slug terlarang sekarang (admin, api, masjid, login, blog, …) — merebut slug yang sudah dipakai orang itu mimpi buruk.content_index milik tenant itu. Belum ada fitur yang memakainya sampai F3; strukturnya tetap dipasang sekarang.Selesai bila: satu masjid percontohan hidup di staging pada /masjid-percontohan, dilayani SSR dari API, dan uji otomatis membuktikan permintaan dari tenant A tidak bisa membaca satu baris pun milik tenant B.
Situs induk punya dua tugas dan hanya dua: meyakinkan segmen yang Anda pilih, lalu membawa mereka masuk sendiri.
/masjid. Ini aset SEO yang menumpuk: setiap tenant baru menambah halaman terindeks dan menaikkan otoritas domain induk, yang lalu mengangkat semua masjid di dalamnya. Pemain yang menaruh tiap masjid di domain terpisah tidak dapat efek ini.Selesai bila: orang yang belum pernah Anda temui bisa mendaftarkan masjidnya dari nol sampai halaman publik yang layak dibagikan di grup WhatsApp, tanpa satu pun intervensi manual dari tim.
Fase terpanjang, dan yang paling menentukan. Ukurannya sederhana: apakah pengurus mau memasang alamat ini di spanduk depan masjid.
PlaceOfWorship, Event, Article, VideoObject), OG image otomatis per halaman, target LCP di bawah 2,5 detik pada jaringan 4G.domain.id/<slug>, otoritas menumpuk di domain induk. Begitu ia pindah ke domain sendiri, kanonik ikut pindah dan yang lama di-301. Ini pilihan sadar: menumpuk dulu, menyerahkan kemudian.Selesai bila: tiga masjid nyata memakai halaman ini sebagai alamat resmi mereka, dan selama satu bulan penuh tim Anda tidak menyentuh konten mereka sama sekali.
Dan letaknya di web — terlihat publik — bukan tersembunyi di dashboard. Ini yang membedakan "sistem masjid yang didigitalkan" dari "platform masjid yang dibangun untuk masa depan".
Selesai bila: pengurus menambahkan satu kajian, dan dalam sepuluh menit kajian itu muncul di halaman masjid, tampil di TV masjid, dan bisa ditanyakan ke asisten — tanpa satu pun langkah tambahan.
Masjid yang halamannya kosong tiga bulan terlihat mati, dan itu merusak kepercayaan yang justru ingin Anda bangun. Karena itu seeding otomatis di F1 — jadwal sholat, template, checklist — bukan fitur tambahan, itu syarat hidup.
Begitu pengurus bisa menempel HTML apa saja, TV display, asisten AI, dan aplikasi jamaah kehilangan sumber datanya. Editor kaya boleh, tapi di dalam field yang bertipe.
Permintaannya akan datang, dan terdengar masuk akal setiap kali. Batasnya: kalau menyentuh uang, data jamaah, atau peran berlapis — bukan fase ini.
Setiap custom domain memecah otoritas SEO yang sedang Anda tumpuk dan menambah beban sertifikat. Jadikan fitur berbayar di F5, bukan janji di F1.
Asisten publik hanya menjawab dari indeks masjid itu, selalu dengan tautan sumber, dan berani bilang tidak tahu. Satu jawaban salah soal waktu sholat atau nominal donasi menghapus kepercayaan yang dibangun berbulan-bulan.
Modulnya beku di MVP — skemanya tidak. Tabel dana, dimensi, dan kolom currency-aware dipasang di F0. Tanpa itu, laporan publik di F2 akan menciptakan bentuk data sementara yang menuntut migrasi besar tepat saat Anda mulai punya pelanggan.
domain.id/<slug> langsung atau di bawah prefiks. Ini keputusan yang tidak bisa dibatalkan setelah masjid pertama membagikan tautannya.