Charity Portal

The Charity Portal enables charitable organizations to manage partnerships, create volunteer opportunities, verify hours, and track donations.

Dashboard Overview

The Charity dashboard (/charity) displays:
  • Pending Verifications: Volunteer hours awaiting approval
  • Partner Activity: Recent activity from corporate partners
  • Opportunity Metrics: Signup rates and completion stats
  • Donation Summary: YTD received donations

Key Features

Opportunity Creation

Create and manage volunteer opportunities with skills matching

Hour Verification

Review and approve volunteer hours with evidence

Partner Management

Invite and manage corporate partner relationships

Donation Tracking

Track received donations with Gift Aid support

Volunteer Verification

Verification Queue

Navigate to /charity/verification to review pending hours:
1

View Queue

See all pending verification requests from partner organizations
2

Review Details

Click to view GPS data, photos, timestamps, and outcome descriptions
3

Approve or Reject

Approve valid hours or reject with feedback
4

Bulk Process

Select up to 50 items for batch approval/rejection

Verification Details

Each verification request shows:
FieldDescription
Volunteer NameWho logged the hours
OpportunityWhich activity
Hours ClaimedTime logged
Check-in MethodQR, GPS, or manual
EvidencePhotos, notes, GPS coordinates
OutcomesWhat was achieved

Verification Tiers After Approval

Original TierAfter Charity Approval
Any tierUpgraded to 100% (System Verified)

Opportunity Management

Creating Opportunities

POST /api/charity/opportunities
{
  "title": "Beach Cleanup",
  "description": "Help us clean the local beach",
  "skillsNeeded": ["outdoor", "physical"],
  "location": {
    "address": "Brighton Beach",
    "lat": 50.8225,
    "lng": -0.1372
  },
  "startTime": "2025-04-15T09:00:00Z",
  "duration": 3,
  "spotsAvailable": 20
}

Auto-Matching

When you create an opportunity, RippleCore automatically:
  1. Matches all partner organization members
  2. Calculates skill compatibility scores
  3. Sends notifications for 80%+ matches
  4. Updates the opportunity’s match list

Partner Management

Inviting Partners

POST /api/charity/partners/invite
{
  "email": "hr@company.com",
  "organizationName": "Example Corp",
  "message": "We'd love to partner with you!"
}

Partner Status

StatusDescription
PendingInvitation sent, awaiting response
ActivePartnership confirmed
InactivePartnership paused
DeclinedInvitation rejected

Donation Management

Tracking Donations

View all donations received from partner organizations:
  • Filter by date range, partner, or amount
  • Export CSV for accounting
  • Track Gift Aid eligibility

Verification

POST /api/charity/donations/{id}/verify
{
  "verified": true,
  "notes": "Receipt confirmed"
}

Messaging

Communicate with partner organizations:
// Send message
POST /api/charity/messages
{
  "partnerId": "partner_123",
  "subject": "Upcoming Event",
  "body": "We have a new opportunity..."
}

// Mark as read
PUT /api/charity/messages/{id}
{
  "read": true
}

Custom Branding

Configure your portal appearance:
POST /api/charity/branding/save
{
  "logo": "https://...",
  "primaryColor": "#2563eb",
  "secondaryColor": "#7c3aed"
}

API Endpoints

EndpointMethodDescription
/api/charity/donationsGET, POSTList/create donations
/api/charity/donations/{id}/verifyPOSTVerify donation
/api/charity/donations/exportGETExport CSV
/api/charity/partnersGETList partners
/api/charity/partners/{id}GET, PATCHManage partner
/api/charity/partners/invitePOSTInvite partner
/api/charity/opportunitiesGET, POSTList/create opportunities
/api/charity/opportunities/{id}GET, PATCH, DELETEManage opportunity
/api/charity/messagesGET, POSTList/send messages
/api/charity/branding/savePOSTSave branding
All endpoints require authentication and CSRF protection for mutations.