Aplikasi web yang dibuat untuk membantu pengurus masjid dalam memanajemen keuangan secara efisien dan transparan. Proyek ini pertama kali diimplementasikan untuk keuangan Masjid SMKN 2 Kota Bekasi.
Website Masjid Finance bertujuan untuk:
- Mempermudah pencatatan pemasukan dan pengeluaran masjid
- Menyediakan visualisasi keuangan berupa grafik dan tabel
- Memberikan transparansi kepada jamaah atau pihak terkait
- Mengelola peran (role) antara admin dan user
- Melindungi akses berlebih dengan limit request menggunakan Arcjet
- 🔐 Autentikasi & Manajemen Peran (Admin / User)
- 💰 Manajemen Transaksi (tambah, ubah, hapus)
- 📈 Visualisasi Keuangan (Grafik interaktif dengan Recharts)
- 🔎 Pencarian, filter, sorting & bulk delete data transaksi
- 🧱 Integrasi API Clerk & Arcjet untuk keamanan dan kontrol akses
| Komponen | Teknologi |
|---|---|
| Frontend | Next.js, TailwindCSS, ShadCN UI |
| Backend | Next.js API routes |
| Database | Supabase / PostgreSQL, Prisma ORM |
| Auth | Clerk |
| Keamanan | Arcjet |
| Grafik | Recharts |
| Deployment | Vercel (opsional) |
git clone https://github.com/novaka-dev/masjid-finance.git
cd masjid-financenpm installBuat file .env berdasarkan .env.example, lalu isi dengan kredensial pribadi kamu:
# Connect to Supabase via connection pooling with Supavisor.
DATABASE_URL=
# Direct connection to the database. Used for migrations.
DIRECT_URL=
NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY=
CLERK_SECRET_KEY=
NEXT_PUBLIC_CLERK_SIGN_IN_URL=
NEXT_PUBLIC_CLERK_SIGN_UP_URL=
ARCJET_KEY=ℹ️ Untuk mendapatkan kredensial:
DATABASE_URLdanDIRECT_URL: Dari dashboard Supabase > Project Settings > DatabaseCLERK_*: Dari dashboard Clerk > API Keys & URLsARCJET_KEY: Dari Arcjet Dashboard
npx prisma generate
npx prisma db pushnpm run devAkses di: http://localhost:3000
Kontribusi sangat terbuka! Berikut langkah untuk berkontribusi:
- Fork repositori ini
- Buat branch baru:
git checkout -b fitur-anda - Commit perubahan:
git commit -m 'Tambah fitur A' - Push ke branch:
git push origin fitur-anda - Buat Pull Request
Website ini dikembangkan oleh:
- Novaka Dev – GitHub
Open Source - Vaka Ganteng 🙏
Jangan lupa kasih ⭐️ di GitHub ya! walaweee