gammamatrix/site-laravel

Playground: This package provides a Laravel (users.id is an integer) site using Sanctum for authentication and authorization and utilizes Blade for the UI. A Content Management System is also provided, along with user and settings management.

dev-develop / 73.x-dev 2024-03-25 06:25 UTC

This package is auto-updated.

Last update: 2024-04-25 06:46:22 UTC


README

Playground CI Workflow Test Coverage PHPStan Level 9 src and tests

This package includes a standard Laravel installation with the playground-site-blade package.

  • This uses a standard Laravel user with an incrementing ID.
  • To use a UUID for the primary key on the User model, use site-playground instead.

Read more on using Site: Laravel at Read the Docs: Playground Documentation.

This package may be installed with composer create-project

composer create-project gammamatrix/site-laravel site-example --stability dev
  • NOTE A stable version needs to be released for create-project

Installed Playground Packages

Package Description
playground-admin-resource Provide the Admin UI to manage users and settings.
playground-cms-resource Provide the CMS UI for the Playground Content Management System.
playground-login-blade Provides endpoints a Blade UI for authentication, authorization, verification and credential management.
playground-site-blade Provides a standard website with an index, dashboard, sitemap, theme handling and CMS integration.

Installed Support Playground Packages

Package Description
playground A base package for Laravel integration.
playground-admin Provide the Settings models for playground-admin-resource.
playground-auth Provide authentication and authorization handling for Laravel applications. Allows using Sanctum.
playground-blade Provides Blade UI handling for login, resource and site packages.
playground-cms Provide the CMS models for playground-cms-resource.
playground-http Provide HTTP content and filter handling for controllers and requests.
playground-test A test helper for Playground packages.
composer require --dev gammamatrix/playground-test
composer require gammamatrix/playground-site-blade
composer require gammamatrix/playground-login-blade
composer require gammamatrix/playground-admin-resource
php artisan install:api
  • Installs Sanctum
  • Update the user model to enable Sanctum: use HasApiTokens

NOTE: Disable default Laravel welcome route.

Testing

This application supports running integration tests with the installed Playground packages.

<testsuites>
  <testsuite name="Unit">
    <directory>tests/Unit</directory>
    <directory>vendor/gammamatrix/playground/tests/Unit</directory>
    <directory>vendor/gammamatrix/playground-auth/tests/Unit</directory>
    <directory>vendor/gammamatrix/playground-blade/tests/Unit</directory>
    <directory>vendor/gammamatrix/playground-admin/tests/Unit</directory>
    <directory>vendor/gammamatrix/playground-admin-resource/tests/Unit</directory>
    <directory>vendor/gammamatrix/playground-cms/tests/Unit</directory>
    <directory>vendor/gammamatrix/playground-cms-resource/tests/Unit</directory>
    <directory>vendor/gammamatrix/playground-http/tests/Unit</directory>
    <directory>vendor/gammamatrix/playground-test/tests/Unit</directory>
  </testsuite>
  <testsuite name="Feature">
    <directory>tests/Feature</directory>
    <directory>vendor/gammamatrix/playground/tests/Feature</directory>
    <directory>vendor/gammamatrix/playground-auth/tests/Feature</directory>
    <directory>vendor/gammamatrix/playground-blade/tests/Feature</directory>
    <directory>vendor/gammamatrix/playground-admin/tests/Feature</directory>
    <directory>vendor/gammamatrix/playground-admin-resource/tests/Feature</directory>
    <directory>vendor/gammamatrix/playground-cms/tests/Feature</directory>
    <directory>vendor/gammamatrix/playground-cms-resource/tests/Feature</directory>
    <directory>vendor/gammamatrix/playground-login-blade/tests/Feature</directory>
    <directory>vendor/gammamatrix/playground-http/tests/Feature</directory>
    <directory>vendor/gammamatrix/playground-site-blade/tests/Feature</directory>
    <directory>vendor/gammamatrix/playground-test/tests/Feature</directory>
  </testsuite>
</testsuites>

<source>
  <include>
    <directory>app</directory>
    <directory suffix=".php">vendor/gammamatrix/playground/src</directory>
    <directory suffix=".php">vendor/gammamatrix/playground-auth/src</directory>
    <directory suffix=".php">vendor/gammamatrix/playground-blade/src</directory>
    <directory suffix=".php">vendor/gammamatrix/playground-admin/src</directory>
    <directory suffix=".php">vendor/gammamatrix/playground-admin-resource/src</directory>
    <directory suffix=".php">vendor/gammamatrix/playground-cms/src</directory>
    <directory suffix=".php">vendor/gammamatrix/playground-cms-resource/src</directory>
    <directory suffix=".php">vendor/gammamatrix/playground-login-blade/src</directory>
    <directory suffix=".php">vendor/gammamatrix/playground-site-blade/src</directory>
    <directory suffix=".php">vendor/gammamatrix/playground-http/src</directory>
    <directory suffix=".php">vendor/gammamatrix/playground-test/src</directory>
  </include>
</source>
composer test

Test examples:

phpunit --coverage-text --filter ModelTest
phpunit --coverage-text --filter RouteTest
phpunit --coverage-text --filter InstanceTest
phpunit --coverage-text --filter Policy
phpunit --coverage-text --filter Resource
phpunit --coverage-text  --filter Login

PHPStan

Tests at level 9 on:

  • app/
  • config/
  • database/
  • resources/views/
  • tests/Feature/
  • tests/Unit/
  • and on Playground packages.
composer analyse

Coding Standards

composer format

artisan about

Playground packages provides information in the artisan about command.

Changelog

Please see CHANGELOG for more information on what has changed recently.

Credits

License

The MIT License (MIT). Please see License File for more information.