Technical Requirements and Architecture
Current WordPress Analysis
Existing Site: https://feaa.info/wordpress/grownative/
- WordPress version: [TO BE DETERMINED during audit]
- Current plugins: [TO BE INVENTORIED]
- Hosting provider: [TO BE DOCUMENTED]
- Domain configuration: Subdirectory installation
Hosting Requirements
DECISION REQUIRED: Hosting Strategy
Option A: Enhance Current Hosting
- Continue with existing hosting provider
- Upgrade plan if needed for additional database requirements
- Maintain subdirectory structure
Option B: Dedicated Hosting
- Move to WordPress-specific hosting (WP Engine, Kinsta, etc.)
- Better performance and backup capabilities
- Easier staging environments
Current hosting capabilities needed:
- [ ] MySQL database (minimum 5.7)
- [ ] PHP 8.0+ support
- [ ] SSL certificate
- [ ] Regular backups
- [ ] Staging environment capability
WordPress Plugin Architecture
Core Functionality Plugins
Required Plugins:
- Advanced Custom Fields Pro ($149/year)
- Purpose: Structured plant data entry
- Features: Custom post types, field groups, relationship fields
- Alternative: Free ACF + Custom code (more development work)
- SearchWP ($99/year) OR FacetWP ($199/year)
- Purpose: Advanced plant search and filtering
- DECISION REQUIRED: SearchWP (simpler) vs FacetWP (more powerful filtering)
- WP User Frontend (Free + Pro $97/year)
- Purpose: User-submitted plant information
- Features: Frontend forms, user dashboards
- Ultimate Member (Free + Extensions)
- Purpose: User profiles and community features
- Features: Registration, profiles, user directories
DECISION REQUIRED: Additional Features
Community Features:
- [ ] WP Review ($29) – Plant/method rating system
- [ ] bbPress (Free) – Forum discussions
- [ ] BuddyPress (Free) – Social networking features
Content Management:
- [ ] WP All Import ($199) – Bulk plant data import
- [ ] Duplicate Post (Free) – Template plant pages
- [ ] Admin Columns (Free) – Better content management
Performance & SEO:
- [ ] WP Rocket ($59/year) – Caching
- [ ] Yoast SEO (Free) – Search optimization
- [ ] Smush (Free) – Image optimization
Database Architecture
Custom Post Types Structure
Plants (Custom Post Type)
├── Standard WordPress Fields
│ ├── Title (Scientific Name)
│ ├── Content (General Description)
│ ├── Featured Image (Primary Plant Photo)
│ └── Excerpt (Brief Description)
├── Custom Taxonomies
│ ├── Plant Type (Tree, Shrub, Herb, Fern, etc.)
│ ├── Growth Habit (Spreading, Upright, Climbing, etc.)
│ ├── Conservation Status (Not Threatened, At Risk, etc.)
│ └── Suitable Regions (Northland, Auckland, Waikato, etc.)
└── Custom Fields (ACF)
├── Basic Information
├── Physical Characteristics
├── Growing Conditions
├── Propagation Information
└── Cultural Information
DECISION REQUIRED: Data Complexity
Simple Approach:
- Use ACF fields within single post type
- Rely on taxonomies for categorization
- Store user contributions as comments/separate posts
Advanced Approach:
- Multiple related post types (Plants, Propagation Methods, Success Stories)
- Custom database tables for complex relationships
- More development complexity but better data structure
API Readiness for Future Mobile Apps
WordPress REST API Extensions
Standard WordPress REST API provides:
- Plant post data retrieval
- Taxonomy filtering
- User authentication
- Media/image access
Custom API Endpoints Needed:
// Example custom endpoints for mobile app
/wp-json/grownative/v1/plants/
/wp-json/grownative/v1/plants/{id}/propagation-methods
/wp-json/grownative/v1/search/plants?conditions=shade&type=tree
/wp-json/grownative/v1/user/success-stories
DECISION REQUIRED: API Scope
Basic API (Recommended for Phase 1):
- Read-only access to plant database
- Simple filtering and search
- User authentication for future contributions
Advanced API:
- Full CRUD operations via mobile app
- Real-time synchronization
- Offline capability support
- Image upload from mobile
Development Environment
Local Development Setup
Required Tools:
- Docker Desktop
- Git version control
- Code editor (VS Code recommended)
- Claude Code (already installed)
Docker Configuration:
# docker-compose.yml structure
services:
wordpress:
image: wordpress:latest
volumes:
- ./themes:/var/www/html/wp-content/themes
- ./plugins:/var/www/html/wp-content/plugins
- ./uploads:/var/www/html/wp-content/uploads
mysql:
image: mysql:8.0
phpmyadmin:
image: phpmyadmin/phpmyadmin
DECISION REQUIRED: Development Workflow
Git Repository Structure:
grownative-nz/
├── wp-content/
│ ├── themes/grownative-child/
│ ├── plugins/grownative-custom/
│ └── uploads/
├── database/
│ └── seeds/
├── docker/
├── documentation/
└── deployment/
Branching Strategy:
main(production)staging(staging environment)develop(integration)feature/*(individual features)
Security and Backup Strategy
Security Requirements
Essential Security Measures:
- [ ] SSL certificate (HTTPS)
- [ ] Regular WordPress updates
- [ ] Plugin security audits
- [ ] User permission management
- [ ] Spam protection (Akismet)
Enhanced Security (Optional):
- [ ] Wordfence (Free/Premium) – Firewall and malware scanning
- [ ] Two-factor authentication for admin users
- [ ] Login attempt limiting
Backup Strategy
DECISION REQUIRED: Backup Approach
Basic Backup:
- Weekly automatic database backups
- Monthly full site backups
- Manual backups before major updates
Comprehensive Backup:
- Daily automated backups
- Real-time database replication
- Version control for all custom code
- Disaster recovery plan
Performance Considerations
Expected Load
Initial Launch:
- ~50-100 plant species
- ~10-50 active users
- Basic traffic expectations
Growth Projections:
- 500+ plant species within 2 years
- 500+ registered users
- Mobile app integration
DECISION REQUIRED: Performance Strategy
Basic Performance:
- Standard WordPress caching
- Image optimization
- CDN for static assets
Advanced Performance:
- Database optimization
- Advanced caching (Redis/Memcached)
- Load balancing preparation
Integration Requirements
External Services
Required Integrations:
- Email delivery (for user notifications)
- Google Analytics (traffic monitoring)
- Search console (SEO monitoring)
Optional Integrations:
- [ ] iNaturalist API (for plant observations)
- [ ] Google Maps (for regional information)
- [ ] Weather APIs (for growing conditions)
- [ ] Social media sharing
DECISION REQUIRED: Third-Party Services
Email Service:
- [ ] Built-in WordPress email (simple but unreliable)
- [ ] Mailgun/SendGrid (reliable, ~$10/month)
- [ ] Gmail SMTP (free but limited)
Analytics:
- [ ] Google Analytics (free, comprehensive)
- [ ] Simple Analytics (privacy-focused, paid)
- [ ] WordPress stats only
Quality Assurance
Testing Strategy
Manual Testing:
- User experience testing
- Cross-browser compatibility
- Mobile responsiveness
- Content management workflows
Automated Testing:
- Database backup/restore procedures
- Plugin update compatibility
- Performance monitoring
DECISION REQUIRED: Testing Scope
Basic Testing:
- Manual testing of core features
- User acceptance testing with small group
Comprehensive Testing:
- Automated testing suite
- Performance testing
- Security testing
- Load testing
Next Steps:
- Make decisions marked above
- Audit current hosting capabilities
- Inventory existing plugins and content
- Set up development environment
- Begin WordPress customization
Document Status: Draft for Review Technical Review Required: Yes