Skip to content

Files

Latest commit

a3d64c9 · Sep 23, 2017

History

History
53 lines (27 loc) · 1.73 KB

README.md

File metadata and controls

53 lines (27 loc) · 1.73 KB

Libroteca - Simple, DDD based library management app

It's a simple demo of DDD project created for learning purposes.

You can find here some uses of CQS approach and Hexagonal Architecture.

Project has been split into two parts - first concerns business logic (Application and Domain) and the second is infrastructure.

The infrastructure part was created on two independent environments.

One is based on Symfony framework with PostgreSQL relational database.

The other one works on Lumen framework and MongoDB NoSQL database.

Both environments are using one business logic to achieve almost the same result.

Requirements

Quick setup

Both applications use Docker with Docker Compose to help with the setup.

Below you can find instructions for each of them.

Before starting

Run composer install --ignore-platform-reqs to install all required dependencies.

*(required if you only want to run specs)

Application is running on localhost:8080 by default.

You can import this file in the Postman to check all available endpoints.

Symfony + PostgreSQL

bin/symfony-app up - to build & start Symfony app.

Lumen + MongoDB

bin/lumen-app up - to build & start Lumen app.

Running specs

bin/behat to run all Behat scenarios.

bin/phpspec run to run all PHPSpec specifications.