What this build argues
The Chamber asked for "everything ChamberMaster does and everything the Fort Lee site has". Both of those are, underneath, one thing: a single member record that the website, the invoices, the events and the newsletter all read from. Today HRCC has four: WordPress users, WooCommerce orders, The Events Calendar, and Perfex CRM — synced by hand.
So the product here is the engine in engine.js: one store, one ledger, one nightly job. Every screen in the three front ends is a query over it.
The demo path
- Public website → Events → Morning Networking. Add three attendees — two members, one non-member — and watch the running total. Pay by demo card; one QR ticket per attendee, one invoice and receipt. Then try the Gala and a sponsorship package.
- Back office → Check-in. Every attendee is on the door list with a member / non-member tag. Type a code to check in.
- Public website → Join → Apply. Pick a tier, annual or monthly, enter promo code EVENT50 (demo code, $50 off — an invalid code shows an error), then pay with the pre-filled demo card. Membership is active at once and the receipt is shown.
- Back office → Today. The Board-review task is waiting (payment is already taken). Approve it and the directory listing goes live. Billing shows the invoice and an Auto-pay column.
- Member Center → Billing. Auto-pay is on with the next charge date and amount; switch it off or update the card (try 4000 0000 0000 0341 to see a failed auto-charge and the recovery path). My listing is editable too.
- +30 days. Watch the engine issue monthly and renewal invoices, auto-charge the saved cards with receipts, retry failures, send reminders, flag past-due accounts and close the Gala.
Demo promo code & test cards
Promo code EVENT50 takes $50 off first-year dues at Join → Apply. Payment screens are a demo of Stripe — recommended over Authorize.net, see Back office → Settings for the comparison. No real card is charged or stored. Demo cards: 4242 4242 4242 4242 works; 4000 0000 0000 0341 saves but declines every auto-charge; 4000 0000 0000 0002 is declined at once.
ChamberMaster feature map
What is real
The 233-name member roster (the site shows one consistent count of 227 live member listings), the board, the committees and their meeting cadence, the membership tiers ($225 / $400 / $795), every event and its ticket and sponsorship prices, the member discounts, the non-profit and resource directories, the news, and the office details all come from hackensackchamber.org. Contact names and addresses are only shown where the public directory listed them.
Modelled: which members are past-due or lapsed, join dates, registration counts, campaign open rates, the non-profit dues rate, the demo persona's card on file, and every payment (all Stripe-style and fake). See the README for the full list.