- Frontend scaffolding (custom implementation of Breeze)
- Roles and Permissions scaffolding
- Model logging scaffolding
- User History scaffolding
- Error Central scaffolding
- Repository Pattern scaffolding
composer require novatura/laravelInstall basic login/register functionality with Mantine UI.
php artisan novatura:scaffold:installphp artisan novatura:make:page {name}Local development is a bit tricky, because we need to mount this repository into the docker container of a sandbox/testing project.
The following steps are going to have you create a fresh laravel project and mount this repository into it.
-
Create a fresh Laravel project with Sail somewhere other than this repository
laravel new sandbox && cd sandboxcomposer require laravel/sail --devphp artisan sail:install- When prompted, select
mysql,redisandmailpit
- When prompted, select
-
Add this repository as a package by adding the following to the end of your
./composer.json{ "repositories": [ { "type": "path", "url": "/Users/{username}/code/novatura/laravel", "options": { "symlink": false } } ] }This tells composer to check both the online repo and the local path for a package when you run composer install.
I'm sure you can get a relative path to work, I just haven't bothered. Absolute paths work fine. Make sure you change {username} to your actual username. (now is probably a good time to say I have only tested any of this on MacOS)
-
Install package:
composer require novatura/laravel @dev- The
@devis required - it won't work without it. - If you ever get an error about not finding a release - it's because you forgot the
@dev.
- The
-
Publish sail's docker-compose.yml file:
php artisan sail:publish -
Modify the
./docker-compose.ymlto mount this repo:Change:
volumes: - '.:/var/www/html'
To:
volumes: - '.:/var/www/html' - '/Users/{username}/code/novatura/laravel:/var/www/html/vendor/novatura/laravel'
If you forgot to include Mailpit when setting up sail, add it as a service to
docker-compose.json:mailpit: image: 'axllent/mailpit:latest' ports: - '${FORWARD_MAILPIT_PORT:-1025}:1025' - '${FORWARD_MAILPIT_DASHBOARD_PORT:-8025}:8025' networks: - sail
-
Start sail:
./vendor/bin/sail up -
Link storage:
./vendor/bin/sail artisan storage:link -
Make a git commit in your sandbox project
- This is so that you can constantly roll back to the clean slate 😉
At this stage, you can use our commands and such, e.g. php artisan novatura:scaffold:install
Whenever you want to test a command or a change, you'll want to reinstall the package so that it sends the latest code to the docker container!
For example:
composer require novatura/laravel @dev && php artisan novatura:scaffold:installWith Sail running, you can access all outbound emails by going to http://localhost:8025 in your browser (Mailpit dashboard).