temafey/symfony-skeleton

Symfony micro service skeleton using DDD, CQRS, Event Sourcing applications


README

Symfony Skeleton is an extension for the official Symfony Skeleton (recommended way for starting new projects using Symfony Flex). It's main idea is to keep simplicity of official Skeleton, while adding must-have dependencies and default configs used in Skeleton for developing majority of the projects.

Creating new project

Creating new project with Symfony Skeleton is as easy as running

composer create-project temafey/symfony-skeleton <project_name>

where <project_name> is the directory where you want to setup a new project. New project is ready for development immediately after this step.

Build Status Coverage Status

Implementations

  • Environment in Docker
  • Command Bus, Query Bus, Event Bus
  • Event Store
  • Read Model
  • Async Event subscribers
  • Rest API
  • Event Store Rest API

Stack

  • PHP 7.2
  • Percona 5.7
  • Elastic & Kibana 6.5
  • RabbitMQ 3

Project Setup

Up environment:

make start

Execute tests:

make phpunit

Static code analysis:

make style

Code style fixer:

make cs

Code style checker:

make cs-check

Enter in php container:

make s=php sh

Disable\Enable Xdebug:

make xoff

make xon

Build image to deploy

make artifact

Make release commit

make rmt

Make conventional commit, read specs https://www.conventionalcommits.org/en/v1.0.0-beta.2

make commit

Watch containers logs

make logs

See all make commands

make help

Full test circle

make test