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 <noreply@anthropic.com>
This commit is contained in:
2026-02-03 22:04:42 +01:00
parent 0e55fae7f2
commit 965060cc03
2 changed files with 116 additions and 56 deletions

View File

@@ -237,7 +237,21 @@ wp-bnb/
│ ├── Plugin.php # Main plugin singleton │ ├── Plugin.php # Main plugin singleton
│ ├── Admin/ # Admin pages │ ├── Admin/ # Admin pages
│ │ ├── Calendar.php # Availability calendar page │ │ ├── Calendar.php # Availability calendar page
│ │ ├── Dashboard.php # Dashboard page with statistics
│ │ ├── Reports.php # Reports page with exports
│ │ └── Seasons.php # Seasons management page │ │ └── 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 │ ├── Blocks/ # Gutenberg blocks
│ │ └── BlockRegistrar.php # Block registration and rendering │ │ └── BlockRegistrar.php # Block registration and rendering
│ ├── Booking/ # Booking system │ ├── Booking/ # Booking system
@@ -250,38 +264,47 @@ wp-bnb/
│ │ ├── AvailabilityCalendar.php │ │ ├── AvailabilityCalendar.php
│ │ ├── BuildingRooms.php │ │ ├── BuildingRooms.php
│ │ └── SimilarRooms.php │ │ └── SimilarRooms.php
│ ├── License/ │ ├── Integration/ # Third-party integrations
│ │ ── Manager.php # License management │ │ ── 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 │ ├── PostTypes/ # Custom post types
│ │ ├── Booking.php # Booking post type │ │ ├── Booking.php # Booking post type
│ │ ├── Building.php # Building 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 │ ├── Pricing/ # Pricing system
│ │ ├── Calculator.php # Price calculation │ │ ├── Calculator.php # Price calculation
│ │ ├── PricingTier.php # Pricing tier enum │ │ ├── PricingTier.php # Pricing tier enum
│ │ └── Season.php # Seasonal pricing │ │ └── Season.php # Seasonal pricing
│ ├── Integration/ # Third-party integrations │ ├── Privacy/ # Privacy & GDPR
│ │ └── CF7.php # Contact Form 7 integration │ │ └── Manager.php # Data export/deletion
│ └── Taxonomies/ # Custom taxonomies │ └── Taxonomies/ # Custom taxonomies
│ ├── Amenity.php # Amenity taxonomy (tags) │ ├── Amenity.php # Amenity taxonomy (tags)
── RoomType.php # Room type taxonomy (categories) ── RoomType.php # Room type taxonomy (categories)
├── lib/ # Git submodules │ └── ServiceCategory.php # Service categories
│ └── wc-licensed-product-client/ # License client library ├── assets/ # CSS, JS, images
├── vendor/ # Composer dependencies (auto-generated)
├── assets/
│ ├── css/ │ ├── css/
│ │ ├── admin.css # Admin styles │ │ ├── admin.css # Admin styles
│ │ ├── blocks-editor.css # Gutenberg editor styles │ │ ├── blocks-editor.css # Gutenberg editor styles
│ │ ├── cf7-integration.css # CF7 form 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/ │ └── js/
│ ├── admin.js # Admin scripts │ ├── admin.js # Admin scripts
│ ├── blocks-editor.js # Gutenberg editor scripts │ ├── blocks-editor.js # Gutenberg editor scripts
│ ├── cf7-integration.js # CF7 form scripts │ ├── cf7-integration.js # CF7 form scripts
│ └── frontend.js # Frontend scripts (~825 lines) │ └── frontend.js # Frontend scripts
├── templates/ # Twig templates (future) ├── languages/ # Translation files (.pot/.po/.mo)
├── languages/ # Translation files (future) ├── lib/ # Git submodules
└── releases/ # Release packages (git-ignored) │ └── 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 ### Implementation Details

119
PLAN.md
View File

@@ -238,53 +238,90 @@ This document outlines the implementation plan for the WP BnB Management plugin.
```text ```text
wp-bnb/ wp-bnb/
├── wp-bnb.php # Main plugin file ├── wp-bnb.php # Main plugin file (entry point)
├── composer.json # Dependencies ├── composer.json # Composer configuration
├── src/ # PHP source (PSR-4) ├── composer.lock # Dependency lock file
│ ├── Plugin.php # Main plugin class ├── CHANGELOG.md # Version history
│ ├── License/ # License management ├── CLAUDE.md # AI assistant documentation
└── Manager.php ├── PLAN.md # Implementation roadmap
│ ├── PostTypes/ # Custom post types ├── README.md # User documentation
├── Building.php ├── .editorconfig # Editor configuration
├── Room.php ├── .gitignore # Git ignore patterns
├── Booking.php ├── .gitmodules # Git submodule configuration
│ │ ├── Guest.php ├── .gitea/
│ └── Service.php │ └── workflows/
├── Taxonomies/ # Custom taxonomies └── release.yml # CI/CD release pipeline
├── RoomType.php ├── src/ # PHP source (PSR-4: Magdev\WpBnb)
│ └── Amenity.php ├── Plugin.php # Main plugin singleton
│ ├── Admin/ # Admin functionality │ ├── Admin/ # Admin pages
│ │ ├── Dashboard.php │ │ ├── Calendar.php # Availability calendar page
│ │ ├── Settings.php │ │ ├── Dashboard.php # Dashboard page with statistics
│ │ ── MetaBoxes.php │ │ ── Reports.php # Reports page with exports
├── Frontend/ # Frontend functionality │ └── Seasons.php # Seasons management page
│ ├── Shortcodes.php │ ├── Api/ # REST API (v0.10.0+)
│ │ ├── Widgets.php │ │ ├── RestApi.php # Main API registration
│ │ ── Search.php │ │ ── 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 │ ├── Blocks/ # Gutenberg blocks
│ │ ── Building.php │ │ ── BlockRegistrar.php # Block registration and rendering
│ │ ├── Room.php
│ │ └── Search.php
│ ├── Pricing/ # Pricing logic
│ │ ├── Calculator.php
│ │ └── PricingTier.php
│ ├── Booking/ # Booking logic │ ├── Booking/ # Booking logic
│ │ ├── Manager.php │ │ ├── Availability.php # Availability checking
│ │ ── Calendar.php │ │ ── EmailNotifier.php # Email notifications
│ └── Workflow.php ├── Frontend/ # Frontend components
└── Integration/ # Third-party integrations │ ├── Search.php # Room search and AJAX handlers
── CF7.php ── Shortcodes.php # All shortcode handlers
├── templates/ # Twig templates │ │ └── Widgets/ # WordPress widgets
├── admin/ │ ├── AvailabilityCalendar.php
├── frontend/ │ ├── BuildingRooms.php
└── email/ │ └── 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 ├── assets/ # CSS, JS, images
│ ├── css/ │ ├── css/
│ ├── js/ │ ├── admin.css # Admin styles
└── images/ │ ├── blocks-editor.css # Gutenberg editor styles
├── languages/ # Translation files ├── 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 ├── lib/ # Git submodules
│ └── wc-licensed-product-client/ │ └── wc-licensed-product-client/
├── releases/ # Release packages (git-ignored)
├── templates/ # Twig templates (reserved for future)
└── vendor/ # Composer dependencies └── vendor/ # Composer dependencies
``` ```