boing6002/people

Person management dependency for Laravel Enso

1.1.3 2019-01-22 09:08 UTC

README

Codacy Badge StyleCI License Total Downloads Latest Stable Version

Person management dependency for Laravel Enso.

Screenshot Screenshot

click on the photo to view a large size screenshot

Features

  • separates the people centric operations from the core application user model
  • allows the management of people and their details
  • integrates with and extends the application user
  • is built upon the premise that all the application users are people, but some people may not be application users
  • can be reused and integrated with other modules which might handle categories of people (e.g. contacts)
  • a PersonFactory is included by default in the package
  • a policy is used to ensure that a person email update cannot be performed if the person is linked to an user
  • custom validations may be added through the package configuration
  • the people server-side select functionality is included by default
  • the included IsPerson trait can be used on other models that have a person relationship and require email synchronization
  • enums are used for person genders and titles

Backstory

In previous Enso versions, there was no common ground between application users and other categories of actors which also represented people, for example contacts and (some types of) clients. This sometimes lead to duplicated data as well as brittle and non reusable types and relationships.

In order to move towards better maintainability, the decision to move common data into persons was taken. Now the people structure can be reused as needed.

Configuration & Usage

Be sure to check out the full documentation for this package available at docs.laravel-enso.com

Contributions

are welcome. Pull requests are great, but issues are good too.

License

This package is released under the MIT license.