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

1.0.0 2025-12-23 13:14 UTC

This package is auto-updated.

Last update: 2025-12-23 13:19:20 UTC


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

  1. Clone the repository:
git clone https://github.com/ianlabicani/laravel-blade-starter.git your-project-name
cd your-project-name
  1. Run the setup script:
composer run setup

This will automatically:

  • Install PHP dependencies
  • Copy .env.example to .env
  • Generate application key
  • Run database migrations
  • Install NPM dependencies
  • Build frontend assets
  1. Configure your .env file 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
  1. Run migrations to create database tables:
php artisan migrate
  1. (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 .env file 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 login
  • register.blade.php - User registration
  • forgot-password.blade.php - Password reset request
  • reset-password.blade.php - Password reset form
  • verify-email.blade.php - Email verification
  • confirm-password.blade.php - Password confirmation

Layout Templates

  • resources/views/public/layout.blade.php - Public pages layout
  • resources/views/admin/layout.blade.php - Admin dashboard layout
  • resources/views/super-admin/layout.blade.php - Super Admin dashboard layout

Role-Based Routing

  • routes/web.php - Public and dashboard routes
  • routes/auth.php - Authentication routes
  • routes/admin.php - Admin-only routes
  • routes/super-admin.php - Super Admin-only routes

Models

  • app/Models/User.php - User model with role relationships
  • app/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

  1. Update branding: Modify the app name in resources/views/public/layout.blade.php
  2. Customize colors: Edit Tailwind classes throughout the views
  3. Add new roles: Create migrations and update the Role model
  4. 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

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