Application Flow
End-to-end flow diagram covering every role — sign-in, onboarding, admin approvals, supplier product lifecycle, and nonprofit claiming.
Full Platform Flow Diagram
The diagram below traces every path through the application from initial sign-in through all role-specific actions and cross-role interactions.
Color legend:
| Color | Meaning |
|---|---|
| 🔵 Dark blue | Role actor / entry point |
| ⬜ Light grey | Action / UI page |
| 🟡 Yellow | Decision node |
| 🟢 Green | Email sent |
| 🔵 Sky blue | Status label |
| 🔴 Red | Gate / blocked state |
| 🟣 Purple | Database write |
Flow Summary by Role
Admin (/admin)
- Reviews pending nonprofit registrations — downloads the uploaded 501c3 document
- Approves →
nonprofitDocumentApproval = true→ approval email sent to all nonprofit users in that org - Rejects →
nonprofitDocumentApproval = false→ rejection email sent - Manages suppliers (create / edit / delete) and views all product requests
- Posts announcements targeted at All / Supplier / Nonprofit users
Supplier (/supplier)
- Completes onboarding (company name, donation cadence) → lands on dashboard immediately (no approval gate)
- Creates pickup requests — each item becomes a
ProductRequestwithstatus = AVAILABLE - A batch email fires to all approved nonprofits whose
productInterestsmatch the product category - Monitors the pickup request table as statuses change from
AVAILABLE → RESERVED
Nonprofit (/nonprofit)
- Completes onboarding (org details, storage capacity, product interests, 501c3 upload)
- Lands on an approval gate — claim button is disabled until admin approves
- If rejected, can re-upload the document (resets approval to
nulland re-notifies admins) - Once approved — browses available products and clicks Claim This Product
statuschanges toRESERVED, supplier receives an email with the nonprofit's pickup info and contact details
All Authenticated Users
- Access
/discussionfor threaded community discussions - Access
/announcementsfor platform-wide notices