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:
53
CLAUDE.md
53
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
|
||||
|
||||
119
PLAN.md
119
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
|
||||
```
|
||||
|
||||
|
||||
Reference in New Issue
Block a user