Pathfinder Docs

Documentation Preview

Corps Module Documentation

Source: `docs/product/corps/README.md`View on GitHub

Corps Module Documentation

Volunteer Network & Event Management for Pathfinder CRM


Overview

Corps is a volunteer management module designed for community organizations, shelters, and coordinators. It enables organizations to recruit, manage, and engage volunteers while tracking participation, hours, and impact for reporting and funding purposes.

Key Features

  • Volunteer Profiles - Skills, interests, availability, capability assessment
  • Opportunity Management - Create and publish volunteer events and shifts
  • Signup & Attendance - Registration, confirmation, check-in/out
  • Hour Tracking - Manual and automatic logging with approval workflow
  • Notifications - Targeted alerts and reminders
  • Reporting - Hours, participation, and impact metrics
  • Achievements - Milestone recognition and badges

Documentation Index

DocumentDescription
ArchitectureSystem design, data models, integration points
API SpecificationREST API endpoints and request/response formats
Build PlanMVP milestones, UI sitemap, implementation roadmap

Quick Start

1. Database Setup

Run the migration script to create Corps tables:

-- In Supabase SQL Editor
\i database/migrations/DATABASE_MIGRATION_CORPS_MODULE.sql

2. Enable Module

Corps is included in standard, premium, and enterprise tiers by default.

To enable for a specific organization:

UPDATE organizations 
SET enabled_modules = array_append(enabled_modules, 'corps')
WHERE id = 'your-org-id';

3. Access Corps

Navigate to /corps to access the module. Users are redirected based on their role:

  • Volunteers → /corps/volunteer/dashboard
  • Recruiters → /corps/recruiter/dashboard
  • Admins → /corps/admin/dashboard

User Roles

RoleDescription
volunteerCommunity member who donates time
recruiterOrganization staff who manages opportunities
corps_adminOrganization volunteer program coordinator
adminSystem administrator

Core Workflows

Volunteer Onboarding

1. User creates account (or existing user accesses Corps)
2. Complete volunteer profile
   - Bio & photo
   - Skills & interests
   - Physical capability
   - Tech comfort level
   - Availability schedule
   - Emergency contact
3. Browse opportunities
4. Sign up for first event

Creating an Opportunity

1. Recruiter navigates to Opportunities
2. Click "Create Opportunity"
3. Fill in details:
   - Title, description
   - Labor type, requirements
   - Location, schedule
   - Capacity settings
4. Save as draft or publish
5. Volunteers can sign up

Hour Tracking

Option A: From Check-in
1. Volunteer checks in at event
2. Volunteer checks out
3. Hours auto-calculated
4. Submitted for approval (or auto-approved)

Option B: Manual Entry
1. Volunteer navigates to Hours
2. Click "Log Hours"
3. Enter date, hours, description
4. Submit for approval
5. Recruiter approves/rejects

Data Models Summary

TablePurpose
volunteer_profilesVolunteer-specific profile data
volunteer_skillsSkill reference taxonomy
volunteer_opportunitiesEvents, shifts, positions
volunteer_signupsRegistration records
volunteer_hoursTime tracking entries
corps_notificationsAlert definitions
corps_notification_deliveriesDelivery tracking
corps_achievementsBadge/award definitions
corps_achievement_awardsEarned achievements

Integration Points

Corps integrates with existing Pathfinder modules:

ModuleIntegration
OrganizationsVolunteer affiliations, event hosting
Users/ProfilesAuthentication, identity
MapsLocation-based discovery (optional)
NotificationsAlert delivery (optional)
Resource LibraryLink opportunities to programs
InventoryMaterial needs for events

Types

TypeScript types are available in lib/types/corps.ts:

import {
  VolunteerProfile,
  VolunteerOpportunity,
  VolunteerSignup,
  VolunteerHours,
  // ... and many more
} from '@/lib/types/corps';

File Structure

app/
├── (corps)/
│   └── corps/
│       ├── layout.tsx
│       ├── page.tsx
│       ├── volunteer/
│       ├── recruiter/
│       └── admin/
├── api/
│   └── corps/
│       ├── volunteers/
│       ├── opportunities/
│       ├── signups/
│       ├── hours/
│       └── notifications/
lib/
├── types/
│   └── corps.ts
└── services/
    └── corps/
docs/
└── corps/
    ├── README.md
    ├── CORPS_ARCHITECTURE.md
    ├── CORPS_API_SPEC.md
    └── CORPS_BUILD_PLAN.md
database/
└── migrations/
    └── DATABASE_MIGRATION_CORPS_MODULE.sql

Contact

For questions about Corps development, contact the Pathfinder development team.


Use links in each imported doc to open its source.