Build campaign management page with CRUD operations for basic donation campaigns. Acceptance Criteria Campaign list with TanStack Table (search, sort, filter, paginate) Create campaign: name, description, goal, dates, type (basic) Edit campaign details Delete with confirmation Status management (draft, active, paused, completed) Backend controller and routes Permission checks: campaigns.view, create, edit, delete Test Plan Create basic campaign and verify in list Edit campaign and verify changes persist Test status transitions Delete campaign and verify removal Verify permission enforcement
Build performance overview cards showing top-performing campaigns, fundraisers, and events. Acceptance Criteria Top 5 campaigns by amount raised Top 5 fundraisers by amount raised Top 5 events by ticket sales / revenue Each card shows name, amount, and progress toward goal Clickable to navigate to the item's detail page Test Plan Verify rankings are correct Test with fewer than 5 items Test empty state when no campaigns/fundraisers/events exist Verify links navigate correctly
Build donor analytics section with health score, donor segments, conversion funnel, and geographic distribution. Acceptance Criteria Donor health score visualization Donor segment breakdown (new, recurring, lapsed, major) Conversion funnel visualization (visitors to donors to recurring) Region/country breakdown chart Device breakdown (desktop vs mobile) Test Plan Verify calculations match raw data Test with no donor data (empty state) Test visualizations render correctly Verify segment classifications are accurate
Organization profile settings
Build a visual header builder allowing organizations to customize the header on their public-facing fundraising pages. Acceptance Criteria Drag-and-drop or toggle-based header element arrangement Configurable elements: logo, navigation links, CTA button, search Background color/image settings Mobile header configuration Preview mode Settings saved to organization settings Test Plan Test adding/removing header elements Verify preview matches actual rendering Test mobile header layout Test save and reload preserves configuration
Control Center (module/add-on status overview)
Build notification preferences page where admins can configure which notifications they receive and how. Acceptance Criteria List of notification types grouped by category Toggle on/off for each notification type Channel selection (email, in-app) per notification Save preferences to notification_preferences table Default preferences for new users Test Plan Verify all notification types are listed Test toggling preferences on/off Verify saved preferences are applied Test default preferences for new user
Build general settings page for TanStack Table defaults, offline functionality toggle, CRM settings, and activity tracking configuration. Acceptance Criteria Table settings: default page size, visible columns Offline mode toggle CRM enable/disable toggle Activity tracking configuration All settings stored in JSONB settings table Permission check: settings.edit required Test Plan Verify settings load with current values Test each setting saves correctly Verify settings affect their respective features Test unauthorized access is blocked
Configure global checkout defaults including minimum donation amounts, credit card fee handling, field configuration, and recurring donation defaults. Acceptance Criteria Minimum donation amount per currency Credit card fee cover option (percentage, optional/required) Button text customization Checkout field configuration (required/optional/hidden) Default recurrence options (one-time, monthly, annual) Preview of checkout appearance Test Plan Verify settings apply to donation forms Test minimum donation validation Test CC fee calculation accuracy Verify field visibility matches configuration
Configure payment-related settings including enabled currencies, payment gateway connections, country-currency defaults, and receipt rules. Acceptance Criteria Enable/disable currencies from the currencies list Configure payment gateways (API keys, mode) Set default currency per country Define receipt rules (thresholds, templates) Test mode toggle for payment gateways Test Plan Verify currency list matches database Test gateway configuration saves correctly Verify country defaults apply at checkout Test receipt rules trigger correctly