ianlabicani / laravel-blade-starter
A Laravel Breeze starter template with RBAC-ready structure, role-based dashboards, and authentication scaffolding for quick project setup.
Installs: 2
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 0
Forks: 0
Open Issues: 0
Language:Blade
Type:project
pkg:composer/ianlabicani/laravel-blade-starter
Requires
- php: ^8.2
- laravel/framework: ^12.0
- laravel/tinker: ^2.10.1
Requires (Dev)
- fakerphp/faker: ^1.23
- laravel/breeze: ^2.3
- laravel/pail: ^1.2.2
- laravel/pint: ^1.24
- laravel/sail: ^1.41
- mockery/mockery: ^1.6
- nunomaduro/collision: ^8.6
- pestphp/pest: ^4.2
- pestphp/pest-plugin-laravel: ^4.0
README
A clean and minimal Laravel starter template with Laravel Breeze authentication and RBAC-ready structure for building role-based applications quickly. Perfect for projects that need user authentication, role management, and separate dashboards right out of the box.
Features
- โจ Laravel 12 - Latest Laravel framework
- ๐ Laravel Breeze - Simple authentication scaffolding
- ๐ฅ RBAC Structure - Role-based access control ready
- ๐จ Tailwind CSS - Modern utility-first CSS framework
- ๐ Role-Based Dashboards - Separate dashboards for Super Admin, Admin, and users
- ๐ฑ Responsive Design - Mobile-friendly layouts
- ๐ฏ Font Awesome Icons - Beautiful icons throughout
- ๐ญ No-Role Page - Dedicated page for users without assigned roles
- ๐งช Pest Testing - Modern PHP testing framework
Requirements
- PHP >= 8.2
- Composer
- Node.js & NPM
- MySQL or any supported database
Installation
Creating a New Project from This Template
You can create a new project using Composer's create-project command:
composer create-project ianlabicani/laravel-blade-starter your-project-name
Manual Installation
- Clone the repository:
git clone https://github.com/ianlabicani/laravel-blade-starter.git your-project-name
cd your-project-name
- Run the setup script:
composer run setup
This will automatically:
- Install PHP dependencies
- Copy
.env.exampleto.env - Generate application key
- Run database migrations
- Install NPM dependencies
- Build frontend assets
- Configure your
.envfile with your database credentials:
DB_CONNECTION=mysql DB_HOST=127.0.0.1 DB_PORT=3306 DB_DATABASE=your_database_name DB_USERNAME=your_username DB_PASSWORD=your_password
- Run migrations to create database tables:
php artisan migrate
- (Optional) Seed the database with sample data:
php artisan db:seed
Available Scripts
This template includes several useful Composer scripts to streamline your development workflow:
Setup Script
composer run setup
Sets up the entire project from scratch:
- Installs all PHP dependencies
- Creates
.envfile from example - Generates application key
- Runs database migrations
- Installs Node.js dependencies
- Builds frontend assets
Development Script
composer run dev
Starts all development services concurrently:
- Laravel development server (
php artisan serve) - Queue worker (
php artisan queue:listen) - Vite dev server (
npm run dev)
This uses concurrently to run all three services in one terminal window with color-coded output.
Test Script
composer run test
Runs the test suite:
- Clears configuration cache
- Executes all Pest tests
Project Structure
Authentication Views
All authentication views are located in resources/views/auth/:
login.blade.php- User loginregister.blade.php- User registrationforgot-password.blade.php- Password reset requestreset-password.blade.php- Password reset formverify-email.blade.php- Email verificationconfirm-password.blade.php- Password confirmation
Layout Templates
resources/views/public/layout.blade.php- Public pages layoutresources/views/admin/layout.blade.php- Admin dashboard layoutresources/views/super-admin/layout.blade.php- Super Admin dashboard layout
Role-Based Routing
routes/web.php- Public and dashboard routesroutes/auth.php- Authentication routesroutes/admin.php- Admin-only routesroutes/super-admin.php- Super Admin-only routes
Models
app/Models/User.php- User model with role relationshipsapp/Models/Role.php- Role model
Usage
Running the Application
Start the development server:
composer run dev
Or manually start services:
# Terminal 1: Laravel Server php artisan serve # Terminal 2: Queue Worker php artisan queue:listen # Terminal 3: Vite Dev Server npm run dev
Visit http://localhost:8000 in your browser.
Role Management
Users can have roles assigned through the role_user pivot table. The dashboard automatically redirects users based on their role:
- Super Admin โ Super Admin Dashboard
- Admin โ Admin Dashboard
- No Role โ No-Role Page (informational page)
Customization
- Update branding: Modify the app name in
resources/views/public/layout.blade.php - Customize colors: Edit Tailwind classes throughout the views
- Add new roles: Create migrations and update the Role model
- Extend dashboards: Add new routes and views in respective role folders
Testing
Run the test suite:
composer run test
Or use Pest directly:
./vendor/bin/pest
Built With
- Laravel 12 - PHP Framework
- Laravel Breeze - Authentication Scaffolding
- Tailwind CSS - CSS Framework
- Font Awesome - Icon Library
- Vite - Frontend Build Tool
- Pest - Testing Framework
License
This project is open-sourced software licensed under the MIT license.
Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
Credits
Created by Ian Labicani