156 lines
5.5 KiB
Markdown

# Feature Documentation
Welcome to the Changemaker Lite V2 feature documentation. This section provides end-to-end guides for complete features, showing how backend APIs, frontend pages, and database models work together to deliver functionality.
## Documentation Structure
Each feature guide includes:
- **Architecture diagrams** showing data flow
- **Database models** with relationships
- **API endpoints** for admin and public access
- **Configuration** options and environment variables
- **Workflows** for admin, public, and volunteer users
- **Code examples** from actual source files
- **Troubleshooting** common issues
- **Performance** optimization tips
## Feature Categories
### Influence Features
Email advocacy campaigns and representative outreach:
- [Campaign Management](influence/campaigns.md) — Create and manage advocacy campaigns
- [Representative Lookup](influence/representatives.md) — Postal code-based representative search
- [Response Wall](influence/responses.md) — Public response submission and moderation
- [Email Queue](influence/email-queue.md) — BullMQ email processing system
- [Postal Code Cache](influence/postal-codes.md) — Postal code geocoding cache
### Map Features
Geographic location management and canvassing:
- [Location Management](map/locations.md) — Building and unit-level address management
- [Geocoding](map/geocoding.md) — Multi-provider geocoding service
- [Geographic Cuts](map/cuts.md) — Polygon overlays for organizing locations
- [Volunteer Shifts](map/shifts.md) — Shift scheduling and signup system
- [Canvassing System](map/canvassing.md) — Door-to-door canvassing with GPS
- [GPS Tracking](map/tracking.md) — Real-time volunteer location tracking
- [Walk Sheets](map/walk-sheets.md) — Printable canvassing materials
- [Data Quality Dashboard](map/data-quality.md) — Geocoding quality monitoring
- [NAR Import](map/nar-import.md) — Canadian electoral data import
### Landing Pages
Website page building and management:
- [Page Builder](pages/page-builder.md) — GrapesJS visual editor
- [GrapesJS Editor Component](pages/grapes-editor.md) — Editor integration
- [Block Library](pages/block-library.md) — Reusable content blocks
- [MkDocs Export](pages/mkdocs-export.md) — Export to documentation site
### Email Templates
Email template system for campaigns:
- [Template System](email-templates/template-system.md) — Email template engine
- [Template Editor](email-templates/editor.md) — HTML template editing
- [Template Variables](email-templates/variables.md) — Dynamic variable system
- [Version History](email-templates/versioning.md) — Template version tracking
### Media Features
Video library management:
- [Video Library](media/video-library.md) — Video organization and metadata
- [Video Upload](media/upload.md) — Upload with automatic metadata extraction
- [Media Jobs](media/jobs.md) — Background job processing
- [Public Gallery](media/public-gallery.md) — Public video sharing
### Newsletter Integration
Listmonk newsletter platform integration:
- [Listmonk Integration](newsletter/listmonk-integration.md) — API client setup
- [Data Sync](newsletter/sync.md) — Sync contacts to Listmonk
- [List Management](newsletter/lists.md) — Newsletter list administration
### Tunnel Management
Pangolin tunnel for public access:
- [Pangolin Setup](tunnel/pangolin-setup.md) — Tunnel configuration
- [Newt Container](tunnel/newt-container.md) — Docker integration
- [Exit Nodes](tunnel/exit-nodes.md) — Exit node management
### Observability
Monitoring and metrics:
- [Prometheus Metrics](observability/prometheus-metrics.md) — Custom metrics collection
- [Grafana Dashboards](observability/grafana-dashboards.md) — Visualization dashboards
- [Alertmanager](observability/alertmanager.md) — Alert routing
- [Data Quality Monitoring](observability/data-quality.md) — Data quality tracking
## Related Documentation
- [Backend Modules](../backend/modules/) — API implementation details
- [Frontend Pages](../frontend/pages/) — UI component documentation
- [Database Models](../database/models/) — Schema documentation
- [Architecture](../architecture/) — System architecture guides
- [User Guides](../guides/) — Step-by-step tutorials
## Quick Navigation
### By User Role
**Administrators:**
- Campaign creation and management
- Response moderation
- User management
- Location management
- Shift scheduling
- Email queue monitoring
- Landing page editing
**Public Users:**
- Campaign participation
- Representative lookup
- Email sending
- Response submission
- Shift signup
- Media gallery browsing
**Volunteers:**
- Canvassing with GPS
- Visit recording
- Shift assignments
- Activity tracking
- Route history
### By Use Case
**Advocacy Campaigns:**
1. [Create campaign](influence/campaigns.md#admin-workflow)
2. [Configure representatives](influence/representatives.md)
3. [Monitor email queue](influence/email-queue.md)
4. [Moderate responses](influence/responses.md)
**Canvassing Operations:**
1. [Import locations](map/nar-import.md)
2. [Create geographic cuts](map/cuts.md)
3. [Schedule shifts](map/shifts.md)
4. [Track canvassing](map/canvassing.md)
5. [Print walk sheets](map/walk-sheets.md)
**Website Management:**
1. [Build landing pages](pages/page-builder.md)
2. [Manage content blocks](pages/block-library.md)
3. [Export to MkDocs](pages/mkdocs-export.md)
**Public Access:**
1. [Setup Pangolin tunnel](tunnel/pangolin-setup.md)
2. [Configure Newt container](tunnel/newt-container.md)
3. [Monitor with observability](observability/prometheus-metrics.md)