generated from pascalmartineau/wp-skeleton
chore: Update CLAUDE / PLANNING / TASKS
This commit is contained in:
370
.claude/TASKS.md
Normal file
370
.claude/TASKS.md
Normal 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
|
||||
Reference in New Issue
Block a user