156 lines
5.5 KiB
Markdown
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)
|