Skip to content


Repository files navigation

DNGO Books Project

Use this to kick-start a Doctrine based Laravel app.

Included are the following:

  • Barryvdh Debugbar
  • Barryvdh IdeHelper
  • Beberlei Assert
  • Doctrine
  • Doctrine Behaviours
  • Doctrine Domain Events
  • Doctrine Entity Audit
  • Doctrine Entity Validation
  • Eloquent Enumerations
  • Environment Loader
  • HTML Builder
  • Homestead


The default namespace is "App".

The following entities and matching repositories are provided, together with YAML mapping files, pre-configured:

  • Permission
  • Role
  • User

Each repository has an interface that is pre-mapped to the interface in the repository config.

Domain Events

The User and Organization entities support Domain Events:

  • User Events
    • UserCreated
    • UserLoggedIn
    • AddressAddedToEntity
    • AddressRemovedFromEntity
    • AuthenticationCredentialsChanged
    • GrantedOrganizationToUser
    • GrantedPermissionToUser
    • GrantedRoleToUser
    • RevokedOrganizationFromUser
    • RevokedPermissionFromUser
    • RevokedRoleFromUser
  • Organization Events
    • OrganizationCreated
    • AddressAddedToEntity
    • AddressRemovedFromEntity

Getting Started

  • composer create-project dngo-io/books dngo-project
  • setup your database settings / configure the other options
  • ./artisan doctrine:schema:validate
  • ./artisan doctrine:schema:create
  • ./artisan db:seed
  • ./artisan serve
  • to use Vagrant, update the Homestead.yaml with the project location
  • vagrant up
  • then use the artisan commands as above

The standard Laravel welcome app + authentication have been setup and converted to Twig.

Additional Helper Scripts

  • - creates caches for routes, container etc.
  • - clears all caches including Doctrine query caches
  • - drops and rebuilds the database (for development only)
  • - fully refreshes all applications files including composer update and npm install