Sistem Informasi Masjid adalah sebuah aplikasi berbasis web yang dirancang untuk membantu pengelolaan operasional masjid secara digital dan efisien. Sistem ini menyediakan fitur-fitur seperti manajemen keuangan, pengelolaan artikel dan berita, jadwal kegiatan, serta sistem reservasi fasilitas masjid. Terdapat tiga jenis pengguna (aktor) dalam sistem ini, yaitu Superadmin, Admin, dan Guest (tamu/pengunjung umum).
- Otentikasi Pengguna (Login/Register)
- Manajemen Pengguna (khusus Superadmin)
- Manajemen Kas Masjid (pemasukan dan pengeluaran)
- Manajemen Konten (artikel, berita, pengumuman)
- Jadwal Kegiatan (kajian, shalat berjamaah, dll.)
- Reservasi Fasilitas Masjid (ruangan, aula, dll.)
- Halaman Tamu/Publik untuk melihat informasi tanpa login
- Teknologi dan Bahasa Pemograman
- Persyaratan Sistem
- Panduan Instalasi & Menjalankan Proyek
- Koneksi Database
- Kontak
- Frontend (Antarmuka Pengguna)
- Framework: Next.js (React)
- Bahasa: JavaScript / TypeScript
- Tools: Tailwind CSS, React Hook Form, Axios, Framer Motion (opsional)
- Backend (Logika dan API)
- Framework: Express.js
- Bahasa: JavaScript / TypeScript
- Tools: Multer (untuk upload gambar), JWT (untuk autentikasi)
- Database
- DBMS: PostgreSQL
- ORM: Sequelize
- Environment
- Local Dev: Node.js
Pastikan sistem Anda memenuhi persyaratan berikut sebelum instalasi:
- Node.js: Versi 22.14
- npm : 10.7.0
- Database: PostgreSQL
Ikuti langkah-langkah di bawah ini untuk mengatur dan menjalankan proyek di lingkungan lokal Anda.
-
Clone Repositori: Kloning repositori proyek ini ke komputer lokal Anda. Jika Anda mendapatkan ini dalam bentuk arsip zip, ekstrak di lokasi pilihan Anda. Struktur proyek seharusnya terlihat seperti ini:
. ├── SIM-backend/ # Folder backend Express └── SIM-frontend/ # Folder frontend Next -
Buat Database: Buat database baru di sistem manajemen database Anda (PostgreSQL). Beri nama database sesuai keinginan Anda (misalnya,
sima_db).
-
Navigasi ke Folder Backend: Buka terminal atau command prompt dan masuk ke folder
Backend:cd SIM-backend -
Konfigurasi Environment: Salin file
.env.examplemenjadi.env:cp .env.example .env
Buka file
.envyang baru dibuat dan perbarui detail koneksi database sesuai dengan pengaturan Anda:PORT=8080 <br>DB_HOST=localhost <br>DB_USERNAME=your_postgres_user <br>DB_PASSWORD=your_postgres_password <br>DB_DATABASE=your_database_name <br>Db_PORT=5432 <br>JWT_SECRET=your_jwt_secret_key <br>JWT_EXPIRATION=86400 <br>EMAIL_USER=your_email@example.com <br>EMAIL_PASS=your_email_app_password <br>FRONTEND_URL=http://localhost:3000
-
Install Dependencies npm:
npm install
-
migration dan seeding:
npm run db:reset
-
Jalankan Server Express:
npm run dev
Pastikan Backend API berjalan di
http://localhost:8080. Biarkan terminal ini tetap terbuka.
-
Navigasi ke Folder Frontend: Buka terminal baru dan masuk ke folder
sim-frontend:cd SIM-frontend # Atau navigasi ke folder ini jika Anda membuatnya di tempat lain
-
Install Dependencies npm:
npm install
-
Jalankan Server Pengembangan React:
npm run dev
Frontend React akan berjalan di
http://localhost:3000(atau port lain yang ditunjukkan oleh Vite). Buka URL ini di browser web Anda.
Menggunakan VM dan Docker
Spesifikasi VM Backend: RAM: 4 GB CPU: 2
Docker Container:
- nginx_container
- postgre_container
- web_container
Domain: Frontend https://simasjid.raihanproject.my.id
Backend https://simasjidbackend.raihanproject.my.id
CI/CD: deploy and build
PORT=3000
DB_HOST=localhost
DB_USERNAME=your_postgres_user
DB_PASSWORD=your_postgres_password
DB_DATABASE=your_database_name
Db_PORT=5432
JWT_SECRET=your_jwt_secret_key
JWT_EXPIRATION=86400
EMAIL_USER=your_email@example.com
EMAIL_PASS=your_email_app_password
FRONTEND_URL=http://localhost:3000

