generated from pascalmartineau/wp-skeleton
370 lines
12 KiB
Markdown
370 lines
12 KiB
Markdown
# 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 |