Sistem manajemen jadwal sholat masjid — dari pengaturan web hingga display TV.
- Node.js 18+
- MySQL 8.0+
- npm
git clone https://github.com/githendraw/jadwal-mosque-settings.git
cd jadwal-mosque-settings
npm installJalankan migrasi database untuk membuat/memperbarui schema:
# Lokal
mysql -u root -p jadwal_masjid < migrations/000_full_schema.sql
# Remote via Cloudflared tunnel (contoh)
mysql -u masjid -p -h 127.0.0.1 -P 3307 jadwal_masjid < migrations/000_full_schema.sqlMigrasi ini akan:
- Membuat semua tabel (
users,mosques,devices,payments,pairing_codes) - Menambahkan kolom
addressdi tabelmosquesjika belum ada - Mengisi default settings JSON (
pengumumanJumat,pengumumanKajian,location) - Menyinkronkan
addressdarisettings.locationuntuk data yang sudah ada - Insert superadmin user (
admin@jadwalmasjid.com/password) - Insert sample mosque (Masjid Al-Ikhlas Bandung)
Buat file .env di root project:
DB_HOST=localhost
DB_USER=root
DB_PASSWORD=root
DB_NAME=jadwal_masjid
PORT=4000
JWT_SECRET=jadwal-masjid-secret
NEXT_PUBLIC_API_URL=http://localhost:4000npm run devServer berjalan di http://localhost:4000 (Next.js + Socket.io).
npm run build
NODE_ENV=production npm run startdocker-compose up -dLihat DOCUMENTATION.md untuk daftar lengkap API endpoints dan flow diagram.
| Role | Password | |
|---|---|---|
| Superadmin | admin@jadwalmasjid.com | password |
Lihat migrations/000_full_schema.sql untuk schema lengkap.
Kolom penting di tabel mosques:
address— Alamat masjid, tampil di TV sebagai locationlat/long— Koordinat untuk perhitungan jadwal sholat (Adhan.js)calculation_method— Metode perhitungan (KEMENAG, JAKARTA_IST, ASRA, UM, MECCAH)settings(JSON) — BerisipengumumanJumat,pengumumanKajian, dan config lainnya
Private