Willetts Technology's Custom CakePHP skeleton app
Installs: 38
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 2
Forks: 394
Type:project
pkg:composer/queencitycodefactory/app
Requires
- php: >=7.4
- cakephp/cakephp: 4.4.*
- cakephp/migrations: ^3.2
- cakephp/plugin-installer: ^1.3
- mobiledetect/mobiledetectlib: ^2.8
Requires (Dev)
- cakephp/bake: ^2.6
- cakephp/cakephp-codesniffer: ^4.5
- cakephp/debug_kit: ^4.5
- josegonzalez/dotenv: ^3.2
- phpunit/phpunit: ~8.5.0 || ^9.3
Suggests
- cakephp/repl: Console tools for a REPL interface for CakePHP applications.
- dereuromark/cakephp-ide-helper: After baking your code, this keeps your annotations in sync with the code evolving from there on for maximum IDE and PHPStan/Psalm compatibility.
- markstory/asset_compress: An asset compression plugin which provides file concatenation and a flexible filter system for preprocessing and minification.
- phpstan/phpstan: PHPStan focuses on finding errors in your code without actually running it. It catches whole classes of bugs even before you write tests for the code.
- 5.x-dev
- 4.x-dev
- 4.4.1
- 4.3.2
- 4.3.1
- 4.3.0
- 4.2.2
- 4.2.1
- 4.2.0
- 4.1.2
- 4.1.1
- 4.1.0
- 4.0.4
- 4.0.3
- 4.0.2
- 4.0.1
- 4.0.0
- 4.0.0-RC2
- 4.0.0-RC1
- 4.0.0-alpha1
- 3.10.1
- 3.10.0
- 3.9.1
- 3.9.0
- 3.8.0
- 3.7.1
- 3.7.0
- 3.6.5
- 3.6.4
- 3.6.3
- 3.6.2
- 3.6.1
- 3.6.0
- 3.5.1
- 3.5.0
- 3.5.0-RC1
- 3.4.2
- 3.4.1
- 3.4.0
- 3.3.6
- 3.3.5
- 3.3.4
- 3.3.3
- 3.3.2
- 3.3.1
- 3.3.0
- 3.3.0-beta2
- 3.3.0-beta
- 3.2.6
- 3.2.5
- 3.2.4
- 3.2.3
- 3.2.2
- 3.2.1
- 3.2.0
- 3.1.2
- 3.1.1
- 3.1.0
- 3.1.0-beta
- 3.0.5
- 3.0.4
- 3.0.3
- 3.0.2
- 3.0.1
- 3.0.0
- 3.0.0-RC2
- 3.0.0-RC1
- 3.0.0-beta3
- 3.0.0-beta2
- 3.0.0-beta1
- 3.0.0-alpha2
- 3.0.0-alpha1
- dev-dependabot/composer/phpstan/phpstan-tw-2.1.33
- dev-dependabot/github_actions/actions/checkout-6
- dev-dependabot/github_actions/actions/stale-10
- dev-master
This package is auto-updated.
Last update: 2026-01-12 18:50:08 UTC
README
A custom application skeleton for creating applications with CakePHP 5.x, enhanced with Willetts Technology's development tools and customizations.
This skeleton builds upon cakephp/app with additional features for streamlined development and deployment.
Custom Features & Enhancements
ButterCream Plugin
This skeleton includes QueenCityCodeFactory/butter-cream, a custom CakePHP plugin providing Bootstrap 5 integration and theme components.
Development Environment
- Ansible provisioning - Complete Ansible playbooks and roles for automated development environment setup
- Pre-configured services:
- PHP 8.2+ with FPM
- Nginx web server with SSL support
- MySQL database
- Memcached
- Mailpit (email testing)
- Node.js with NVM
- wkhtmltopdf for PDF generation
- Chrony for time synchronization
Frontend Asset Pipeline
- Gulp-based build system - Automated SCSS compilation, JavaScript bundling, and asset optimization
- Modern frontend stack:
- Bootstrap 5.3+
- Font Awesome 6.5+
- jQuery 3.7+
- Select2 with Bootstrap 5 theme
- Moment.js with timezone support
- Inputmask
Custom JavaScript Modules
Pre-built JavaScript utilities in assets/app/js/:
ajax-pagination.js- AJAX-based paginationapp-core.js- Core application JavaScriptclear-search-form.js- Search form reset functionalityclipboard.js- Clipboard operationsformat-time.js- Time formatting utilitiesmodal-confirm.js- Confirmation modalspagination-limit.js- Pagination limit controlspoptart.js- Toast notificationssession-monitor.js- Session timeout monitoringtmp-file-upload.js- Temporary file upload handling
Custom SCSS Components
Organized styles in assets/app/scss/:
- Action dropdowns
- Button groups and custom buttons
- Callouts and cards
- Form enhancements
- Navigation components
- PDF-specific styles
- Responsive layout system
- Template-specific styles
Additional Configuration
- US States configuration file (
config/states.php) - Enhanced .gitignore for development environment
- Self-signed certificate generation script
- Crontab management
- Development-specific SSL configuration
The framework source code can be found here: cakephp/cakephp.
Installation
Quick Start (Standard CakePHP)
- Download Composer or update
composer self-update. - Clone this repository or use it as a template.
Development Environment Setup (Ansible)
This skeleton includes a complete Ansible provisioning system for setting up a standardized development environment:
- Ensure you have Ansible installed on your host machine
- Configure your inventory in
ansible/inventories/development/ - Run the Ansible playbook:
ansible-playbook ansible/playbooks/development.yml
The Ansible setup will configure all necessary services, install dependencies, and prepare your development environment.
Frontend Assets
After installation, build the frontend assets:
npm install npm run build
This will compile SCSS, bundle JavaScript, and copy necessary assets to the webroot.
Running the Application
You can now either use your machine's webserver to view the default home page, or start up the built-in webserver with:
bin/cake server -p 8765
Then visit http://localhost:8765 to see the welcome page.
Development
Building Assets
The project uses Gulp for asset compilation. Available commands:
npm run build # Build all assets (SCSS, JS, fonts)
Gulp tasks handle:
- SCSS compilation with autoprefixing and minification
- JavaScript linting, concatenation, and uglification
- Source map generation
- Font file installation
- Asset watching for development
Cron Jobs
Crontab management is handled through Ansible. Application-specific cron jobs should be placed in cron.d/ directory.
Differences from Upstream CakePHP/app
This skeleton maintains compatibility with upstream CakePHP/app while adding:
- Ansible Infrastructure - Complete development environment automation
- Frontend Tooling - Gulp build system with modern JavaScript/CSS pipeline
- ButterCream Plugin - Bootstrap 5 integration and UI components
- Custom Components - Reusable JavaScript modules and SCSS components
- Enhanced Configuration - Additional config files for common use cases (states, etc.)
- Development Tools - SSL certificate generation, improved .gitignore
- Service Integration - Pre-configured Mailpit, Memcached, wkhtmltopdf
To update from upstream:
git fetch upstream 5.x git merge upstream/5.x
Review and resolve any conflicts, particularly in:
composer.json(dependencies)config/files (configuration)templates/layout/default.php(layout customizations)
Configuration
Read and edit the environment specific config/app_local.php and set up the
'Datasources' and any other configuration relevant for your application.
Other environment agnostic settings can be changed in config/app.php.
Additional Configuration Files
config/states.php- US state listings for dropdown/select menusdevelopment.openssl.cnf- OpenSSL configuration for development SSL certificatesansible.cfg- Ansible configuration for development provisioning
Layout
This skeleton uses Bootstrap 5 instead of the default Milligram framework. Bootstrap is integrated via the ButterCream plugin and custom SCSS components in assets/app/scss/.
The layout includes:
- Responsive navigation
- Custom button styles and components
- Card and callout components
- Form enhancements
- PDF-optimized styles
- Mobile-responsive design
Maintenance
Updating
Since this skeleton includes custom modifications on top of the upstream CakePHP/app, updates should be done carefully:
-
Fetch the latest upstream changes:
git fetch upstream 5.x
-
Review the changes before merging:
git log HEAD..upstream/5.x
-
Merge upstream changes:
git merge upstream/5.x
-
Test thoroughly, particularly:
- Custom controller and view modifications
- ButterCream plugin compatibility
- Asset compilation
- Ansible playbooks
Dependencies
- PHP: 8.2 or higher
- CakePHP: 5.3+
- Node.js: 14+ (for asset compilation)
- Composer: Latest version
Credits
- Built on CakePHP
- Customized by Willetts Technology, Inc.
- Maintained by QueenCityCodeFactory