Giter Site home page Giter Site logo

victorlevandovski / teamo-ddd-example Goto Github PK

View Code? Open in Web Editor NEW
53.0 2.0 10.0 3.06 MB

Implementing Domain Driven Design in PHP using Laravel

PHP 67.34% ApacheConf 0.07% JavaScript 6.91% Vue 0.07% CSS 9.74% HTML 15.88%
ddd ddd-architecture ddd-sample domain-driven-design laravel laravel-framework laravel-application laravel5 hexagonal-architecture

teamo-ddd-example's Introduction

Implementing Domain Driven Design in PHP using Laravel

Teamo is a collaboration service for small teams working on their projects. It's a place to keep discussions, tasks and events.

In Teamo every user can create unlimited number of projects, and join any projects of other users by invitation. So there is no main account of the team, there are just users and projects. User can have projects with different teams not related to each other.

This repository is an example of how such Laravel application may look. Application consists of two bounded contexts: User and Project.

In User bounded context there are things like registration, login, account settings and preferences.

Project bounded context is where everything happens, every User is a Team Member of a Project here.

These two bounded contexts are a part of the same application, however they can be easily separated since there is no direct connection between them except for few Domain Event Subscribers. They share the same database, but they don't share tables in it.

When working on new application, you usually don't need to distribute your system right away, but you can/should write a code that will be easy to distribute later.

What this code is

This code is an example of how your DDD application with Hexagonal architecture may look. Please visit /app directory.

What this code is not

This is definitely not a good example of frond-end development skills. Actually I just copied HTML, CSS and JavaScript from old project without trying to fix anything. So please don't use it as a reference on organising your resources.

teamo-ddd-example's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

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.