This is a laravel starter kit with all the necessary packages and configurations to start a new project.
Main packages used in this project:
- FilamentPHP
- Arcanedev Laravel Settings
- Spatie Permission
- Spatie Media Library
- Spatie Query Builder
- Filament date scopes filter
- Filament slim scrollbar
- Filament Image optimizer
- Filament themes
- Filament quick create
- Filament spatie laravel media library plugin
- Spatie laravel sitemap
- Spatie laravel responsecache
Dev dependencies used in this project:
If you want to set theme per user then you'll need to run the package migration. You can publish and run the migrations with:
php artisan vendor:publish --tag="themes-migrations"
php artisan migrate
You need to publish config file and change 'mode' => 'user' in order to set theme for user separately.
You can publish the config file with:
php artisan vendor:publish --tag="themes-config"
You can create a new project using composer create-project command:
composer create-project digiton-ma/laravel-starter-kit my-project
then run one of the setup scripts within the project directory:
cd my-project # if you are not already in the project directory
chmod +x ./bin/setup.sh # if you get permission denied error
./bin/setup.sh
#or
php bin/setup.php
# for windows
./bin/setup.bat
#or
./bin/setup.ps1 # this one needs windows script execution permission, open powershell as admin and run this command: Set-ExecutionPolicy RemoteSigned
Or if you used the installer, you can create a new project by running:
digitoncli new my-project --git --migrate --seed --github --org=digiton-ma
View the documentation for the installer for more information on the usage.
FilamentPHP is a Laravel package that provides a simple and elegant way to build admin panels for your Laravel applications.
This starter kit is PWA ready, you can start building your PWA right away. Go ahead and customize the manifest to make it your own. If you need a service worker feel free to create one for yourself. TODO: A service worker example.
using Spatie Laravel Settings to store settings in the database and retrieve them globally.
using Spatie Permission to manage user permissions and roles.
using Spatie Media Library to manage media files and joshembling/image-optimizer to optimize images.
using hasnayeen/themes to manage themes for filament panels and aymanalhattami/filament-slim-scrollbar for slim scrollbar.
using filamentphp's plugins to add extra forms and tables features.
using spatie/laravel-sitemap to generate sitemap...
using spatie/laravel-responsecache to cache responses.
using larastan and pest for testing
using laravel-pint for code formatting
using laravel-debugbar for debugging
using laravel-ide-helper for better IDE integration
- Payments Management: filament resource and front end urls for payments management or using plugins.
- Social Sign-in: using Google, Facebook, Twitter, and Github.
- Social Sharing: to easily share links from the project to social media.
- Social Media posts Integration: to get posts from social media accounts.
- Better Settings Management: to manage settings for different parts of the project, website information, email configs, social media links, navigation management and builders...
- Standard tests for all features using pest, like url tests, form tests and more.
Thank you for considering contributing to this starter kit! The contribution guide can be found in the CONTRIBUTING.md.
In order to ensure that the Laravel community is welcoming to all, please review and abide by the Laravel's Code of Conduct.
If you discover a security vulnerability within Laravel, please send an e-mail to Abdelhamid Errahmouni via abdelhamid@digiton.ma, and feel free to create an issue. All security vulnerabilities will be promptly addressed.
This Starter kit is open-sourced software licensed under the MIT license.