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
cachedriver - S3 serving as the
filesystemdriver, complete with public and private storage options - Supercharged queues with SQS as the
queuedriver
- 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.ymlconfiguration file
- Seamless integration of Bref's Laravel Bridge with exciting
features:
- Laravel Modules with customized
stubsfor 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.xmlconfiguration 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
developbranch triggers the deployment job - Any merged PR to the
developbranch triggers the deployment job - Both cases execute the CI
testsjob before deployment
- Any push to the
-
Staging Environment:
- Pushing to a
release/*branch triggers the deployment job - CI
testsjob executes before the deployment
- Pushing to a
-
Production Environment:
- Only successfully merged PRs to the
mainbranch trigger the deployment job - CI
testsjob 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_IDYour AWS credentialsAWS_SECRET_ACCESS_KEYYour AWS credentialsSLS_CERTIFICATE_ARNARN of the certificated used for deployments (must match all environment domains, see below).
- Variables:
APP_NAMEto customize deployed app's name (default: 'Laravel')BREF_PHP_VERSIONto specify which PHP version of Bref is usedSLS_BASE_DOMAINto set the deployment domaindevandstagingdeployments have environment prepend to the domain: ex: dev.example.comproductiondeployment with use specified domain without any change
SLS_SERVICEto 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.