Project CMF template for building rapidly scalable applications based on the integration of the Honeybee CQRS & ES framework with the Silex micro framework based on Symfony components.
You can have Honeylex-CMF running very quickly with Docker and Composer.
If you do not already have Docker, first install it then create a machine with Virtualbox if required.
Bring up the Honeylex-CMF project on Docker as follows:
git clone [email protected]:honeylex/honeylex-cmf.git your-project
cd your-project
composer install --ignore-platform-reqs
# don't forget to connect your shell with `eval $(docker-machine env default)`
composer docker:up
Now you can run commands to setup the project:
composer honeylex project:configure
composer honeylex migrate:up
composer honeylex fixture:import # import a default administrator account
Once containers are running your project will be ready and provisioned!
Run
docker-machine ip default
to find the IP (typically http://192.168.99.100)
- Secure site https://192.168.99.100 (untrusted certs in dev mode)
- Elasticsearch admin at http://192.168.99.100:9100
- CouchDB admin at http://192.168.99.100:5984/_utils
- RabbitMQ admin at http://192.168.99.100:15672
Login as a default administrator with email [email protected]
and password admin
to access the user administration interface.
You can add application secrets in the var/secrets
folder of your docker machine. The .env
and var/docker/docker-compose.yml
files also contain additional global project environment and secrets configuration.
The following docker commands are available via composer
from your host machine:
composer docker:up # create and start containers
composer docker:down # stop and remove containers
composer docker:start # start previously stopped containers
composer docker:stop # stop/suspend running containers
composer docker:prune # remove dangling volumes and stopped containers
Honeylex-CMF comes with a number of convenient tools to help project setup and maintenance. A complete list of commands can be found by running:
composer honeylex # alias of docker-compose run --rm php_cli ./bin/honeylex
A useful set of commands are provided for managing the following system features:
- Configuration
- Crates (portable code context bundles)
- Resources (entities such as aggregate roots & projections)
- Migrations
- Fixtures
- Workers (long running asynchronous background processes)
- Events (managing the event store)
- Routing
The bootstrapped Silex app is configured with support for the following service providers:
- AssetServiceProvider
- FormServiceProvider
- LocaleServiceProvider
- MonologServiceProvider
- SerializerServiceProvider
- SessionServiceProvider
- ServiceControllerServiceProvider
- SwiftmailerServiceProvider
- TranslationServiceProvider
- TwigServiceProvider
- UrlGeneratorServiceProvider
- ValidatorServiceProvider
- WebProfilerServiceProvider
Additional security services are provided in the included Hlx\Security crate:
Read the Providers documentation for more details about Silex Service Providers.
Join us in building awesome scalable applications or ask questions here:
- Gitter honeybee #Lobby
- IRC freenode #honeybee