digiton-ma / laravel-starter-kit
A starter kit for the Laravel framework.
Installs: 46
Dependents: 0
Suggesters: 0
Security: 0
Stars: 1
Watchers: 0
Forks: 0
Open Issues: 0
Type:project
Requires
- php: ^8.2
- arcanedev/laravel-settings: ^11.0
- awcodes/filament-quick-create: ^3.4
- awcodes/filament-tiptap-editor: ^3.0
- aymanalhattami/filament-date-scopes-filter: ^1.0
- aymanalhattami/filament-slim-scrollbar: ^2.0
- filament/filament: ^3.2
- filament/spatie-laravel-media-library-plugin: ^3.2
- hasnayeen/themes: ^3.0
- joshembling/image-optimizer: ^1.4
- laravel/framework: ^11.9
- laravel/tinker: ^2.9
- sakanjo/laravel-easy-enum: ^1.0
- sakanjo/laravel-easy-metrics: ^1.0
- spatie/laravel-query-builder: *
- spatie/laravel-responsecache: ^7.6
- spatie/laravel-sitemap: ^7.2
Requires (Dev)
- barryvdh/laravel-debugbar: ^3.13
- barryvdh/laravel-ide-helper: ^3.1
- fakerphp/faker: ^1.23
- larastan/larastan: ^2.0
- laravel/pint: ^1.17
- laravel/sail: ^1.26
- mockery/mockery: ^1.6
- nunomaduro/collision: ^8.0
- pestphp/pest: ^3.0
- pestphp/pest-plugin-arch: ^3.0
- pestphp/pest-plugin-laravel: ^3.0
- pestphp/pest-plugin-type-coverage: ^3.0
- phpstan/phpstan-deprecation-rules: ^1.2
- phpstan/phpstan-phpunit: ^1.4
- rector/rector: ^1.2.5
README
About this project
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:
Notes
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"
Usage
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.
Main Features
FilamentPHP
FilamentPHP is a Laravel package that provides a simple and elegant way to build admin panels for your Laravel applications.
PWA Ready
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.
Settings Management
using Spatie Laravel Settings to store settings in the database and retrieve them globally.
Permissions Management
using Spatie Permission to manage user permissions and roles.
Media Management and Optimization
using Spatie Media Library to manage media files and joshembling/image-optimizer to optimize images.
Themes Management (for filament panels only)
using hasnayeen/themes to manage themes for filament panels and aymanalhattami/filament-slim-scrollbar for slim scrollbar.
Extra forms and tables plugins
using filamentphp's plugins to add extra forms and tables features.
SEO Management
using spatie/laravel-sitemap to generate sitemap...
Caching Responses
using spatie/laravel-responsecache to cache responses.
Testing
using larastan and pest for testing
Code formatting
using laravel-pint for code formatting
Debugging
using laravel-debugbar for debugging
IDE Integration
using laravel-ide-helper for better IDE integration
Upcoming Features
- 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.
Contributing
Thank you for considering contributing to this starter kit! The contribution guide can be found in the CONTRIBUTING.md.
Code of Conduct
In order to ensure that the Laravel community is welcoming to all, please review and abide by the Laravel's Code of Conduct.
Security Vulnerabilities
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.
License
This Starter kit is open-sourced software licensed under the MIT license.