chore: Update CLAUDE / PLANNING / TASKS

This commit is contained in:
2025-09-25 09:30:16 -04:00
parent 4c41ff2dae
commit b12f1fc2a2
3 changed files with 1064 additions and 46 deletions

370
.claude/TASKS.md Normal file
View File

@@ -0,0 +1,370 @@
# TASKS.md - CCAT Project Task Management
## Task Status Instructions
Use GitHub-style checkboxes to mark task completion:
- `- [ ]` for uncompleted tasks
- `- [x]` for completed tasks
- Add notes or comments after tasks using `<!-- Notes: ... -->`
---
## Milestone 1: Foundation & Setup
### WordPress Theme Structure
- [ ] Create basic WordPress theme structure with `functions.php` and `style.css`
- [ ] Set up `composer.json` with WPackagist dependencies
- [ ] Create directory structure (`acf-json/`, `includes/`, `app/`, `server/`, `shared/`)
- [ ] Configure Nuxt 4 within WordPress theme context
- [ ] Set up basic theme activation and WordPress integration
### Development Environment
- [ ] Configure Gitea Actions for CI/CD pipeline
- [ ] Set up local development environment
- [ ] Configure environment variables for development/production
- [ ] Set up hot reloading for Nuxt within WordPress theme
- [ ] Create basic build scripts and deployment configuration
### Core Plugins & Dependencies
- [ ] Install and configure WPGraphQL plugin
- [ ] Install and configure WPGraphQL JWT Authentication
- [ ] Install and configure Advanced Custom Fields (ACF) Pro
- [ ] Install and configure ACF Extended Pro
- [ ] Configure GraphQL schema and test basic queries
---
## Milestone 2: Content Structure & Data Models
### Custom Post Types (CPT)
- [ ] Create Contributor CPT (artist/organization profiles)
- [ ] Create Event CPT (base event descriptions)
- [ ] Create Listing CPT (job offers/proposals with deadlines)
- [ ] Create Location CPT (venue information, hierarchical)
- [ ] Create Profile CPT (user cultural profiles)
- [ ] Create Project CPT (CCAT projects)
- [ ] Create Representation CPT (event instances)
- [ ] Create Resource CPT (document/link repository)
- [ ] Create Template CPT (reusable content blocks)
### Custom Taxonomies
- [ ] Create Discipline taxonomy (artistic/cultural categories)
- [ ] Create Listing Category taxonomy
- [ ] Create Project Category taxonomy
- [ ] Create Resource Category taxonomy
- [ ] Configure taxonomy relationships with CPTs
### ACF Field Groups
- [ ] Design and create ACF fields for Contributor CPT
- [ ] Design and create ACF fields for Event CPT
- [ ] Design and create ACF fields for Listing CPT
- [ ] Design and create ACF fields for Location CPT (venue/room hierarchy)
- [ ] Design and create ACF fields for Profile CPT
- [ ] Design and create ACF fields for Project CPT
- [ ] Design and create ACF fields for Representation CPT
- [ ] Design and create ACF fields for Resource CPT
- [ ] Create flexible content field groups for dynamic layouts
- [ ] Set up ACF options page for site-wide settings
### WPGraphQL Integration
- [ ] Configure GraphQL schema for all CPTs
- [ ] Configure GraphQL schema for all taxonomies
- [ ] Configure GraphQL schema for ACF fields
- [ ] Test GraphQL queries for all content types
- [ ] Set up GraphQL authentication and permissions
---
## Milestone 3: Authentication & User Management
### JWT Authentication System
- [ ] Configure JWT authentication for WPGraphQL
- [ ] Create `useAuth` composable for token management
- [ ] Implement user registration flow
- [ ] Implement user login flow
- [ ] Implement JWT token refresh mechanism
- [ ] Handle authentication errors and edge cases
### User Roles & Permissions
- [ ] Define custom user roles (member, premium, admin)
- [ ] Configure user capabilities and permissions
- [ ] Implement user registration with email verification
- [ ] Create user profile management system
- [ ] Link user accounts to Profile CPT
### Member Signup & Management
- [ ] Create `useMemberSignup` composable
- [ ] Create `useMemberArea` composable
- [ ] Build member registration forms
- [ ] Build member profile editing interface
- [ ] Implement membership tier upgrades
- [ ] Create admin user impersonation functionality
---
## Milestone 4: Core Nuxt Components
### Base Component Architecture
- [ ] Set up Nuxt UI integration
- [ ] Create base layout structure
- [ ] Design component organization system
### Node Components (Main Page Components)
- [ ] Create node component for Contributor pages
- [ ] Create node component for Event pages
- [ ] Create node component for Listing pages
- [ ] Create node component for Location pages
- [ ] Create node component for Profile pages
- [ ] Create node component for Project pages
- [ ] Create node component for Representation pages
- [ ] Create node component for Resource pages
- [ ] Create `useNodeByUri` composable for content fetching
### Site Components (Global)
- [ ] Create header component with navigation
- [ ] Create footer component
- [ ] Create main navigation system
- [ ] Create breadcrumb navigation (excluding virtual pages)
- [ ] Create search functionality
- [ ] Implement responsive navigation for mobile
### Authentication Components
- [ ] Create login form component
- [ ] Create registration form component
- [ ] Create password reset component
- [ ] Create protected route middleware
- [ ] Create user profile components
- [ ] Create member zone dashboard
---
## Milestone 5: Content Management & Flexible Layouts
### Flexible Content Sections
- [ ] Create section components for ACF flexible fields
- [ ] Design reusable content block system
- [ ] Implement Template CPT integration
- [ ] Create dynamic section rendering system
- [ ] Build content editor interface
### ACF Extended Pro Preview System
- [ ] Configure ACF Extended Pro preview templates
- [ ] Set up iframe preview system
- [ ] Implement SSR rendering for preview content
- [ ] Create preview layouts in `/layouts` directory
- [ ] Test real-time preview functionality
### Content Features
- [ ] Implement image uploads with point-of-interest cropping
- [ ] Create automated URL redirect system
- [ ] Implement virtual pages (redirect to first child)
- [ ] Build content search and filtering
- [ ] Create content categorization system
---
## Milestone 6: Event System & Calendar
### Event Management
- [ ] Design event-representation relationship system
- [ ] Create event creation and editing interface
- [ ] Build event listing and detail pages
- [ ] Implement event approval workflow for admins
### Interactive Calendar
- [ ] Integrate Leaflet maps for location display
- [ ] Build calendar component with multiple views (month/week/day/list)
- [ ] Implement event filtering and search
- [ ] Create event detail modal/popup
- [ ] Add calendar navigation and date selection
### Event Subscriptions
- [ ] Design event subscription system
- [ ] Create subscription forms (free events)
- [ ] Implement waitlist management
- [ ] Build bulk attendee registration for admins
- [ ] Create subscription confirmation system
- [ ] Add subscription cancellation functionality
---
## Milestone 7: Utilities & Composables
### Core Composables
- [ ] Create `useResponsive` composable for responsive utilities
- [ ] Create `useSiteOptions` composable for ACF options page
- [ ] Build error handling utilities
- [ ] Create loading state management
- [ ] Implement cache management utilities
### GraphQL Operations
- [ ] Create GraphQL operation files (`.gql`) in `/app/graphql/`
- [ ] Set up GraphQL codegen for TypeScript types
- [ ] Create reusable GraphQL fragments
- [ ] Implement GraphQL error handling
- [ ] Add GraphQL query optimization
---
## Milestone 8: Third-Party Integrations (PHP)
### Mailchimp Integration
- [ ] Set up Mailchimp PHP SDK
- [ ] Create user synchronization system
- [ ] Implement newsletter subscription management
- [ ] Build transactional email system
- [ ] Create email template system
- [ ] Add merge field synchronization
### Stripe Integration
- [ ] Set up Stripe PHP SDK
- [ ] Implement payment processing for premium memberships
- [ ] Create subscription billing system
- [ ] Build payment webhook handling
- [ ] Implement refund processing
- [ ] Add payment analytics and reporting
### AirTable Import System
- [ ] Design non-destructive import system
- [ ] Create AirTable API integration
- [ ] Build field mapping interface
- [ ] Implement incremental updates
- [ ] Add import validation and error handling
- [ ] Create import history and rollback functionality
---
## Milestone 9: Advanced Features
### Admin Tools
- [ ] Create admin dashboard
- [ ] Build user management interface
- [ ] Implement content moderation tools
- [ ] Create event subscription management
- [ ] Add analytics and reporting features
- [ ] Build system configuration interface
### Event Webscraping Tool
- [ ] Design webscraping architecture
- [ ] Create external event source configuration
- [ ] Build automated event discovery system
- [ ] Implement data validation and normalization
- [ ] Add duplicate detection and management
- [ ] Create admin review and approval workflow
### Premium Membership Features
- [ ] Design premium feature system
- [ ] Enhanced profile visibility
- [ ] Priority event listings
- [ ] Advanced analytics for members
- [ ] Additional content creation tools
- [ ] Premium support features
---
## Milestone 10: UI/UX & Polish
### Custom UI Components
- [ ] Design and build custom UI component library
- [ ] Create consistent styling system
- [ ] Implement responsive design patterns
- [ ] Add animations and transitions
- [ ] Build accessibility features
- [ ] Create component documentation
### Mobile Optimization
- [ ] Optimize all components for mobile
- [ ] Implement touch-friendly interactions
- [ ] Create mobile-specific navigation
- [ ] Optimize performance for mobile devices
- [ ] Test across different screen sizes
---
## Milestone 11: Testing & Quality Assurance
### Unit Testing
- [ ] Set up testing framework
- [ ] Write tests for composables
- [ ] Test utility functions
- [ ] Create mock data for testing
- [ ] Add continuous integration testing
### Integration Testing
- [ ] Test GraphQL operations
- [ ] Test WordPress/PHP integration
- [ ] Validate third-party integrations
- [ ] Test user authentication flows
- [ ] Verify payment processing
### End-to-End Testing
- [ ] Test complete user registration flow
- [ ] Test event creation and subscription
- [ ] Test member area functionality
- [ ] Test admin workflows
- [ ] Test content preview system
---
## Milestone 12: Performance & Optimization
### Performance Optimization
- [ ] Optimize GraphQL queries (prevent N+1)
- [ ] Implement caching strategies
- [ ] Optimize images with @nuxt/image
- [ ] Minimize bundle sizes
- [ ] Implement lazy loading
- [ ] Monitor Core Web Vitals
### Security Audit
- [ ] Review authentication security
- [ ] Validate input sanitization
- [ ] Test API security
- [ ] Review payment security
- [ ] Implement security headers
- [ ] Run security vulnerability scans
---
## Milestone 13: Launch Preparation
### Content Migration
- [ ] Migrate existing content from current systems
- [ ] Set up initial user accounts
- [ ] Import event data
- [ ] Configure site-wide settings
- [ ] Test content import process
### Documentation & Training
- [ ] Create user documentation
- [ ] Write admin training materials
- [ ] Document API endpoints
- [ ] Create troubleshooting guides
- [ ] Record training videos
### Final Testing & Deployment
- [ ] Complete end-to-end testing
- [ ] Performance testing under load
- [ ] Cross-browser compatibility testing
- [ ] Mobile device testing
- [ ] Production deployment
- [ ] Post-launch monitoring setup
---
## Post-Launch Tasks
### Ongoing Maintenance
- [ ] Set up monitoring and alerting
- [ ] Create backup procedures
- [ ] Plan regular security updates
- [ ] Monitor performance metrics
- [ ] Gather user feedback
- [ ] Plan feature iterations
---
**Notes:**
- Mark completed tasks with `[x]`
- Add comments or blockers using `<!-- Notes: ... -->` after tasks
- Update this file regularly during development
- Use this file to track progress and plan work sessions