Aldi Ramdani.

    Zakat App

    aceternity logo
    esc
    F1
    F2
    F3
    F4
    F5
    F6
    F7
    F8
    F8
    F10
    F11
    F12
    ~`
    !1
    @2
    #3
    $4
    %5
    ^6
    &7
    *8
    (9
    )0
    _
    + =
    delete
    tab
    Q
    W
    E
    R
    T
    Y
    U
    I
    O
    P
    {[
    }]
    |\
    caps lock
    A
    S
    D
    F
    G
    H
    J
    K
    L
    :;
    "'
    return
    shift
    Z
    X
    C
    V
    B
    N
    M
    <,
    >.
    ?/
    shift
    fn
    control
    option
    command
    command
    option
    full-stack

    Zakat App

    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.

    FieldRecord
    RoleFull-stack developer
    Period2026
    StatusSource-code prototype
    Stored entitiesMuzakki, transactions, and committee settings

    Problem

    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.

    Role and scope

    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.

    Process and decisions

    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.

    Implemented workflow

    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.

    Limits

    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.

    Tech Stack:

    Next.js
    TypeScript
    Supabase
    Zustand

    Keywords:

    #Zakat Operations
    #Transactions
    #Reporting
    #Prototype
    #Database
    Back