# 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)