Directory Structure

The CruiseAppy plugin is organized to support modular development, efficient data management, and seamless integration with TravelTek. Below is an overview of the key directories and their purposes, based on the plugin source and technical specification:

Directory Purpose
actions/ Contains custom WordPress actions and hooks for extending plugin functionality.
acf-groups/ Stores Advanced Custom Fields group definitions for custom meta fields.
app/ Core application logic, including main controllers and service classes.
cache/ Handles caching of cruise data, search results, and API responses for performance.
classes/ PHP classes for data models, business logic, and integration layers.
css/ Stylesheets for plugin UI components and admin pages.
fonts/ Custom fonts used in plugin UI.
helpers/ Utility functions and helper scripts for common tasks.
hooks/ WordPress hooks and filters for plugin extensibility.
img/ Images and icons used in the plugin interface.
js/ JavaScript files for interactive UI elements and AJAX functionality.
json/ JSON configuration files and cached API responses.
screens/ Screen templates and UI layouts for admin and frontend views.
scripts/ Bash and PHP scripts for automation (e.g., data import, updates, backups).
search/ Search logic, templates, and indexing scripts for cruise data.
setup/ Installation, upgrade, and environment setup scripts.
templates/ PHP template files for rendering cruise listings, booking forms, and details.
uploads/ Stores user-uploaded files, import data, and temporary assets.
vendor/ Third-party dependencies managed via Composer.

Notes:

  • The structure supports automated data import and update workflows.
  • cache/, scripts/, and setup/ are essential for performance optimization and deployment automation.
  • Integration with TravelTek is handled in app/, classes/, and scripts/.
  • Security and access control are managed via hooks, actions, and custom fields.