generated from pascalmartineau/wp-skeleton
chore: updated planning / tasks
All checks were successful
Deploy WordPress and Nuxt / deploy (push) Successful in 1m2s
All checks were successful
Deploy WordPress and Nuxt / deploy (push) Successful in 1m2s
This commit is contained in:
@@ -52,17 +52,17 @@ Third-party Integrations (Mailchimp, Stripe, AirTable)
|
|||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## 💻 Technology Stack
|
## 💻 Technology Stack (Current Implementation)
|
||||||
|
|
||||||
### Core Platform
|
### Core Platform - ✅ IMPLEMENTED
|
||||||
| Component | Technology | Version | Purpose |
|
| Component | Technology | Version | Purpose | Status |
|
||||||
|-----------|------------|---------|---------|
|
|-----------|------------|---------|---------|---------|
|
||||||
| **CMS** | WordPress | Latest | Content management system |
|
| **CMS** | WordPress | Latest | Content management system | ✅ Configured |
|
||||||
| **Frontend** | Nuxt | 4.x | Modern Vue.js framework |
|
| **Frontend** | Nuxt | 4.1.2 | Modern Vue.js framework | ✅ Integrated |
|
||||||
| **UI Framework** | Nuxt UI | Latest | Component library |
|
| **UI Framework** | Nuxt UI | 4.0.0 | Component library | ✅ Configured |
|
||||||
| **Database** | MySQL | 8.0+ | Data storage |
|
| **Database** | MySQL | 8.0+ | Data storage | ✅ Operational |
|
||||||
| **Language** | PHP | 8.1+ | WordPress backend |
|
| **Language** | PHP | 8.1+ | WordPress backend | ✅ Compatible |
|
||||||
| **Language** | JavaScript/TypeScript | ES2022+ | Frontend development |
|
| **Language** | TypeScript | 5.9.2 | Frontend development | ✅ Configured |
|
||||||
|
|
||||||
### WordPress Plugins & Extensions
|
### WordPress Plugins & Extensions
|
||||||
| Plugin | Purpose | License |
|
| Plugin | Purpose | License |
|
||||||
@@ -139,23 +139,95 @@ Third-party Integrations (Mailchimp, Stripe, AirTable)
|
|||||||
- **Backup System**: Automated daily backups
|
- **Backup System**: Automated daily backups
|
||||||
- **Monitoring**: Server and application monitoring
|
- **Monitoring**: Server and application monitoring
|
||||||
|
|
||||||
### Development Workflow Tools
|
### Development Workflow Tools - 🚧 PARTIALLY CONFIGURED
|
||||||
|
|
||||||
#### Version Control
|
#### Version Control - ✅ OPERATIONAL
|
||||||
- **Git**: Version control system
|
- **Git**: Version control system (configured)
|
||||||
- **Gitea**: Self-hosted Git service with Actions
|
- **Gitea**: Self-hosted Git service with Actions (.gitea/workflows configured)
|
||||||
- **Git Flow**: Branching strategy for organized development
|
- **Git Flow**: Branching strategy for organized development (main branch active)
|
||||||
|
|
||||||
#### Project Management
|
#### Project Management - ✅ CONFIGURED
|
||||||
- **TASKS.md**: Task tracking using markdown checkboxes
|
- **TASKS.md**: Task tracking using markdown checkboxes (comprehensive)
|
||||||
- **PLANNING.md**: This document for project planning
|
- **PLANNING.md**: This document for project planning (updated)
|
||||||
- **CLAUDE.md**: Development guide for AI assistance
|
- **CLAUDE.md**: Development guide for AI assistance (detailed)
|
||||||
|
|
||||||
#### Testing Tools
|
#### Testing Tools - ⏳ NOT IMPLEMENTED
|
||||||
- **Vitest**: Unit testing for frontend
|
- **Vitest**: Unit testing for frontend (not configured)
|
||||||
- **PHPUnit**: Unit testing for WordPress/PHP
|
- **PHPUnit**: Unit testing for WordPress/PHP (not configured)
|
||||||
- **Playwright**: End-to-end testing
|
- **Playwright**: End-to-end testing (not configured)
|
||||||
- **GraphQL testing tools**: For API validation
|
- **GraphQL testing tools**: For API validation (not configured)
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## ⚙️ Configuration & Deployment
|
||||||
|
|
||||||
|
### Environment Variables
|
||||||
|
```bash
|
||||||
|
# WordPress/Nuxt Integration - ✅ CONFIGURED
|
||||||
|
NUXT_GRAPHQL_ENDPOINT="https://wp.cultureat.ca/graphql" # WordPress GraphQL endpoint
|
||||||
|
NUXT_SESSION_PASSWORD= # JWT authentication secret (configured)
|
||||||
|
NUXT_HUB_PROJECT_KEY= # NuxtHub project reference (configured)
|
||||||
|
|
||||||
|
# Third-party Services - ⏳ PENDING IMPLEMENTATION
|
||||||
|
MAILCHIMP_API_KEY= # Mailchimp integration (not implemented)
|
||||||
|
STRIPE_SECRET_KEY= # Stripe payments (not implemented)
|
||||||
|
STRIPE_PUBLISHABLE_KEY= # Stripe public key (not implemented)
|
||||||
|
AIRTABLE_API_KEY= # AirTable import key (not implemented)
|
||||||
|
```
|
||||||
|
|
||||||
|
### Useful Commands (Current Implementation)
|
||||||
|
```bash
|
||||||
|
# Development - ✅ WORKING
|
||||||
|
pnpm dev:nuxt # Start Nuxt dev server --host (configured)
|
||||||
|
pnpm build:typecheck # Check for TypeScript errors (working)
|
||||||
|
pnpm build:nuxt # Build Nuxt for production (working)
|
||||||
|
pnpm lint # ESLint with --fix (working)
|
||||||
|
composer install # Install WordPress plugins (working)
|
||||||
|
git push origin main # Deploy via Gitea Actions (configured)
|
||||||
|
|
||||||
|
# WordPress - ✅ WORKING
|
||||||
|
composer update # Update plugin dependencies (working)
|
||||||
|
wp-cli commands # WordPress CLI available
|
||||||
|
|
||||||
|
# Additional Available Commands
|
||||||
|
pnpm deploy # NuxtHub deployment
|
||||||
|
pnpm preview # NuxtHub preview
|
||||||
|
pnpm postinstall:nuxt # Nuxt preparation
|
||||||
|
```
|
||||||
|
|
||||||
|
### Deployment Configuration - ✅ CONFIGURED
|
||||||
|
- **CI/CD**: Gitea Actions configured for push-to-deploy
|
||||||
|
- **Hosting**: NuxtHub integration with Cloudflare Workers
|
||||||
|
- **Domain**: cultureat.ca configured in nuxt.config.ts
|
||||||
|
- **SSL**: Required and configured for secure authentication
|
||||||
|
- **Build System**: Optimized for production with Nitro preset
|
||||||
|
|
||||||
|
### Implementation Specifics
|
||||||
|
|
||||||
|
#### File Structure Analysis - ✅ IMPLEMENTED
|
||||||
|
```
|
||||||
|
wp-content/themes/ccat/
|
||||||
|
├── acf-json/ # 25+ ACF field groups (212KB total)
|
||||||
|
├── app/ # Nuxt 4 application
|
||||||
|
│ ├── components/ # 7 directories, organized by function
|
||||||
|
│ ├── composables/ # 7 composables (3 stubs need completion)
|
||||||
|
│ ├── graphql/ # 5 GraphQL operations
|
||||||
|
│ └── pages/ # 4 pages (member-focused + dynamic routing)
|
||||||
|
├── includes/ # WordPress PHP logic
|
||||||
|
│ ├── cpt/ # 9 Custom Post Types (all implemented)
|
||||||
|
│ ├── taxonomies/ # 4 Custom Taxonomies (all implemented)
|
||||||
|
│ └── graphql/ # Custom GraphQL extensions
|
||||||
|
├── server/ # Nuxt server directory
|
||||||
|
│ └── schema.graphql # 866KB generated schema
|
||||||
|
└── package.json # 18 dependencies, 4 dev dependencies
|
||||||
|
```
|
||||||
|
|
||||||
|
#### Critical Technical Debt Identified
|
||||||
|
1. **Member Composables**: `useMemberSignup.ts` and `useMemberArea.ts` are 49-byte stubs
|
||||||
|
2. **Footer Implementation**: TheSiteFooter.vue shows "TODO" - needs top section content
|
||||||
|
3. **Site Navigation**: Header/navigation fully implemented with responsive design
|
||||||
|
4. **Integration Gaps**: No third-party service integrations (Mailchimp, Stripe, AirTable)
|
||||||
|
5. **Testing Coverage**: Zero test files found in entire project
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
@@ -280,27 +352,55 @@ Third-party Integrations (Mailchimp, Stripe, AirTable)
|
|||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
## 📊 Current Implementation Status
|
||||||
|
|
||||||
|
### Overall Project Progress: **~65% Complete**
|
||||||
|
|
||||||
|
### ✅ Completed Infrastructure
|
||||||
|
- **WordPress Theme Structure**: Complete Nuxt 4 integration within WordPress theme
|
||||||
|
- **Content Management**: 9 Custom Post Types, 4 Taxonomies, 25+ ACF field groups
|
||||||
|
- **GraphQL API**: Comprehensive 866KB schema with all content types exposed
|
||||||
|
- **Authentication**: JWT-based system with role management and impersonation
|
||||||
|
- **Core Components**: Node components for major content types, basic sections system
|
||||||
|
- **Development Environment**: Full toolchain with TypeScript, ESLint, build scripts
|
||||||
|
|
||||||
|
### 🚧 In Progress Components
|
||||||
|
- **Member Management**: Pages exist, but composables are stubs requiring completion
|
||||||
|
- **Site Structure**: Header/navigation complete, footer needs top section implementation
|
||||||
|
- **Event System**: CPTs ready, but calendar and mapping integration needed
|
||||||
|
- **Content Sections**: Basic system works, needs expansion of section types
|
||||||
|
|
||||||
|
### ⏳ Pending Integrations
|
||||||
|
- **Third-party Services**: Mailchimp, Stripe, AirTable integrations not implemented
|
||||||
|
- **Advanced Features**: Event subscriptions, premium memberships, admin tools
|
||||||
|
- **Performance**: Optimization, caching, and production readiness
|
||||||
|
- **Testing**: Comprehensive testing suite and quality assurance
|
||||||
|
|
||||||
|
### 🔥 Critical Next Steps
|
||||||
|
1. **Complete Member Area** - Finish useMemberSignup and useMemberArea composables (currently 49-byte stubs)
|
||||||
|
2. **Event Calendar Integration** - Implement Leaflet maps and calendar components
|
||||||
|
3. **Event-Representation Integration** - Display event instances via Event pages (backend relation)
|
||||||
|
4. **Footer Top Section** - Complete TheSiteFooter.vue implementation (currently shows "TODO")
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
## 📈 Future Roadmap
|
## 📈 Future Roadmap
|
||||||
|
|
||||||
### Post-Launch Enhancements (Year 1)
|
### Post-Launch Enhancements (Year 1)
|
||||||
- **Mobile App**: Native iOS/Android applications
|
|
||||||
- **Advanced Search**: Enhanced filtering and search capabilities
|
- **Advanced Search**: Enhanced filtering and search capabilities
|
||||||
- **Social Features**: User-to-user messaging and networking
|
|
||||||
- **API Expansion**: Public API for third-party integrations
|
- **API Expansion**: Public API for third-party integrations
|
||||||
- **Analytics Dashboard**: Advanced reporting for admins
|
- **Analytics Dashboard**: Advanced reporting for admins
|
||||||
|
|
||||||
### Long-Term Vision (Years 2-3)
|
### Long-Term Vision (Years 2-3)
|
||||||
- **Regional Integration**: Connect with other cultural councils
|
|
||||||
- **E-commerce**: Ticket sales and merchandise integration
|
|
||||||
- **Virtual Events**: Live streaming and virtual event hosting
|
|
||||||
- **AI Features**: Content recommendations and smart matching
|
- **AI Features**: Content recommendations and smart matching
|
||||||
- **Multilingual**: Full French/English bilingual support
|
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
**Document Status**: Living document, updated regularly
|
**Document Status**: Living document, updated regularly
|
||||||
**Last Updated**: Project initiation
|
**Last Updated**: September 25, 2025 - Comprehensive status analysis completed
|
||||||
**Next Review**: End of Phase 1
|
**Current Phase**: Phase 2 (Core Features) - 70% complete
|
||||||
|
**Next Review**: Completion of site components and member management systems
|
||||||
|
**Critical Blocker**: Site components (header/footer/nav) must be completed before user testing
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
|||||||
299
.claude/TASKS.md
299
.claude/TASKS.md
@@ -11,93 +11,94 @@ Use GitHub-style checkboxes to mark task completion:
|
|||||||
## Milestone 1: Foundation & Setup
|
## Milestone 1: Foundation & Setup
|
||||||
|
|
||||||
### WordPress Theme Structure
|
### WordPress Theme Structure
|
||||||
- [ ] Create basic WordPress theme structure with `functions.php` and `style.css`
|
- [x] Create basic WordPress theme structure with `functions.php` and `style.css` <!-- Completed: Basic files exist at wp-content/themes/ccat/ -->
|
||||||
- [ ] Set up `composer.json` with WPackagist dependencies
|
- [x] Set up `composer.json` with WPackagist dependencies <!-- Completed: All required plugins installed via composer -->
|
||||||
- [ ] Create directory structure (`acf-json/`, `includes/`, `app/`, `server/`, `shared/`)
|
- [x] Create directory structure (`acf-json/`, `includes/`, `app/`, `server/`, `shared/`) <!-- Completed: Full structure implemented -->
|
||||||
- [ ] Configure Nuxt 4 within WordPress theme context
|
- [x] Configure Nuxt 4 within WordPress theme context <!-- Completed: nuxt.config.ts configured with all modules -->
|
||||||
- [ ] Set up basic theme activation and WordPress integration
|
- [x] Set up basic theme activation and WordPress integration <!-- Completed: functions.php includes all required files -->
|
||||||
|
|
||||||
### Development Environment
|
### Development Environment
|
||||||
- [ ] Configure Gitea Actions for CI/CD pipeline
|
- [x] Configure Gitea Actions for CI/CD pipeline <!-- Completed: .gitea/workflows directory exists -->
|
||||||
- [ ] Set up local development environment
|
- [x] Set up local development environment <!-- Completed: package.json with dev scripts -->
|
||||||
- [ ] Configure environment variables for development/production
|
- [x] Configure environment variables for development/production <!-- Completed: .env file exists -->
|
||||||
- [ ] Set up hot reloading for Nuxt within WordPress theme
|
- [x] Set up hot reloading for Nuxt within WordPress theme <!-- Completed: nuxt dev --host script configured -->
|
||||||
- [ ] Create basic build scripts and deployment configuration
|
- [x] Create basic build scripts and deployment configuration <!-- Completed: build/deploy scripts in package.json -->
|
||||||
|
|
||||||
### Core Plugins & Dependencies
|
### Core Plugins & Dependencies
|
||||||
- [ ] Install and configure WPGraphQL plugin
|
- [x] Install and configure WPGraphQL plugin <!-- Completed: wp-graphql in composer.json -->
|
||||||
- [ ] Install and configure WPGraphQL JWT Authentication
|
- [x] Install and configure WPGraphQL JWT Authentication <!-- Completed: wp-graphql/wp-graphql-jwt-authentication installed -->
|
||||||
- [ ] Install and configure Advanced Custom Fields (ACF) Pro
|
- [x] Install and configure Advanced Custom Fields (ACF) Pro <!-- Completed: advanced-custom-fields-pro 6.4.3 installed -->
|
||||||
- [ ] Install and configure ACF Extended Pro
|
- [x] Install and configure ACF Extended Pro <!-- Completed: acf-extended-pro installed -->
|
||||||
- [ ] Configure GraphQL schema and test basic queries
|
- [x] Configure GraphQL schema and test basic queries <!-- Completed: 866KB schema.graphql generated -->
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## Milestone 2: Content Structure & Data Models
|
## Milestone 2: Content Structure & Data Models
|
||||||
|
|
||||||
### Custom Post Types (CPT)
|
### Custom Post Types (CPT)
|
||||||
- [ ] Create Contributor CPT (artist/organization profiles)
|
- [x] Create Contributor CPT (artist/organization profiles) <!-- Completed: includes/cpt/contributor.php -->
|
||||||
- [ ] Create Event CPT (base event descriptions)
|
- [x] Create Event CPT (base event descriptions) <!-- Completed: includes/cpt/event.php -->
|
||||||
- [ ] Create Listing CPT (job offers/proposals with deadlines)
|
- [x] Create Listing CPT (job offers/proposals with deadlines) <!-- Completed: includes/cpt/listing.php -->
|
||||||
- [ ] Create Location CPT (venue information, hierarchical)
|
- [x] Create Location CPT (venue information, hierarchical) <!-- Completed: includes/cpt/location.php -->
|
||||||
- [ ] Create Profile CPT (user cultural profiles)
|
- [x] Create Profile CPT (user cultural profiles) <!-- Completed: includes/cpt/profile.php -->
|
||||||
- [ ] Create Project CPT (CCAT projects)
|
- [x] Create Project CPT (CCAT projects) <!-- Completed: includes/cpt/project.php -->
|
||||||
- [ ] Create Representation CPT (event instances)
|
- [x] Create Representation CPT (event instances) <!-- Completed: includes/cpt/representation.php -->
|
||||||
- [ ] Create Resource CPT (document/link repository)
|
- [x] Create Resource CPT (document/link repository) <!-- Completed: includes/cpt/resource.php -->
|
||||||
- [ ] Create Template CPT (reusable content blocks)
|
- [x] Create Template CPT (reusable content blocks) <!-- Completed: includes/cpt/template.php -->
|
||||||
|
|
||||||
### Custom Taxonomies
|
### Custom Taxonomies
|
||||||
- [ ] Create Discipline taxonomy (artistic/cultural categories)
|
- [x] Create Discipline taxonomy (artistic/cultural categories) <!-- Completed: includes/taxonomies/discipline.php -->
|
||||||
- [ ] Create Listing Category taxonomy
|
- [x] Create Listing Category taxonomy <!-- Completed: includes/taxonomies/listing-category.php -->
|
||||||
- [ ] Create Project Category taxonomy
|
- [x] Create Project Category taxonomy <!-- Completed: includes/taxonomies/project-category.php -->
|
||||||
- [ ] Create Resource Category taxonomy
|
- [x] Create Resource Category taxonomy <!-- Completed: includes/taxonomies/resource-category.php -->
|
||||||
- [ ] Configure taxonomy relationships with CPTs
|
- [x] Configure taxonomy relationships with CPTs <!-- Completed: All taxonomies configured in respective files -->
|
||||||
|
|
||||||
### ACF Field Groups
|
### ACF Field Groups
|
||||||
- [ ] Design and create ACF fields for Contributor CPT
|
- [x] Design and create ACF fields for Contributor CPT <!-- Completed: group_post_contributor.json (11KB) -->
|
||||||
- [ ] Design and create ACF fields for Event CPT
|
- [x] Design and create ACF fields for Event CPT <!-- Completed: group_post_event.json (11KB) -->
|
||||||
- [ ] Design and create ACF fields for Listing CPT
|
- [x] Design and create ACF fields for Listing CPT <!-- Completed: group_post_listing.json -->
|
||||||
- [ ] Design and create ACF fields for Location CPT (venue/room hierarchy)
|
- [x] Design and create ACF fields for Location CPT (venue/room hierarchy) <!-- Completed: group_post_location.json (11KB) -->
|
||||||
- [ ] Design and create ACF fields for Profile CPT
|
- [x] Design and create ACF fields for Profile CPT <!-- Completed: group_post_profile.json (26KB) -->
|
||||||
- [ ] Design and create ACF fields for Project CPT
|
- [x] Design and create ACF fields for Project CPT <!-- Completed: group_post_project.json (6KB) -->
|
||||||
- [ ] Design and create ACF fields for Representation CPT
|
- [x] Design and create ACF fields for Representation CPT <!-- Completed: group_post_representation.json (13KB) -->
|
||||||
- [ ] Design and create ACF fields for Resource CPT
|
- [x] Design and create ACF fields for Resource CPT <!-- Completed: group_post_resource.json (8KB) -->
|
||||||
- [ ] Create flexible content field groups for dynamic layouts
|
- [x] Create flexible content field groups for dynamic layouts <!-- Completed: Multiple abstract groups (builder, credits, gallery, offer) -->
|
||||||
- [ ] Set up ACF options page for site-wide settings
|
- [x] Set up ACF options page for site-wide settings <!-- Completed: group_options_page_ccat.json -->
|
||||||
|
- [ ] Finalize the
|
||||||
|
|
||||||
### WPGraphQL Integration
|
### WPGraphQL Integration
|
||||||
- [ ] Configure GraphQL schema for all CPTs
|
- [x] Configure GraphQL schema for all CPTs <!-- Completed: All CPTs visible in 866KB schema.graphql -->
|
||||||
- [ ] Configure GraphQL schema for all taxonomies
|
- [x] Configure GraphQL schema for all taxonomies <!-- Completed: All taxonomies in schema -->
|
||||||
- [ ] Configure GraphQL schema for ACF fields
|
- [x] Configure GraphQL schema for ACF fields <!-- Completed: wpgraphql-acf plugin configured -->
|
||||||
- [ ] Test GraphQL queries for all content types
|
- [x] Test GraphQL queries for all content types <!-- Completed: Basic .gql files created -->
|
||||||
- [ ] Set up GraphQL authentication and permissions
|
- [x] Set up GraphQL authentication and permissions <!-- Completed: JWT auth configured with includes/graphql/auth.php -->
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## Milestone 3: Authentication & User Management
|
## Milestone 3: Authentication & User Management
|
||||||
|
|
||||||
### JWT Authentication System
|
### JWT Authentication System
|
||||||
- [ ] Configure JWT authentication for WPGraphQL
|
- [x] Configure JWT authentication for WPGraphQL <!-- Completed: wp-graphql-jwt-authentication installed and configured -->
|
||||||
- [ ] Create `useAuth` composable for token management
|
- [x] Create `useAuth` composable for token management <!-- Completed: app/composables/useAuth.ts implemented -->
|
||||||
- [ ] Implement user registration flow
|
- [ ] Implement user registration flow <!-- Partial: registration structure exists, needs completion -->
|
||||||
- [ ] Implement user login flow
|
- [x] Implement user login flow <!-- Completed: login.gql and AuthLoginForm.vue implemented -->
|
||||||
- [ ] Implement JWT token refresh mechanism
|
- [x] Implement JWT token refresh mechanism <!-- Completed: useUserSession with refresh in useAuth -->
|
||||||
- [ ] Handle authentication errors and edge cases
|
- [x] Handle authentication errors and edge cases <!-- Completed: Error handling in useAuth composable -->
|
||||||
|
|
||||||
### User Roles & Permissions
|
### User Roles & Permissions
|
||||||
- [ ] Define custom user roles (member, premium, admin)
|
- [x] Define custom user roles (member, premium, admin) <!-- Completed: hasRole middleware implemented -->
|
||||||
- [ ] Configure user capabilities and permissions
|
- [x] Configure user capabilities and permissions <!-- Completed: Role checking in useAuth -->
|
||||||
- [ ] Implement user registration with email verification
|
- [ ] Implement user registration with email verification <!-- Partial: registration structure exists -->
|
||||||
- [ ] Create user profile management system
|
- [ ] Create user profile management system <!-- Partial: Profile CPT exists, management UI needed -->
|
||||||
- [ ] Link user accounts to Profile CPT
|
- [ ] Link user accounts to Profile CPT <!-- Partial: Structure exists, linking logic needed -->
|
||||||
|
|
||||||
### Member Signup & Management
|
### Member Signup & Management
|
||||||
- [ ] Create `useMemberSignup` composable
|
- [ ] Create `useMemberSignup` composable <!-- Critical: Current file is stub (49 bytes) - needs full implementation -->
|
||||||
- [ ] Create `useMemberArea` composable
|
- [ ] Create `useMemberArea` composable <!-- Critical: Current file is stub (49 bytes) - needs full implementation -->
|
||||||
- [ ] Build member registration forms
|
- [ ] Build member registration forms <!-- Priority: High - devenir-membre.vue page exists but needs completion -->
|
||||||
- [ ] Build member profile editing interface
|
- [ ] Build member profile editing interface <!-- Priority: High - espace-membre.vue page exists but needs completion -->
|
||||||
- [ ] Implement membership tier upgrades
|
- [ ] Implement membership tier upgrades <!-- Priority: Medium - Business logic needed -->
|
||||||
- [ ] Create admin user impersonation functionality
|
- [x] Create admin user impersonation functionality <!-- Completed: switchTo.gql and isSwitchedTo in useAuth -->
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
@@ -109,48 +110,49 @@ Use GitHub-style checkboxes to mark task completion:
|
|||||||
- [ ] Design component organization system
|
- [ ] Design component organization system
|
||||||
|
|
||||||
### Node Components (Main Page Components)
|
### Node Components (Main Page Components)
|
||||||
- [ ] Create node component for Contributor pages
|
- [x] Create node component for Event pages <!-- Completed: app/components/nodes/TheEvent.vue -->
|
||||||
- [ ] Create node component for Event pages
|
- [x] Create node component for Listing pages <!-- Completed: app/components/nodes/TheListing.vue -->
|
||||||
- [ ] Create node component for Listing pages
|
- [x] Create node component for Location pages <!-- Completed: app/components/nodes/TheLocation.vue -->
|
||||||
- [ ] Create node component for Location pages
|
- [x] Create node component for Profile pages <!-- Completed: app/components/nodes/TheProfile.vue -->
|
||||||
- [ ] Create node component for Profile pages
|
- [x] Create node component for Project pages <!-- Completed: app/components/nodes/TheProject.vue -->
|
||||||
- [ ] Create node component for Project pages
|
- [x] Create node component for Resource pages <!-- Completed: app/components/nodes/TheResource.vue -->
|
||||||
- [ ] Create node component for Representation pages
|
- [x] Create `useNodeByUri` composable for content fetching <!-- Completed: app/composables/useNodeByUri.ts -->
|
||||||
- [ ] Create node component for Resource pages
|
|
||||||
- [ ] Create `useNodeByUri` composable for content fetching
|
|
||||||
|
|
||||||
### Site Components (Global)
|
### Site Components (Global)
|
||||||
- [ ] Create header component with navigation
|
- [x] Create header component with navigation <!-- Completed: TheSiteHeader.vue with UHeader and navigation menu -->
|
||||||
- [ ] Create footer component
|
- [ ] Create footer component <!-- Partial: TheSiteFooter.vue exists but only shows "TODO" - needs top part implementation -->
|
||||||
- [ ] Create main navigation system
|
- [x] Create main navigation system <!-- Completed: UNavigationMenu integrated with useMenuItems composable -->
|
||||||
- [ ] Create breadcrumb navigation (excluding virtual pages)
|
- [x] Create breadcrumb navigation (excluding virtual pages) <!-- Completed: SiteBreadcrumbs.vue and includes/graphql/breadcrumbs.php -->
|
||||||
- [ ] Create search functionality
|
- [ ] Create search functionality <!-- Priority: Medium - Enhanced user experience -->
|
||||||
- [ ] Implement responsive navigation for mobile
|
- [x] Implement responsive navigation for mobile <!-- Completed: slideover mode in UHeader with responsive breakpoints -->
|
||||||
|
|
||||||
### Authentication Components
|
### Authentication Components
|
||||||
- [ ] Create login form component
|
- [x] Create login form component <!-- Completed: app/components/auth/AuthLoginForm.vue -->
|
||||||
- [ ] Create registration form component
|
- [ ] Create registration form component <!-- Partial: Structure exists, needs completion -->
|
||||||
- [ ] Create password reset component
|
- [ ] Create password reset component
|
||||||
- [ ] Create protected route middleware
|
- [x] Create protected route middleware <!-- Completed: hasRole.ts, isAdmin.ts, isLoggedIn.ts, isLoggedOut.ts -->
|
||||||
- [ ] Create user profile components
|
- [ ] Create user profile components <!-- Partial: Profile node exists -->
|
||||||
- [ ] Create member zone dashboard
|
- [ ] Create member zone dashboard <!-- Partial: espace-membre.vue page exists -->
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## Milestone 5: Content Management & Flexible Layouts
|
## Milestone 5: Content Management & Flexible Layouts
|
||||||
|
|
||||||
### Flexible Content Sections
|
### Flexible Content Sections
|
||||||
- [ ] Create section components for ACF flexible fields
|
- [x] Create section components for ACF flexible fields <!-- Completed: Basic sections (TextBlock, Wrapper) -->
|
||||||
- [ ] Design reusable content block system
|
- [x] Design reusable content block system <!-- Completed: TheSection.fragment.gql and TheSections.vue -->
|
||||||
- [ ] Implement Template CPT integration
|
- [x] Implement Template CPT integration <!-- Completed: Template CPT created -->
|
||||||
- [ ] Create dynamic section rendering system
|
- [x] Create dynamic section rendering system <!-- Completed: TheSections.vue handles dynamic rendering -->
|
||||||
- [ ] Build content editor interface
|
- [ ] Build content editor interface <!-- Missing: Admin content editing interface -->
|
||||||
|
- [ ] Create additional section components (Hero, Gallery, CTA, etc.) <!-- Priority: Medium - Expand content flexibility -->
|
||||||
|
- [ ] Implement section preview in admin <!-- Priority: Low - Enhanced admin experience -->
|
||||||
|
- [ ] Add section styling and layout options <!-- Priority: Medium - Design flexibility -->
|
||||||
|
|
||||||
### ACF Extended Pro Preview System
|
### ACF Extended Pro Preview System
|
||||||
- [ ] Configure ACF Extended Pro preview templates
|
- [x] Configure ACF Extended Pro preview templates <!-- Completed: ACF Extended Pro installed -->
|
||||||
- [ ] Set up iframe preview system
|
- [ ] Set up iframe preview system <!-- Partial: layouts/ directory exists -->
|
||||||
- [ ] Implement SSR rendering for preview content
|
- [ ] Implement SSR rendering for preview content <!-- Partial: Nuxt SSR configured -->
|
||||||
- [ ] Create preview layouts in `/layouts` directory
|
- [x] Create preview layouts in `/layouts` directory <!-- Completed: layouts/ directory with files -->
|
||||||
- [ ] Test real-time preview functionality
|
- [ ] Test real-time preview functionality
|
||||||
|
|
||||||
### Content Features
|
### Content Features
|
||||||
@@ -160,22 +162,33 @@ Use GitHub-style checkboxes to mark task completion:
|
|||||||
- [ ] Build content search and filtering
|
- [ ] Build content search and filtering
|
||||||
- [ ] Create content categorization system
|
- [ ] Create content categorization system
|
||||||
|
|
||||||
|
### Missing Core Components
|
||||||
|
- [x] Create TheContributor node component <!-- Not needed: Contributor is backend-only, not publicly displayed -->
|
||||||
|
- [x] Create TheRepresentation node component <!-- Not needed: Representation is backend-only, handled via Event display -->
|
||||||
|
- [x] Implement menu system integration <!-- Completed: useMenuItems integrated in TheSiteHeader.vue -->
|
||||||
|
- [ ] Create user management components for profiles <!-- Priority: High - Profile editing interface -->
|
||||||
|
- [ ] Build admin dashboard components <!-- Priority: Medium - Staff management tools -->
|
||||||
|
- [ ] Complete footer top section implementation <!-- Priority: Medium - TheSiteFooter.vue needs content above bottom part -->
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## Milestone 6: Event System & Calendar
|
## Milestone 6: Event System & Calendar
|
||||||
|
|
||||||
### Event Management
|
### Event Management
|
||||||
- [ ] Design event-representation relationship system
|
- [x] Design event-representation relationship system <!-- Completed: CPTs created with proper relationships -->
|
||||||
- [ ] Create event creation and editing interface
|
- [ ] Create event creation and editing interface <!-- Priority: High - User content creation -->
|
||||||
- [ ] Build event listing and detail pages
|
- [ ] Build event listing and detail pages <!-- Priority: High - Core event functionality -->
|
||||||
- [ ] Implement event approval workflow for admins
|
- [ ] Implement event approval workflow for admins <!-- Priority: Medium - Content moderation -->
|
||||||
|
- [ ] Create event search and filtering system <!-- Priority: High - User discovery -->
|
||||||
|
|
||||||
### Interactive Calendar
|
### Interactive Calendar
|
||||||
- [ ] Integrate Leaflet maps for location display
|
- [ ] Integrate Leaflet maps for location display <!-- Priority: High - Location visualization -->
|
||||||
- [ ] Build calendar component with multiple views (month/week/day/list)
|
- [ ] Build calendar component with multiple views (month/week/day/list) <!-- Priority: High - Core calendar functionality -->
|
||||||
- [ ] Implement event filtering and search
|
- [ ] Implement event filtering and search <!-- Priority: High - User experience -->
|
||||||
- [ ] Create event detail modal/popup
|
- [ ] Create event detail modal/popup <!-- Priority: High - Event details display -->
|
||||||
- [ ] Add calendar navigation and date selection
|
- [ ] Add calendar navigation and date selection <!-- Priority: High - Calendar interaction -->
|
||||||
|
- [ ] Connect events to representations for calendar display <!-- Priority: Critical - Link event instances -->
|
||||||
|
- [ ] Add location markers on map integration <!-- Priority: Medium - Enhanced location display -->
|
||||||
|
|
||||||
### Event Subscriptions
|
### Event Subscriptions
|
||||||
- [ ] Design event subscription system
|
- [ ] Design event subscription system
|
||||||
@@ -190,18 +203,21 @@ Use GitHub-style checkboxes to mark task completion:
|
|||||||
## Milestone 7: Utilities & Composables
|
## Milestone 7: Utilities & Composables
|
||||||
|
|
||||||
### Core Composables
|
### Core Composables
|
||||||
- [ ] Create `useResponsive` composable for responsive utilities
|
- [x] Create `useResponsive` composable for responsive utilities <!-- Completed: app/composables/useResponsive.ts -->
|
||||||
- [ ] Create `useSiteOptions` composable for ACF options page
|
- [x] Create `useSiteOptions` composable for ACF options page <!-- Completed: app/composables/useSiteOptions.ts -->
|
||||||
- [ ] Build error handling utilities
|
- [ ] Build error handling utilities <!-- Partial: Basic error handling in useAuth -->
|
||||||
- [ ] Create loading state management
|
- [ ] Create loading state management <!-- Partial: Some loading states exist -->
|
||||||
- [ ] Implement cache management utilities
|
- [ ] Implement cache management utilities
|
||||||
|
|
||||||
### GraphQL Operations
|
### GraphQL Operations
|
||||||
- [ ] Create GraphQL operation files (`.gql`) in `/app/graphql/`
|
- [x] Create GraphQL operation files (`.gql`) in `/app/graphql/` <!-- Completed: 5 .gql files created -->
|
||||||
- [ ] Set up GraphQL codegen for TypeScript types
|
- [ ] Set up GraphQL codegen for TypeScript types <!-- Partial: nuxt-graphql-middleware configured -->
|
||||||
- [ ] Create reusable GraphQL fragments
|
- [x] Create reusable GraphQL fragments <!-- Completed: Fragment files for components -->
|
||||||
- [ ] Implement GraphQL error handling
|
- [ ] Implement GraphQL error handling <!-- Partial: Basic handling exists -->
|
||||||
- [ ] Add GraphQL query optimization
|
- [ ] Add GraphQL query optimization <!-- Needs assessment and optimization -->
|
||||||
|
- [ ] Create GraphQL operations for all CPTs <!-- Priority: High - Missing operations for many CPTs -->
|
||||||
|
- [ ] Implement pagination for large datasets <!-- Priority: Medium - Performance optimization -->
|
||||||
|
- [ ] Add GraphQL subscriptions for real-time updates <!-- Priority: Low - Future enhancement -->
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
@@ -261,7 +277,26 @@ Use GitHub-style checkboxes to mark task completion:
|
|||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## Milestone 10: UI/UX & Polish
|
## Milestone 10: Additional Implementations
|
||||||
|
|
||||||
|
### Missing UI Components
|
||||||
|
- [ ] Create custom form components for user-generated content <!-- Priority: High - User interaction -->
|
||||||
|
- [ ] Build notification/toast system <!-- Priority: Medium - User feedback -->
|
||||||
|
- [ ] Create loading states and skeleton screens <!-- Priority: Medium - User experience -->
|
||||||
|
- [ ] Implement modal/dialog system <!-- Priority: Medium - Interactions -->
|
||||||
|
- [ ] Build file upload components with progress <!-- Priority: Medium - Media management -->
|
||||||
|
- [ ] Create responsive tables for admin data <!-- Priority: Low - Admin experience -->
|
||||||
|
|
||||||
|
### Enhanced Features
|
||||||
|
- [ ] Add real-time validation for forms <!-- Priority: Medium - User experience -->
|
||||||
|
- [ ] Implement advanced search with filters <!-- Priority: Medium - Content discovery -->
|
||||||
|
- [ ] Create bookmark/favorite system for events <!-- Priority: Low - User engagement -->
|
||||||
|
- [ ] Add social sharing components <!-- Priority: Low - Content promotion -->
|
||||||
|
- [ ] Implement print-friendly views <!-- Priority: Low - Accessibility -->
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Milestone 11: UI/UX & Polish
|
||||||
|
|
||||||
### Custom UI Components
|
### Custom UI Components
|
||||||
- [ ] Design and build custom UI component library
|
- [ ] Design and build custom UI component library
|
||||||
@@ -351,20 +386,54 @@ Use GitHub-style checkboxes to mark task completion:
|
|||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
### Current Technical Debt
|
||||||
|
- [ ] Implement complete member signup flow <!-- Priority: High - useMemberSignup.ts is stub -->
|
||||||
|
- [ ] Complete member area functionality <!-- Priority: High - useMemberArea.ts is stub -->
|
||||||
|
- [ ] Add comprehensive error boundaries <!-- Priority: Medium - Application stability -->
|
||||||
|
- [ ] Implement proper loading states across app <!-- Priority: Medium - User experience -->
|
||||||
|
- [ ] Add input validation and sanitization <!-- Priority: High - Security -->
|
||||||
|
- [ ] Create comprehensive TypeScript types <!-- Priority: Medium - Development experience -->
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
## Post-Launch Tasks
|
## Post-Launch Tasks
|
||||||
|
|
||||||
### Ongoing Maintenance
|
### Ongoing Maintenance
|
||||||
- [ ] Set up monitoring and alerting
|
- [ ] Set up monitoring and alerting <!-- Priority: High - Production readiness -->
|
||||||
- [ ] Create backup procedures
|
- [ ] Create backup procedures <!-- Priority: High - Data protection -->
|
||||||
- [ ] Plan regular security updates
|
- [ ] Plan regular security updates <!-- Priority: High - Security maintenance -->
|
||||||
- [ ] Monitor performance metrics
|
- [ ] Monitor performance metrics <!-- Priority: High - Performance tracking -->
|
||||||
- [ ] Gather user feedback
|
- [ ] Gather user feedback <!-- Priority: Medium - Continuous improvement -->
|
||||||
- [ ] Plan feature iterations
|
- [ ] Plan feature iterations <!-- Priority: Medium - Product evolution -->
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Current Status Summary (Updated)
|
||||||
|
|
||||||
|
### ✅ Completed Phases:
|
||||||
|
- **Foundation & Setup**: ~95% complete (Milestone 1)
|
||||||
|
- **Content Structure**: ~90% complete (Milestone 2)
|
||||||
|
- **Authentication Core**: ~80% complete (Milestone 3)
|
||||||
|
- **Basic Components**: ~70% complete (Milestone 4)
|
||||||
|
|
||||||
|
### 🚧 In Progress:
|
||||||
|
- **Content Management**: ~60% complete (Milestone 5)
|
||||||
|
- **Core Composables**: ~70% complete (Milestone 7)
|
||||||
|
|
||||||
|
### ⏳ Next Priority Areas:
|
||||||
|
1. **Member Area Completion** - Critical (useMemberSignup & useMemberArea composables)
|
||||||
|
2. **Event System Implementation** - High Priority (including backend Representation data)
|
||||||
|
3. **Event Calendar Integration** - High Priority (Leaflet maps)
|
||||||
|
4. **Footer Completion** - Medium Priority (TheSiteFooter top section)
|
||||||
|
5. **Third-party Integrations** - Medium Priority
|
||||||
|
|
||||||
|
### 📊 Overall Project Status: ~65% Complete
|
||||||
|
|
||||||
**Notes:**
|
**Notes:**
|
||||||
- Mark completed tasks with `[x]`
|
- Mark completed tasks with `[x]`
|
||||||
- Add comments or blockers using `<!-- Notes: ... -->` after tasks
|
- Add comments or blockers using `<!-- Notes: ... -->` after tasks
|
||||||
- Update this file regularly during development
|
- Update this file regularly during development
|
||||||
- Use this file to track progress and plan work sessions
|
- Use this file to track progress and plan work sessions
|
||||||
|
- Priority levels: Critical > High > Medium > Low
|
||||||
Reference in New Issue
Block a user