- Environment dev build with docker
- Automated build with apache ant
- DDD (Domain Driver Design)
- RESTful API
- Implement dev fixtures with alice
- Unit testing with PHPUnit
- Test API with Behat
- CommandHandler
- Implement CommandBus with tactician
- DomainEvents
- Publish Events to RabbitMQ
- Events stored in ElasticSearch
- Nginx logs with ELK (Elasticsearch + Logstash + Kibana)
- Continuous integration with Travis and Docker
NOTE: Refactor Pending
- PHP7
- Nginx
- MySQL
- RabbitMQ
- Elasticsearch
- Logstash
- Kibana
Clone this repository
$ git clone [email protected]:albertcolom/ddd-cms.gitStart docker compose
$ docker-compose up -dBuild environment with Apache Ant
$ docker-compose exec php ant buildAdd domain in host (Optional)
127.0.0.1 ddd.cms.dev- API Doc:
http://localhost/api/doc or http://ddd.cms.dev/api/doc - RabbitMQ:
http://localhost:15672 or http://ddd.cms.dev:15672 - ElasticSearch:
http://localhost:9200 or http://ddd.cms.dev:9200 - Kibana:
http://localhost:5601 or http://ddd.cms.dev:5601
$ docker-compose exec php bin/consoleListener to read message from RabbitMQ and publish on ElasticSearch
$ docker-compose exec php bin/console rabbitmq:consumer eventsPHPunit
$ docker-compose exec php bin/phpunit
or
$ docker-compose exec php ant phpunitPHP Mess Detector: PHPMD
$ docker-compose exec php bin/phpmd src text ruleset.xml
or
$ docker-compose exec php ant phpmdCodeSniffer PSR-2
$ docker-compose exec php bin/phpcs --standard=PSR2 src
or
$ docker-compose exec php ant psr2Behat
$ docker-compose exec php bin/behat
or
$ docker-compose exec php ant behatExecute all test suite (PHPunit, PHPMD, PSR-2, Behat)
$ docker-compose exec php ant testing