Giter VIP home page Giter VIP logo

apip-ddd's Introduction

Hexagonal API Platform 3

An example project using API Platform 3 following the hexagonal architecture.

This example has been explained during the SymfonyLive Paris 2022 (slides).

Getting started

If you wan't to try to use and tweak that example, you can follow these steps:

  1. Run git clone https://github.com/mtarld/apip-ddd to clone the project
  2. Run docker-compose build --pull --no-cache to build fresh images
  3. Run docker-compose up to up your containers
  4. Visit https://localhost and play with your app!

โš ๏ธ Temporary dependencies

As API platform 3 isn't released yet, that repository is using the dev-main branch of api-platform/core. As soon as API Platform is released (it should happen very soon), the v3 tag must be targetterd and the minimum-stability must be updated.

What's inside?

Following links aim to explain the architecture of the project and the purpose of each classes.

Contributing

That implementation is pragmatic and far for being uncriticable. It's mainly an conceptual approach to extend API Platform in order to defer operations to command and query buses.

It could and should be improved, therefore feel free to submit issues and pull requests if something isn't relevant to your use cases or isn't clean enough.

Authors

Mathias Arlaud with the help of Robin Chalas

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.