Complete Volunteer Application Review Workflow
Overview
Finish the volunteer/ambassador application review system with Firestore integration, approval/rejection flows, and email notifications.
Scope
Load volunteer applications from Firestore volunteerApplications collection
Display application queue with status filter (pending, approved, rejected)
Show applicant details: name, email, phone, bio, availability, motivation, background
View full applicant profile linked to their user account
Approve action: send welcome email, set user role to volunteer in Firestore
Reject action: send rejection email with optional feedback
Track application timeline: submitted → reviewed (date, by whom) → approved/rejected
Bulk actions: approve/reject multiple applications with templated messages
Acceptance Criteria
Applications load from volunteerApplications collection filtered by status
Applicant detail modal shows: name, email, phone, bio, motivation, CV/portfolio links
Approve button: sends email, updates user role to volunteer, updates app status
Reject button: sends email with feedback, marks status as rejected
Email templates are customizable (or stored in Firestore)
Approval/rejection logged with admin ID, timestamp, and reason (if rejected)
Applicants can reapply after rejection with guidance
Admin-only access verified (403 for non-admins)
Metrics: show count of pending, approved, rejected in sidebar
No duplicate approvals (idempotent action)
Related Files
app/admin/volunteers/page.tsx — integrate with Firestore
lib/services/volunteer.ts — add approval/rejection logic
firestore.rules — ensure role assignment is permitted
Email Templates
Approval: "Welcome to the PakStartups volunteer team! Start here: [link]"
Rejection: "Thanks for applying. We'd love feedback: [link]. Reapply anytime."
Why This Matters
Critical for volunteer program management
Enables scaling community moderators
Professional first-time volunteer experience
Complete Volunteer Application Review Workflow
Overview
Finish the volunteer/ambassador application review system with Firestore integration, approval/rejection flows, and email notifications.
Scope
volunteerApplicationscollectionvolunteerin FirestoreAcceptance Criteria
volunteerApplicationscollection filtered by statusvolunteer, updates app statusrejectedRelated Files
app/admin/volunteers/page.tsx— integrate with Firestorelib/services/volunteer.ts— add approval/rejection logicfirestore.rules— ensure role assignment is permittedEmail Templates
Why This Matters