Corps Module Documentation
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
| Document | Description |
|---|---|
| Architecture | System design, data models, integration points |
| API Specification | REST API endpoints and request/response formats |
| Build Plan | MVP 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
| Role | Description |
|---|---|
volunteer | Community member who donates time |
recruiter | Organization staff who manages opportunities |
corps_admin | Organization volunteer program coordinator |
admin | System 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
| Table | Purpose |
|---|---|
volunteer_profiles | Volunteer-specific profile data |
volunteer_skills | Skill reference taxonomy |
volunteer_opportunities | Events, shifts, positions |
volunteer_signups | Registration records |
volunteer_hours | Time tracking entries |
corps_notifications | Alert definitions |
corps_notification_deliveries | Delivery tracking |
corps_achievements | Badge/award definitions |
corps_achievement_awards | Earned achievements |
Integration Points
Corps integrates with existing Pathfinder modules:
| Module | Integration |
|---|---|
| Organizations | Volunteer affiliations, event hosting |
| Users/Profiles | Authentication, identity |
| Maps | Location-based discovery (optional) |
| Notifications | Alert delivery (optional) |
| Resource Library | Link opportunities to programs |
| Inventory | Material 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.