PHPackages                             gourmet/platform - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Framework](/categories/framework)
4. /
5. gourmet/platform

ActiveProject[Framework](/categories/framework)

gourmet/platform
================

Platform for CakePHP 3 web applications

v0.2.0(11y ago)181632[3 issues](https://github.com/gourmet/platform/issues)[1 PRs](https://github.com/gourmet/platform/pulls)MITPHPPHP &gt;=5.5.11

Since Apr 4Pushed 10y ago5 watchersCompare

[ Source](https://github.com/gourmet/platform)[ Packagist](https://packagist.org/packages/gourmet/platform)[ Docs](http://github.com/gourmet/platform)[ RSS](/packages/gourmet-platform/feed)WikiDiscussions master Synced 1w ago

READMEChangelogDependencies (19)Versions (3)Used By (0)

Platform for CakePHP 3 Web Application
======================================

[](#platform-for-cakephp-3-web-application)

A skeleton to quickly cook some *gourmet* [CakePHP](http://cakephp.org) web apps.

> **NOTE:** Platform is in beta, still [missing a couple more packages](#todo)but ready to help you quickly get started with your [CakePHP 3](http://cakephp.org)application.

But Why?
--------

[](#but-why)

Put simply, the official app skeleton is very basic (and rightfully so).

Platform, while replicating the official app skeleton as much as possible, distinguishes itself by a few structural changes, some pre-installed/configured libraries/plugins and some 'best practices'.

Pre-installed packages
----------------------

[](#pre-installed-packages)

### PHP packages

[](#php-packages)

- [cakephp/cakephp](//github.com/cakephp/cakephp) to power the application.
- [cakephp/migrations](//github.com/cakephp/migrations) - the official CakePHP migrations shell.
- [friendsofcake/bootstrap-ui](//github.com/friendsofcake/bootstrap-ui) to Bootstrap\*-ify\* CakePHP.
- [friendsofcake/crud](//github.com/friendsofcake/crud) to quickly get things going.
- [gourmet/email](//github.com/gourmet/email) to better create/manage emails.
- [gourmet/faker](//github.com/gourmet/faker) to generate fixture and seed data.
- [gourmet/robo](//github.com/gourmet/robo) to run build or other tasks using [Robo](http://robo.li).
- [josegonzalez/dotenv](//github.com/josegonzalez/php-dotenv) to easily manage environment variables.
- [markstory/asset\_compress](//github.com/markstory/asset_compress) to handle asset compression, minification, etc.
- [mobiledetect/mobiledetectlib](//github.com/serbanghita/Mobile-Detect).

#### Development dependencies

[](#development-dependencies)

- [cakephp/bake](//github.com/cakephp/bake) - the official CakePHP bake tool.
- [cakephp/cakephp-codesniffer](//github.com/cakephp/cakephp-codesniffer) - the official CakePHP code standard sniffs.
- [cakephp/codeception](//github.com/cakephp/codeception) the official CakePHP module for [Codeception](http://codeception.com)
- [cakephp/debug\_kit](//github.com/cakephp/debug_kit) - the official CakePHP debugging tool.
- [codeception/specify](//github.com/codeception/specify) BDD code blocks for PHPUnit &amp; Codeception.
- [codeception/verify](//github.com/codeception/verify) BDD assertion library for PHPUnit.
- [d11wtq/boris](//github.com/d11wtq/boris)
- [gourmet/whoops](//github.com/gourmet/whoops) to beautify errors and exceptions (only in debug mode).

### CSS/JS assets

[](#cssjs-assets)

Assets are installed using [robloach/component-installer](//github.com/robloach/component-installer):

- [twbs/bootstrap](http://getbootstrap.com)
- [jquery/jquery](http://jquery.com)

Get started
-----------

[](#get-started)

It is assumed that you have the following installed globally:

- [Composer](//getcomposer.org/doc/00-intro.md#globally) - PHP package manager

If (or once) you have them all installed, run:

```
composer create-project -s dev gourmet/platform [app_name]

```

This will create the *app\_name* project folder and download all dependencies.

Configure
---------

[](#configure)

Platform's configuration is broken into 'scopes':

- application
- asset\_compress
- cache
- database
- dispatcher
- email
- error
- log
- paths
- plugin
- routes
- security
- session

This makes configuration a little more organized (compared to a single file) and easily accessible using your IDE's fuzzy finder (try typing 'log' in the fuzzy finder, the first matching file should the log config file).

*To reduce the # of requires, a build process should concatenate all these and use the resulting file in production. It has yet to be implemented.*

### Quick Tips

[](#quick-tips)

To enable `debug` mode without having to modify any file:

```
touch .debug

```

or use the `DEBUG` environment variable.

Provisioning
------------

[](#provisioning)

To keep things DRY and not re-invent the wheel, `ansible-galaxy` (the Ansible package manager) is used. To install the roles:

```
ansible-galaxy install --role-file ansible/requirements.yml --force

```

For more, read \[Ansible's official documentation\].

### Local development

[](#local-development)

A `Vagrantfile` is included to make it easy to start a local VM using the Ansible provisioner. Modify it to suit your needs, but the defaults should be a good start in most cases. They assume:

```
Box: trusty64
Box Url:
Memory: 512MB
CPUs: 1
Synced Folders: ./ -> /vagrant (using NFS)

```

The `ansible` provisioner is the preferred method but if you don't have it installed locally, no worries. A shell provisioner will install Ansible on the VM and run the playbook.

All you need to do is:

```
vagrant up

```

To manually run the playbook (after an initial `vagrant up`):

```
ansible-playbook ansible/provision.yml \
--private-key=.vagrant/machines/default/virtualbox/private_key \
-i .vagrant/provisioners/ansible/inventory/vagrant_ansible_inventory \
-u root

```

Sometimes, running the above command will trigger the following error:

```
fatal: [default] => SSH Error: Host key verification failed.

```

In those cases, just make sure that your `~/.ssh/known_hosts`

TODO
----

[](#todo)

- Use [monolog/monolog](//github.com/seldaek/monolog) to handle all types of logging. See [\#2033](//github.com/cakephp/cakephp/issues/2033).
- Add link to [capcake](//github.com/jadb/capcake) deployments.
- Add link to [rocketeer](//github.com/anahkiasen/rocketeer) deployments.

Versioning
----------

[](#versioning)

Platform uses [semantic versioning](http://semver.org):

> Given a version number MAJOR.MINOR.PATCH, increment the:
>
> - MAJOR version when you make incompatible API changes,
> - MINOR version when you add functionality in a backwards-compatible manner, and
> - PATCH version when you make backwards-compatible bug fixes.
>
> Additional labels for pre-release and build metadata are available as extensions to the MAJOR.MINOR.PATCH format.

License
-------

[](#license)

Copyright (c) 2015, Jad Bitar and licensed under [The MIT License](http://www.opensource.org/licenses/mit-license.php).

###  Health Score

26

—

LowBetter than 43% of packages

Maintenance17

Infrequent updates — may be unmaintained

Popularity19

Limited adoption so far

Community11

Small or concentrated contributor base

Maturity49

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Unknown

Total

1

Last Release

4063d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/ccb57ae849b67ade8d9c1e266bc2868183bbcf07fb6c66c2d45254a452272d54?d=identicon)[jadb](/maintainers/jadb)

---

Top Contributors

[![jadb](https://avatars.githubusercontent.com/u/33527?v=4)](https://github.com/jadb "jadb (7 commits)")

---

Tags

cakephpplatformappgourmet

### Embed Badge

![Health badge](/badges/gourmet-platform/health.svg)

```
[![Health](https://phpackages.com/badges/gourmet-platform/health.svg)](https://phpackages.com/packages/gourmet-platform)
```

###  Alternatives

[cakephp/queue

Queue plugin for CakePHP

36257.9k12](/packages/cakephp-queue)[gourmet/filters

Dispatcher filters (middlewares) for CakePHP 3

102.8k](/packages/gourmet-filters)[bedita/manager

BEdita Manager - official admin webapp for BEdita4 API

131.0k](/packages/bedita-manager)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
