Commit graph

5 commits

Author SHA1 Message Date
TheFlow
9d390da76b style(ui): update theme, branding, and GitHub repository links
Update UI across all pages with:
- New favicon and brand icons (favicon-new.svg, tractatus-icon-new.svg)
- Theme CSS integration (tractatus-theme.min.css)
- Correct GitHub repository links (AgenticGovernance/tractatus)
- PWA manifest updates
- Consistent branding colors and gradients

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-19 12:48:29 +13:00
TheFlow
0dccf8b660 feat: complete Priority 2 - Enhanced Koha Transparency Dashboard
Priority 2 Implementation:
- Extract inline JavaScript to /public/js/koha-transparency.js (CSP compliant)
- Add Chart.js 4.4.0 for visual allocation breakdown (doughnut chart)
- Implement CSV export functionality with comprehensive transparency report
- Link transparency dashboard from homepage footer (Support This Work section)
- Deploy to production: https://agenticgovernance.digital/koha/transparency.html

Homepage Enhancement:
- Add "Support This Work" section to footer with donation links
- Include Blog link in Community section

Governance Framework:
- Add inst_022: Automated deployment permission correction requirement
- Addresses recurring permission issues (0700 directories causing 403 errors)
- Mandates rsync --chmod=D755,F644 or post-deployment automation
- Related to inst_020, but shifts from validation to prevention

Technical Details:
- Responsive design with Tailwind breakpoints
- Auto-refresh metrics every 5 minutes
- WCAG-compliant accessibility features
- Minimal footprint: ~8.5KB JavaScript

Fixes:
- /public/koha/ directory permissions (755 required for nginx)
- Added inst_022 to prevent future permission issues

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-11 17:14:34 +13:00
TheFlow
ae16d64082 feat: add Koha pre-production deployment configuration
Deployment Strategy:
- Deploy all Koha infrastructure to production
- Keep user-facing functionality disabled until Stripe keys configured
- Allow backend testing and validation before payment processing activation

Changes:
- Add coming-soon-overlay.js component for Koha pages
- Add Stripe configuration check in koha.controller.js (returns 503 if PLACEHOLDER keys detected)
- Update all Koha HTML pages with coming soon overlay script
- Create comprehensive deployment guide (KOHA_PRODUCTION_DEPLOYMENT.md)
- Create automated deployment script (deploy-koha-to-production.sh)

Pre-Production Features:
- Database initialization ready (init-koha.js)
- API endpoints functional but protected
- Transparency dashboard returns empty data structure
- Coming soon overlay prevents user access to incomplete functionality
- All code deployed and testable

Activation Checklist:
- Configure live Stripe keys
- Remove coming-soon overlay scripts
- Remove PLACEHOLDER checks from controller
- Add navigation links to Koha pages
- Test end-to-end donation flow

Estimated Time to Activate: 2-3 hours once Stripe keys ready

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-08 21:00:54 +13:00
TheFlow
b3bd3b2348 feat: add multi-currency support and privacy policy to Koha system
Multi-Currency Implementation:
- Add currency configuration with 10 supported currencies (NZD, USD, EUR, GBP, AUD, CAD, JPY, CHF, SGD, HKD)
- Create client-side and server-side currency utilities for conversion and formatting
- Implement currency selector UI component with auto-detection and localStorage persistence
- Update Donation model to store multi-currency transactions with NZD equivalents
- Update Koha service to handle currency conversion and exchange rate tracking
- Update donation form UI to display prices in selected currency
- Update transparency dashboard to show donations with currency indicators
- Update Stripe setup documentation with currency_options configuration guide

Privacy Policy:
- Create comprehensive privacy policy page (GDPR compliant)
- Add shared footer component with privacy policy link
- Update all Koha pages with footer component

Technical Details:
- Exchange rates stored at donation time for historical accuracy
- All donations tracked in both original currency and NZD for transparency
- Base currency: NZD (New Zealand Dollar)
- Uses Stripe currency_options for monthly subscriptions
- Dynamic currency for one-time donations

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-08 15:17:23 +13:00
TheFlow
a36effdce9 feat: implement Koha donation system frontend (Phase 3)
Complete donation form, transparency dashboard, and success pages.

**Frontend Pages:**

Donation Form (public/koha.html):
- Three monthly tiers: $5, $15, $50 NZD
- One-time custom donations
- Anonymous by default with opt-in public acknowledgement
- Donor information form (name optional, email required)
- Stripe Checkout integration
- Allocation transparency (40/30/20/10 breakdown)
- Māori cultural acknowledgement (Koha meaning)
- Comprehensive FAQ section
- Accessible design (WCAG 2.1 AA compliant)

Transparency Dashboard (public/koha/transparency.html):
- Live metrics: total received, monthly supporters, recurring revenue
- Allocation breakdown with animated progress bars
- Recent public donor acknowledgements
- One-time donation statistics
- Auto-refresh every 5 minutes
- Call-to-action to donate

Success Page (public/koha/success.html):
- Animated success confirmation with checkmark
- Donation details verification via session ID
- Next steps explanation (receipt, allocation, dashboard)
- Monthly donor management information
- Links to transparency dashboard and docs
- Error state handling

**Database & Scripts:**

Initialization Script (scripts/init-koha.js):
- Creates MongoDB indexes for koha_donations collection
- Verifies Stripe configuration (keys, price IDs)
- Tests transparency metrics calculation
- Validates database setup
- Provides next steps guide
- npm script: `npm run init:koha`

Package Updates:
- Added Stripe SDK dependency (v14.25.0)
- Added init:koha script to package.json

**Features:**

Privacy-First Design:
 Anonymous donations by default
 Opt-in public acknowledgement
 Email only for receipts
 No payment details stored

User Experience:
 Responsive mobile design
 Keyboard navigation support
 Focus indicators for accessibility
 Loading/error states
 Form validation

Transparency:
 Public metrics API integration
 Real-time donor acknowledgements
 Clear allocation breakdown
 Automatic dashboard updates

Cultural Sensitivity:
 Māori term "Koha" explained
 Te Tiriti acknowledgement
 Indigenous partnership values

**API Integration:**

- POST /api/koha/checkout - Create donation session
- GET /api/koha/transparency - Fetch public metrics
- GET /api/koha/verify/:sessionId - Verify payment status

**Testing Checklist:**

□ Form validation (email required, minimum amount)
□ Tier selection (monthly $5/$15/$50)
□ One-time custom amount input
□ Anonymous vs public acknowledgement toggle
□ Stripe Checkout redirect
□ Success page verification
□ Transparency dashboard data display
□ Mobile responsiveness
□ Keyboard navigation

**Next Steps:**

1. Create Stripe products with currency_options (all 10 currencies)
2. Test with Stripe test cards
3. Implement multi-currency support
4. Add Privacy Policy page
5. Deploy to production

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-08 13:56:56 +13:00