From 965060cc034eb1eb0774653c65e14ab3a74d2833 Mon Sep 17 00:00:00 2001 From: magdev Date: Tue, 3 Feb 2026 22:04:42 +0100 Subject: [PATCH] Update directory structure in CLAUDE.md and PLAN.md - Added Api/ directory with all REST API controllers - Added Admin/Dashboard.php and Admin/Reports.php - Added Integration/Prometheus.php - Added License/Updater.php - Added PostTypes/Guest.php and PostTypes/Service.php - Added Privacy/Manager.php - Added Taxonomies/ServiceCategory.php - Added assets/grafana/ directory Co-Authored-By: Claude Opus 4.5 --- CLAUDE.md | 53 +++++++++++++++++------- PLAN.md | 119 +++++++++++++++++++++++++++++++++++------------------- 2 files changed, 116 insertions(+), 56 deletions(-) diff --git a/CLAUDE.md b/CLAUDE.md index 80fc800..80ffe4a 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -237,7 +237,21 @@ wp-bnb/ │ ├── Plugin.php # Main plugin singleton │ ├── Admin/ # Admin pages │ │ ├── Calendar.php # Availability calendar page +│ │ ├── Dashboard.php # Dashboard page with statistics +│ │ ├── Reports.php # Reports page with exports │ │ └── Seasons.php # Seasons management page +│ ├── Api/ # REST API (v0.10.0+) +│ │ ├── RestApi.php # Main API registration +│ │ ├── RateLimiter.php # Transient-based rate limiting +│ │ ├── ResponseFormatter.php # Standardized responses +│ │ └── Controllers/ # API endpoint controllers +│ │ ├── AbstractController.php +│ │ ├── BookingsController.php +│ │ ├── BuildingsController.php +│ │ ├── GuestsController.php +│ │ ├── PricingController.php +│ │ ├── RoomsController.php +│ │ └── ServicesController.php │ ├── Blocks/ # Gutenberg blocks │ │ └── BlockRegistrar.php # Block registration and rendering │ ├── Booking/ # Booking system @@ -250,38 +264,47 @@ wp-bnb/ │ │ ├── AvailabilityCalendar.php │ │ ├── BuildingRooms.php │ │ └── SimilarRooms.php -│ ├── License/ -│ │ └── Manager.php # License management +│ ├── Integration/ # Third-party integrations +│ │ ├── CF7.php # Contact Form 7 integration +│ │ └── Prometheus.php # Prometheus metrics +│ ├── License/ # License management +│ │ ├── Manager.php # License validation and activation +│ │ └── Updater.php # Auto-update system │ ├── PostTypes/ # Custom post types │ │ ├── Booking.php # Booking post type │ │ ├── Building.php # Building post type -│ │ └── Room.php # Room post type +│ │ ├── Guest.php # Guest post type +│ │ ├── Room.php # Room post type +│ │ └── Service.php # Service post type │ ├── Pricing/ # Pricing system │ │ ├── Calculator.php # Price calculation │ │ ├── PricingTier.php # Pricing tier enum │ │ └── Season.php # Seasonal pricing -│ ├── Integration/ # Third-party integrations -│ │ └── CF7.php # Contact Form 7 integration +│ ├── Privacy/ # Privacy & GDPR +│ │ └── Manager.php # Data export/deletion │ └── Taxonomies/ # Custom taxonomies │ ├── Amenity.php # Amenity taxonomy (tags) -│ └── RoomType.php # Room type taxonomy (categories) -├── lib/ # Git submodules -│ └── wc-licensed-product-client/ # License client library -├── vendor/ # Composer dependencies (auto-generated) -├── assets/ +│ ├── RoomType.php # Room type taxonomy (categories) +│ └── ServiceCategory.php # Service categories +├── assets/ # CSS, JS, images │ ├── css/ │ │ ├── admin.css # Admin styles │ │ ├── blocks-editor.css # Gutenberg editor styles │ │ ├── cf7-integration.css # CF7 form styles -│ │ └── frontend.css # Frontend styles (~1250 lines) +│ │ └── frontend.css # Frontend styles +│ ├── grafana/ +│ │ └── wp-bnb-dashboard.json # Pre-configured Grafana dashboard │ └── js/ │ ├── admin.js # Admin scripts │ ├── blocks-editor.js # Gutenberg editor scripts │ ├── cf7-integration.js # CF7 form scripts -│ └── frontend.js # Frontend scripts (~825 lines) -├── templates/ # Twig templates (future) -├── languages/ # Translation files (future) -└── releases/ # Release packages (git-ignored) +│ └── frontend.js # Frontend scripts +├── languages/ # Translation files (.pot/.po/.mo) +├── lib/ # Git submodules +│ └── wc-licensed-product-client/ # License client library +├── releases/ # Release packages (git-ignored) +├── templates/ # Twig templates (reserved for future) +└── vendor/ # Composer dependencies (auto-generated) ``` ### Implementation Details diff --git a/PLAN.md b/PLAN.md index be644f7..58bf494 100644 --- a/PLAN.md +++ b/PLAN.md @@ -238,53 +238,90 @@ This document outlines the implementation plan for the WP BnB Management plugin. ```text wp-bnb/ -├── wp-bnb.php # Main plugin file -├── composer.json # Dependencies -├── src/ # PHP source (PSR-4) -│ ├── Plugin.php # Main plugin class -│ ├── License/ # License management -│ │ └── Manager.php -│ ├── PostTypes/ # Custom post types -│ │ ├── Building.php -│ │ ├── Room.php -│ │ ├── Booking.php -│ │ ├── Guest.php -│ │ └── Service.php -│ ├── Taxonomies/ # Custom taxonomies -│ │ ├── RoomType.php -│ │ └── Amenity.php -│ ├── Admin/ # Admin functionality -│ │ ├── Dashboard.php -│ │ ├── Settings.php -│ │ └── MetaBoxes.php -│ ├── Frontend/ # Frontend functionality -│ │ ├── Shortcodes.php -│ │ ├── Widgets.php -│ │ └── Search.php +├── wp-bnb.php # Main plugin file (entry point) +├── composer.json # Composer configuration +├── composer.lock # Dependency lock file +├── CHANGELOG.md # Version history +├── CLAUDE.md # AI assistant documentation +├── PLAN.md # Implementation roadmap +├── README.md # User documentation +├── .editorconfig # Editor configuration +├── .gitignore # Git ignore patterns +├── .gitmodules # Git submodule configuration +├── .gitea/ +│ └── workflows/ +│ └── release.yml # CI/CD release pipeline +├── src/ # PHP source (PSR-4: Magdev\WpBnb) +│ ├── Plugin.php # Main plugin singleton +│ ├── Admin/ # Admin pages +│ │ ├── Calendar.php # Availability calendar page +│ │ ├── Dashboard.php # Dashboard page with statistics +│ │ ├── Reports.php # Reports page with exports +│ │ └── Seasons.php # Seasons management page +│ ├── Api/ # REST API (v0.10.0+) +│ │ ├── RestApi.php # Main API registration +│ │ ├── RateLimiter.php # Transient-based rate limiting +│ │ ├── ResponseFormatter.php # Standardized responses +│ │ └── Controllers/ # API endpoint controllers +│ │ ├── AbstractController.php +│ │ ├── BookingsController.php +│ │ ├── BuildingsController.php +│ │ ├── GuestsController.php +│ │ ├── PricingController.php +│ │ ├── RoomsController.php +│ │ └── ServicesController.php │ ├── Blocks/ # Gutenberg blocks -│ │ ├── Building.php -│ │ ├── Room.php -│ │ └── Search.php -│ ├── Pricing/ # Pricing logic -│ │ ├── Calculator.php -│ │ └── PricingTier.php +│ │ └── BlockRegistrar.php # Block registration and rendering │ ├── Booking/ # Booking logic -│ │ ├── Manager.php -│ │ ├── Calendar.php -│ │ └── Workflow.php -│ └── Integration/ # Third-party integrations -│ └── CF7.php -├── templates/ # Twig templates -│ ├── admin/ -│ ├── frontend/ -│ └── email/ +│ │ ├── Availability.php # Availability checking +│ │ └── EmailNotifier.php # Email notifications +│ ├── Frontend/ # Frontend components +│ │ ├── Search.php # Room search and AJAX handlers +│ │ ├── Shortcodes.php # All shortcode handlers +│ │ └── Widgets/ # WordPress widgets +│ │ ├── AvailabilityCalendar.php +│ │ ├── BuildingRooms.php +│ │ └── SimilarRooms.php +│ ├── Integration/ # Third-party integrations +│ │ ├── CF7.php # Contact Form 7 integration +│ │ └── Prometheus.php # Prometheus metrics +│ ├── License/ # License management +│ │ ├── Manager.php # License validation and activation +│ │ └── Updater.php # Auto-update system +│ ├── PostTypes/ # Custom post types +│ │ ├── Booking.php +│ │ ├── Building.php +│ │ ├── Guest.php +│ │ ├── Room.php +│ │ └── Service.php +│ ├── Pricing/ # Pricing logic +│ │ ├── Calculator.php # Price calculation +│ │ ├── PricingTier.php # Pricing tier enum +│ │ └── Season.php # Seasonal pricing +│ ├── Privacy/ # Privacy & GDPR +│ │ └── Manager.php # Data export/deletion +│ └── Taxonomies/ # Custom taxonomies +│ ├── Amenity.php # Amenities (tags) +│ ├── RoomType.php # Room types (categories) +│ └── ServiceCategory.php # Service categories ├── assets/ # CSS, JS, images │ ├── css/ -│ ├── js/ -│ └── images/ -├── languages/ # Translation files +│ │ ├── admin.css # Admin styles +│ │ ├── blocks-editor.css # Gutenberg editor styles +│ │ ├── cf7-integration.css # CF7 form styles +│ │ └── frontend.css # Frontend styles +│ ├── grafana/ +│ │ └── wp-bnb-dashboard.json # Pre-configured Grafana dashboard +│ └── js/ +│ ├── admin.js # Admin scripts +│ ├── blocks-editor.js # Gutenberg editor scripts +│ ├── cf7-integration.js # CF7 form scripts +│ └── frontend.js # Frontend scripts +├── languages/ # Translation files (.pot/.po/.mo) ├── lib/ # Git submodules │ └── wc-licensed-product-client/ +├── releases/ # Release packages (git-ignored) +├── templates/ # Twig templates (reserved for future) └── vendor/ # Composer dependencies ```