nasirkhan / laravel-starter
A CMS like modular Laravel starter project.
Package info
github.com/nasirkhan/laravel-starter
Type:project
pkg:composer/nasirkhan/laravel-starter
Requires
- php: ^8.4
- intervention/image-laravel: ^1.5
- laracasts/flash: ^3.2
- laravel/framework: ^12.0
- laravel/socialite: ^5.19
- laravel/tinker: ^2.10
- livewire/livewire: ^4.0
- nasirkhan/laravel-cube: ^1.0
- nasirkhan/module-manager: ^5.0
- spatie/laravel-activitylog: ^4.10
- spatie/laravel-html: ^3.12
- spatie/laravel-medialibrary: ^11.12
- spatie/laravel-permission: ^6.16
Requires (Dev)
- barryvdh/laravel-debugbar: ^3.15
- fakerphp/faker: ^1.24
- laravel/boost: ^2.0
- laravel/breeze: ^2.3
- laravel/pail: ^1.2
- laravel/pint: ^1.21
- laravel/sail: ^1.41
- mockery/mockery: ^1.6
- nunomaduro/collision: ^8.7
- phpunit/phpunit: ^11.5
- wikimedia/composer-merge-plugin: ^2.1
- dev-main
- v13.x-dev
- v13.3.0
- v13.2.0
- v13.1.0
- v13.0.0
- v12.x-dev
- v12.20.0
- v12.19.0
- v12.18.0
- v12.17.0
- v12.16.0
- v12.15.0
- v12.14.0
- v12.3.0
- v12.2.0
- v12.1.0
- v12.0.0
- v11.12.0
- v11.11.0
- v11.10.0
- v11.9.0
- v11.8.0
- v11.7.0
- v11.6.0
- v11.5.0
- v11.4.0
- v11.3.0
- v11.2.0
- v11.1.0
- v11.0.1
- v11.0.0
- v10.18.0
- v10.17.0
- v10.16.0
- v10.15.0
- v10.14.1
- v10.14.0
- v10.13.0
- v10.12.0
- v10.11.0
- v10.10.0
- v10.9.0
- v10.8.1
- v10.8.0
- v10.7.1
- v10.7.0
- v10.6.0
- v10.5.0
- v10.4.0
- v10.3.1
- v10.3.0
- v10.2.0
- v10.1.0
- v10.0.0
- v9.16.0
- v9.15.0
- v9.14.0
- v9.13.0
- v9.12.0
- v9.11.0
- v9.10.0
- v9.1.0
- v9.0.0
- v8.4.2
- v8.4.1
- v8.3.0
- v8.2.1
- v8.1.0
- v8.0.0
- v7.14.0
- v7.12.0
- v7.11.0
- v7.10.0
- v7.9.0
- v7.5.0
- v6.0.0
- v5.1.0
- v3.6.0
- v2.0.0
- v1.1.0
- v1.0.0
- dev-copilot/fix-test-failures
- dev-copilot/fix-action-failure
- dev-dev
- dev-laravel-11
This package is auto-updated.
Last update: 2026-03-24 12:35:09 UTC
README
Laravel Starter (based on Laravel 13.x)
Laravel Starter is a Laravel 13.x based simple starter project. Most of the commonly needed features of an application like Authentication, Authorisation, Users and Role management, Application Backend, Backup, Log viewer are available here. It is modular, so you may use this project as a base and build your own modules. A module can be used in any Laravel Starter based project.
Here Frontend and Backend are completely separated with separate routes, controllers, and themes as well.
Please let me know your feedback and comments.
Application Demo
Check the following demo project. It is just a straight installation of the project without any modification.
Demo URL: https://laravel.nasirkhn.com
You may use the following account credentials to access the application backend.
User: super@admin.com
Pass: secret
User: user@user.com
Pass: secret
Custom Commands
We have created a number of custom commands for the project. The commands are listed below with a brief about their use of it.
Install / Setup
See the canonical Installation section below for the full setup flow and all supported options for php artisan starter:install.
Update
After pulling changes from the repository, run:
php artisan starter:update
This runs composer update, checks for new module migrations, runs outstanding migrations, and clears all caches.
Create New module
To create a project use the following command, you have to replace the MODULE_NAME with the name of the module.
php artisan module:build MODULE_NAME
You may want to use --force option to overwrite the existing module. if you use this option, it will replace all the existing files with the default stub files.
php artisan module:build MODULE_NAME --force
Clear All Cache
php artisan clear-all
or
composer clear-all
This clears application caches including config, route, view, and permission cache.
If you prefer Composer scripts, composer clear-all is also available.
Code Style Fix
We are now using Laravel Pint to make the code style stay as clean and consistent as the Laravel Framework. Use the following command to apply CS-Fix.
composer pint
Along with Laravel Pint, we are using prettier to format the blade templates. You can install the prettier extension in your favorite editor.
The following command will format the blade templates.
npm run format
npm is the supported package manager for this project. Avoid mixing npm and yarn lockfiles on the same checkout, especially on Windows, because native packages such as esbuild and Tailwind's platform binaries can fail to resolve or unlink cleanly after a mixed install.
If you are intentionally using yarn, remove the existing install state first so Yarn can rebuild it from scratch.
Remove-Item -Recurse -Force node_modules Remove-Item -Force yarn.lock yarn cache clean yarn install yarn format
Role - Permissions
Several custom commands are available to add and update role-permissions. Please read the Role - Permission Wiki page, where you will find the list of commands with examples.
Features
The Laravel Starter comes with several features which are the most common in almost all applications. It is a template project which means it is intended to be built in a way that it can be used for other projects.
It is a modular application, and some modules are installed by default. It will be helpful to use it as a base for future applications.
- Admin feature and public views are completely separated as
BackendandFrontendnamespace. - Major features are developed as
Modules. A module like Posts, Comments, and Tags are separated from the core features like User, Role, Permission
Core Features
- User Authentication
- Social Login
- Github
- Build in a way adding more is much easier now
- User Profile with Avatar
- Role-Permissions for Users
- Dynamic Menu System
- Language Switcher
- Localization enabled across the project
- Backend Theme
- Bootstrap 5, CoreUI
- Fontawesome 6
- Dark Mode
- Frontend Theme
- Tailwind
- Fontawesome 6
- Dark Mode
- Article Module
- Posts
- Categories
- Tags
- Comments
- wysiwyg editor
- File browser
- Application Settings
- External Libraries
- Bootstrap 5
- Fontawesome 6
- CoreUI
- Tailwind
- Datatables
- Select2
- Date Time Picker
- Backup (Source, Files, Database as Zip)
- Log Viewer
- Notification
- Dashboard and details view
User Guide
Installation
This is the single source of truth for installing Laravel Starter from a fresh checkout. You may find more background in the Installation Wiki.
From GitHub Template (recommended)
If you created a new repository from this GitHub template, or cloned it directly:
# 1. Install PHP dependencies composer install # 2. Run the interactive setup wizard — handles .env, database, migrations, seeding, and npm assets php artisan starter:install
Or as a single shortcut after composer install:
composer setup
For a true one-liner from a fresh clone, convenience scripts are included:
# Linux / macOS bash setup.sh # Windows (PowerShell) .\setup.ps1
Both scripts run composer install and then launch php artisan starter:install.
Pass any starter:install flags through, e.g. bash setup.sh --demo.
The setup wizard will guide you through environment configuration, database selection, migrations, seeding, and building frontend assets. When finished it prints the app URL and default login credentials.
Available options:
| Option | Description |
|---|---|
--skip-db |
Skip database setup |
--skip-seed |
Skip database seeding |
--skip-npm |
Skip npm install and asset build |
--demo |
Seed with demo data (no prompt) |
If you only need to rerun cache clearing after setup, use:
php artisan clear-all
Via Composer create-project
composer create-project nasirkhan/laravel-starter
This runs migrations automatically. Afterwards run the setup wizard to seed and build assets:
php artisan starter:install --skip-db
After creating the new permissions use the following commands to update cached permissions.
php artisan cache:forget spatie.permission.cache
Database Seeding
Two seeder categories are available:
- Essential (always run): users, roles, permissions, menu —
AuthTableSeeder,MenuDatabaseSeeder - Dummy data (optional): posts, categories, tags — disabled via
SEED_DUMMY_DATA=falsein.env
# Full seed (essential + dummy data) php artisan migrate:fresh --seed # Essential data only php artisan db:seed-essential --fresh # Add or refresh demo content at any time php artisan laravel-starter:insert-demo-data php artisan laravel-starter:insert-demo-data --fresh
For production, set SEED_DUMMY_DATA=false and use --force:
php artisan db:seed-essential --fresh --force
Docker and Laravel Sail
This project is configured with Laravel Sail (https://laravel.com/docs/sail). You can use all the docker functionalities here. To install using docker and sail:
- Clone or download the repository
- Go to the project directory and run
composer install - Create
.envfile by copying the.env-sail. You may use the command to do thatcp .env-sail .env - Update the database name and credentials in
.envfile - Run the command
sail up(consider adding this to your alias:alias sail='[ -f sail ] && sh sail || sh vendor/bin/sail') - Run the command
sail artisan migrate --seed - Link storage directory:
sail artisan storage:link - Since Sail is already up, you can just visit http://localhost:80
Reporting a Vulnerability
If you discover any security-related issues, please send an e-mail to Nasir Khan Saikat via nasir8891@gmail.com instead of using the issue tracker.
Screenshots
Home Page
Login Page
Posts Page
Backend Dashboard

