Hey there, fellow developers! This is my custom Laravel scaffold used for my personal projects.
This fantastic scaffold comes packed with powerful tools and goodies that'll make your development experience a breeze:
- Bref for effortless deployments to AWS Lambda
- Seamless integration of Bref's Laravel Bridge with exciting
features:
- DynamoDB as the
cache
driver - S3 serving as the
filesystem
driver, complete with public and private storage options - Supercharged queues with SQS as the
queue
driver
- DynamoDB as the
- With Bref's Secrets Loader to securely store your App's settings outside the repository
- With a plus of a deploy-ready
serverless.yml
configuration file
- Seamless integration of Bref's Laravel Bridge with exciting
features:
- Laravel Modules with customized
stubs
for modular awesomeness - Inertia.js and Vue.js
with SSR ready configuration and updated
resolve()
flow to also load components from modules - Laravel DebugBar to turbocharge your development workflow
- Pest for rock-solid unit testing, complete with an updated
phpunit.xml
configuration file that covers your modules too- Pest Laravel Plugin
- Laravel DOM Assertions
- With added custom assertions:
toHaveDateFormat()
,toBeSameDay()
,toHaveUnitTests()
- Ziggy Your magic wand for effortlessly accessing Laravel routes in TypeScript/JavaScript
- Font Awesome v6 Because everything looks better with icons
- Tailwind CSS v3
But wait, there's more! This scaffold just got even mightier with these awesome additions:
-
Updated GitHub Workflows for Smart Deployment Actions for every environment:
-
Dev Environment:
- Any push to the
develop
branch triggers the deployment job - Any merged PR to the
develop
branch triggers the deployment job - Both cases execute the CI
tests
job before deployment
- Any push to the
-
Staging Environment:
- Pushing to a
release/*
branch triggers the deployment job - CI
tests
job executes before the deployment
- Pushing to a
-
Production Environment:
- Only successfully merged PRs to the
main
branch trigger the deployment job - CI
tests
job executes prior to deployment
- Only successfully merged PRs to the
-
-
Credentials and configuration values are managed through GitHub's secrets/variables:
- Secrets that must be set:
AWS_ACCESS_KEY_ID
Your AWS credentialsAWS_SECRET_ACCESS_KEY
Your AWS credentialsSLS_CERTIFICATE_ARN
ARN of the certificated used for deployments (must match all environment domains, see below).
- Variables:
APP_NAME
to customize deployed app's name (default: 'Laravel')BREF_PHP_VERSION
to specify which PHP version of Bref is usedSLS_BASE_DOMAIN
to set the deployment domaindev
andstaging
deployments have environment prepend to the domain: ex: dev.example.comproduction
deployment with use specified domain without any change
SLS_SERVICE
to customize the deployed service name (default: 'app')
- Secrets that must be set:
Your journey to exceptional Laravel development starts here. Get ready to create, innovate, and make your projects shine brighter than ever before.
If you encounter any security-related issues, please feel free to raise a ticket on the issue tracker.
Contributions are more than welcome! If you come across any issues, have great ideas for new features, or want to make improvements, please don't hesitate to submit a pull request.
A huge shout-out to the contributors who have made this scaffold possible:
- Don't forget to thank all the amazing folks on the Laravel community
- Also, a big thanks to everyone in the Bref community
- All the awesome individuals in the Pest community
- The dedicated members of the Serverless community
- And of course, Hermann D. Schimpf
The Laravel framework is open-sourced software licensed under the MIT license.