Skip to content

romanoji/libroteca

Repository files navigation

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.

About

Sample DDD application

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published