― A Supabase-backed prototype for zakat records, receipts, and reports
A zakat committee needs to record contributors, classify payments, issue receipts, and prepare reports during a short collection period. Zakat App packages those operations into one dashboard prototype.
| Field | Record |
|---|---|
| Role | Full-stack developer |
| Period | 2026 |
| Status | Source-code prototype |
| Stored entities | Muzakki, transactions, and committee settings |
Separate forms and spreadsheets can create duplicate contributor records and inconsistent receipts. Committee members need a shared transaction record and a consistent reference before they prepare a report.
I built the dashboard, contributor records, transaction entry, history, reports, settings, and receipt modal. I connected the application state to Supabase through a service layer.
The input flow creates a transaction and adds a muzakki record when the phone number does not match an existing contributor. The application loads transactions, contributors, and settings as one startup operation.
The database migration defines the three core tables and a single settings row. Zustand holds the current client state after each service request.
I completed the dashboard, transaction entry, muzakki directory, history, reports, settings, receipt modal, Supabase service, state store, and database migration.
I have not deployed the app with a zakat committee or tested it with production transactions. The project also lacks a test suite and user study.
The current migration permits anonymous read and write access through Row Level Security policies. The app also lacks authentication and a documented receipt PDF path. Those gaps prevent production use with personal and financial records. The next release needs restricted roles, audit logs, validation tests, and backup procedures.