saritasa / laravel-notifications-api
Implementation for notifications API
Installs: 3 074
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 10
Forks: 1
Open Issues: 0
Requires
- php: >=7.0
- illuminate/database: ^5.4 || ^6.0
- illuminate/http: ^5.4 || ^6.0
- illuminate/notifications: ^5.4 || ^6.0
- illuminate/support: ^5.4 || ^6.0
- saritasa/eloquent-custom: ^1.0
Requires (Dev)
- phpunit/phpunit: ^6.0
- squizlabs/php_codesniffer: ^3.5
README
Implementation of Notifications API.
Laravel 5.x
Install the saritasa/laravel-notifications-api
package:
$ composer require saritasa/laravel-notifications-api
If you use Laravel 5.4 or less,
or 5.5+ with package discovery disabled,
add the NotificationsApiServiceProvider in config/app.php
:
'providers' => array( // ... Saritasa\PushNotifications\NotificationsApiServiceProvider::class, )
For customization some library entities use artisan publish command:
-
php artisan vendor:publish --tag=saritasa-notifications-swagger
for add yaml files for api description (note: don't forget add them to paths.yaml)
-
php artisan vendor:publish --tag=saritasa-notifications-migrations
for customization migrations
-
php artisan vendor:publish --tag=saritasa-notifications-config
for customization config file
Or just use to publish all customizable resources
php artisan vendor:publish --tag=saritasa-notifications
Models (DB mapping)
NotificationType
Description of possible notification type, and if it should be on or off by default.
Mandatory fields
- id (int)
- name (string)
- defaultOn (boolean)
NotificationSetting
User's personal setting value - if certain notification type is on or off.
Mandatory fields:
- id (int)
- userId (int)
- notificationTypeId (int)
- isOn (boolean)
Contributing
- Create fork, checkout it
- Develop locally as usual. Code must follow PSR-1, PSR-2 - run PHP_CodeSniffer to ensure, that code follows style guides
- Cover added functionality with unit tests and run PHPUnit to make sure, that all tests pass
- Update README.md to describe new or changed functionality
- Add changes description to CHANGES.md file. Use Semantic Versioning convention to determine next version number.
- When ready, create pull request
Make shortcuts
If you have GNU Make installed, you can use following shortcuts:
make cs
(instead ofphp vendor/bin/phpcs
) - run static code analysis with PHP_CodeSniffer to check code stylemake csfix
(instead ofphp vendor/bin/phpcbf
) - fix code style violations with PHP_CodeSniffer automatically, where possible (ex. PSR-2 code formatting violations)make test
(instead ofphp vendor/bin/phpunit
) - run tests with PHPUnitmake install
- instead ofcomposer install
make all
or justmake
without parameters - invokes described above install, cs, test tasks sequentially - project will be assembled, checked with linter and tested with one single command