This project is in an early stage development and is changing rapidly currently.
This repository contains an initial setup for a Laravel project with an opinionated (but fairly sophisticated) workflow to kickstart your next Laravel project.
If you are also thinking, that the existing start kits are not fitting your needs, then this might be the right place for you.
I am looking for support and feedback to make this project better and more useful for everyone.
- Laravel 11
- Inertia.js with Vue.js in the Frontend
- Tailwind CSS for styling
- Laravel Sanctum for API authentication and authorization
- Laravel Reverb for broadcasting Events via Websockets and Laravel Echo for listening to them
- Multi tenant capable setup where users can be in multiple projects
- Manage invitations for Projects
- Projects have API tokens for authentication which are independent from users. This allows for easier handling while offboarding members
- Permission management via roles where a user can have one role per project. Permissions are defined in code, while roles are living in the database and are acting as container for permissions
- Server side controlled Sidebar items for the frontend
- Server side triggerable toast messages via
->with('success', 'The message')
on the response - Sophisticated translation workflow via two packages from me:
bambamboole/laravel-translation-dumper
andbambamboole/laravel-i18next
. Every executed translation in PHP and Javascript will be dumped automatically in the translation files. - Full Vue test setup with coverage support
- Code lint setup via PHP-CS-Fixer and Prettier for PHP, Blade, Javascript and Tailwind class sorting
- OpenAPI spec generation via Attributes for better colocation
- API feature tests have automatic OpenAPI spec validation
- Automatic OpenAPI spec docs via Swagger UI on
/api
- Clone the repository
- Copy the
.env.example
to.env
and adjust the settings - Run
composer install
- Run
php artisan key:generate
- Run
npm install
- Run
npm run dev
- Run
php artisan reverb:start
Feel free to contribute to this project. Here are some ideas for the next steps:
- Add API endpoint for deleting invitations
- Replace all hard coded strings with translations
- Add more tests
- Make readme more detailed
- Add two factor authentication (multiple devices per user)
- Add CI/CD setup for PHP and Javascript
- Add codecov for code coverage
- Make better design with own logo and color scheme (urgently Help needed)
- add full german(de) translation.
These are some ideas which are not yet planned but could be interesting for the future. If you are interested in one of these, feel free to hit me up to discuss, for sure also with other ideas.
- yubikey support for two factor authentication
- Add Storybook.js for frontend components
- ??? Your idea ???
The Laravel Kickstart project is open-sourced software licensed under the MIT license.