- Update activeContext.md with current focus and status - Add development environment decisions to decisionLog.md - Update progress.md with completed tasks - Add development patterns to systemPatterns.md - Update productContext.md with environment details - Add Development Environment Setup section to implementation plan
88 lines
No EOL
3.4 KiB
Markdown
88 lines
No EOL
3.4 KiB
Markdown
# Decision Log
|
|
|
|
This file records architectural and implementation decisions using a list format.
|
|
2025-03-25 14:11:00 - Updated with development environment decisions
|
|
|
|
## Core Architectural Decisions
|
|
|
|
### Development Environment Configuration
|
|
* **Decision**: Implement Docker-based development environment with PHP-FPM
|
|
* **Rationale**: Better performance, control, and similarity to production
|
|
* **Implementation Details**:
|
|
* WordPress with PHP 8.1-FPM
|
|
* Nginx as web server
|
|
* MariaDB for database
|
|
* Custom PHP-FPM configuration
|
|
* Development-specific WordPress settings
|
|
|
|
### WordPress Configuration Strategy
|
|
* **Decision**: Use environment variables and wp-config.php overrides
|
|
* **Rationale**: Maintain security and flexibility across environments
|
|
* **Implementation Details**:
|
|
* Environment-based configuration
|
|
* Debug mode in development
|
|
* Custom site URL handling
|
|
* SSL configuration options
|
|
* Security settings management
|
|
|
|
### Database Management
|
|
* **Decision**: Use MariaDB with custom configuration
|
|
* **Rationale**: Better performance and compatibility
|
|
* **Implementation Details**:
|
|
* Custom character set and collation
|
|
* Optimized buffer settings
|
|
* Development-specific permissions
|
|
* Backup and restore capabilities
|
|
* Data synchronization tools
|
|
|
|
### Version Control Strategy
|
|
* **Decision**: Implement Git-based version control with GitHub hosting
|
|
* **Rationale**: Enable collaborative development, code review, and version tracking
|
|
* **Implementation Details**:
|
|
* Git repository with main branch
|
|
* GitHub remote for collaboration
|
|
* .gitignore to exclude environment-specific files
|
|
* Structured commit messages
|
|
* Clean repository history
|
|
|
|
### Registration and Authentication Architecture
|
|
* **Decision**: Implement custom registration and authentication system
|
|
* **Rationale**: Need fine-grained control over user registration process and role management
|
|
* **Implementation Details**:
|
|
* Custom database table for trainer profiles
|
|
* Client and server-side validation
|
|
* Automated venue creation integration
|
|
* Email notification system
|
|
* Role-based access control
|
|
* Security measures following WordPress best practices
|
|
|
|
### SSL Configuration for Development
|
|
* **Decision**: Disable SSL requirement in development
|
|
* **Rationale**: Simplify local development while maintaining production security
|
|
* **Implementation Details**:
|
|
* Configurable SSL settings
|
|
* Environment-specific SSL handling
|
|
* Production-ready SSL configuration
|
|
* Secure cookie handling
|
|
* HTTPS redirection management
|
|
|
|
### Custom Role Architecture
|
|
* **Decision**: Implement hvac_trainer custom WordPress role
|
|
* **Rationale**: Provide specific capabilities while restricting administrative access
|
|
* **Implementation Details**:
|
|
* Role name: hvac_trainer
|
|
* Custom capabilities for HVAC-specific features
|
|
* Integration with The Events Calendar capabilities
|
|
* Automatic role management through plugin lifecycle
|
|
* Strict security boundaries
|
|
|
|
### Integration-First Development Approach
|
|
* **Decision**: Maximize use of existing WordPress and The Events Calendar functionality
|
|
* **Rationale**: Leverage proven solutions, reduce custom code, ensure maintainability
|
|
* **Implementation Details**:
|
|
* Use WordPress core features whenever possible
|
|
* Extend The Events Calendar functionality rather than rebuild
|
|
* Custom development only when necessary
|
|
* Maintain plugin upgrade compatibility
|
|
|
|
2025-03-25 14:11:00 - Added development environment configuration decisions |