Convert Figma logo to code with AI

laravel logobreeze

Minimal Laravel authentication scaffolding with Blade, Vue, or React + Tailwind.

2,768
482
2,768
4

Top Related Projects

2,514

Laravel UI utilities and presets.

Tailwind scaffolding for the Laravel framework.

22,155

A full-stack framework for Laravel that takes the pain out of building dynamic UIs.

6,204

Inertia.js lets you quickly build modern single-page React, Vue and Svelte apps using classic server-side routing and controllers.

A Tailwind CSS frontend preset for the Laravel Framework

The Laravel Boilerplate Project - https://laravel-boilerplate.com

Quick Overview

Laravel Breeze is a minimal, simple implementation of all of Laravel's authentication features, including login, registration, password reset, email verification, and password confirmation. It provides a lightweight starting point for building Laravel applications with authentication functionality.

Pros

  • Simple and lightweight authentication scaffolding
  • Easy to customize and extend
  • Integrates seamlessly with Laravel's ecosystem
  • Includes both Blade and Inertia (Vue.js) frontend options

Cons

  • Limited features compared to more comprehensive packages like Laravel Jetstream
  • May require additional work for complex authentication scenarios
  • Styling is minimal and may need customization for production use
  • Not suitable for projects requiring advanced user management features out of the box

Code Examples

  1. Installing Breeze with Blade templates:
composer require laravel/breeze --dev
php artisan breeze:install
  1. Customizing the login view:
// In app/Http/Controllers/Auth/AuthenticatedSessionController.php

public function create()
{
    return view('auth.custom-login');
}
  1. Adding custom fields to registration:
// In app/Http/Controllers/Auth/RegisteredUserController.php

protected function create(array $input)
{
    return User::create([
        'name' => $input['name'],
        'email' => $input['email'],
        'password' => Hash::make($input['password']),
        'custom_field' => $input['custom_field'],
    ]);
}

Getting Started

To get started with Laravel Breeze, follow these steps:

  1. Create a new Laravel project:

    laravel new my-project
    cd my-project
    
  2. Install Laravel Breeze:

    composer require laravel/breeze --dev
    
  3. Install Breeze scaffolding:

    php artisan breeze:install
    
  4. Install and compile frontend assets:

    npm install
    npm run dev
    
  5. Set up your database and run migrations:

    php artisan migrate
    
  6. Start your Laravel development server:

    php artisan serve
    

Your Laravel application with Breeze authentication is now ready to use!

Competitor Comparisons

2,514

Laravel UI utilities and presets.

Pros of UI

  • More customizable and flexible for advanced users
  • Supports Bootstrap and Vue.js out of the box
  • Offers a wider range of pre-built components

Cons of UI

  • Steeper learning curve for beginners
  • Requires more manual configuration
  • Less opinionated, which can lead to inconsistencies in large projects

Code Comparison

UI:

php artisan ui bootstrap
php artisan ui vue
php artisan ui vue --auth

Breeze:

php artisan breeze:install
php artisan breeze:install vue
php artisan breeze:install react

UI focuses on providing a foundation for building authentication views and routes, while Breeze offers a more complete, opinionated starting point for Laravel applications. Breeze includes Tailwind CSS by default and provides a streamlined authentication system with features like email verification and two-factor authentication.

UI is better suited for developers who want more control over their frontend stack and are comfortable with manual configuration. Breeze, on the other hand, is ideal for developers who prefer a quick setup with modern best practices baked in.

Both packages serve different needs within the Laravel ecosystem, and the choice between them depends on the project requirements and developer preferences.

Tailwind scaffolding for the Laravel framework.

Pros of Jetstream

  • Offers more advanced features like team management and API support
  • Includes Livewire or Inertia.js for dynamic frontend interactions
  • Provides a more comprehensive starter kit with additional UI components

Cons of Jetstream

  • Steeper learning curve due to additional complexity
  • May include unnecessary features for simpler projects
  • Requires more setup and configuration

Code Comparison

Breeze (basic route definition):

Route::get('/dashboard', function () {
    return view('dashboard');
})->middleware(['auth'])->name('dashboard');

Jetstream (team-based route definition):

Route::middleware(['auth:sanctum', 'verified', 'team'])
    ->get('/team/dashboard', function () {
        return view('team.dashboard');
    })->name('team.dashboard');

Breeze focuses on simplicity and minimal setup, making it ideal for smaller projects or developers new to Laravel. It provides essential authentication features without extra complexity.

Jetstream offers a more feature-rich starting point, including team management, API tokens, and two-factor authentication. It's better suited for larger projects or those requiring advanced functionality out of the box.

Choose Breeze for quick, straightforward authentication setup, or Jetstream for a more comprehensive starter kit with advanced features and frontend options.

22,155

A full-stack framework for Laravel that takes the pain out of building dynamic UIs.

Pros of Livewire

  • More dynamic and interactive UI components without writing JavaScript
  • Easier to create complex, real-time user interfaces
  • Better suited for single-page applications (SPAs)

Cons of Livewire

  • Steeper learning curve for developers new to the concept
  • Can be slower for complex applications due to increased server requests
  • Requires more server resources compared to static pages

Code Comparison

Livewire component example:

class SearchUsers extends Component
{
    public $search = '';

    public function render()
    {
        return view('livewire.search-users', [
            'users' => User::where('name', 'like', "%{$this->search}%")->get(),
        ]);
    }
}

Breeze controller example:

class UserController extends Controller
{
    public function index(Request $request)
    {
        $users = User::where('name', 'like', "%{$request->search}%")->get();
        return view('users.index', compact('users'));
    }
}

Livewire offers a more streamlined approach for creating interactive components, while Breeze provides a traditional MVC structure. Livewire is better suited for dynamic, real-time applications, whereas Breeze is simpler for basic CRUD operations and static pages. The choice between the two depends on the project's specific requirements and the development team's familiarity with each technology.

6,204

Inertia.js lets you quickly build modern single-page React, Vue and Svelte apps using classic server-side routing and controllers.

Pros of Inertia

  • Allows for building single-page apps without the complexity of a full SPA framework
  • Provides a seamless integration between backend and frontend, maintaining server-side routing
  • Supports multiple frontend frameworks (Vue, React, Svelte)

Cons of Inertia

  • Steeper learning curve for developers new to SPA concepts
  • Requires more setup and configuration compared to Breeze's out-of-the-box solution
  • May have performance implications for larger applications due to increased payload size

Code Comparison

Inertia (Vue.js component):

<template>
  <layout>
    <h1>Welcome</h1>
    <p>Hello {{ user.name }}, welcome to your dashboard.</p>
  </layout>
</template>

<script>
export default {
  props: ['user']
}
</script>

Breeze (Blade template):

<x-app-layout>
    <x-slot name="header">
        <h2 class="font-semibold text-xl text-gray-800 leading-tight">
            {{ __('Dashboard') }}
        </h2>
    </x-slot>

    <div class="py-12">
        <div class="max-w-7xl mx-auto sm:px-6 lg:px-8">
            <div class="bg-white overflow-hidden shadow-sm sm:rounded-lg">
                <div class="p-6 bg-white border-b border-gray-200">
                    You're logged in!
                </div>
            </div>
        </div>
    </div>
</x-app-layout>

A Tailwind CSS frontend preset for the Laravel Framework

Pros of tailwindcss

  • Lightweight and focused solely on frontend styling
  • Provides a minimal Tailwind CSS setup without additional authentication features
  • Allows for more customization and flexibility in frontend implementation

Cons of tailwindcss

  • Lacks built-in authentication scaffolding
  • Requires more manual setup for common Laravel features
  • May need additional packages for a complete frontend solution

Code Comparison

Breeze (app.blade.php):

<!DOCTYPE html>
<html lang="{{ str_replace('_', '-', app()->getLocale()) }}">
    <head>
        <meta charset="utf-8">
        <meta name="viewport" content="width=device-width, initial-scale=1">
        <meta name="csrf-token" content="{{ csrf_token() }}">

tailwindcss (app.blade.php):

<!DOCTYPE html>
<html lang="{{ app()->getLocale() }}">
<head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1">

The main difference is that Breeze provides a more comprehensive starter kit with authentication scaffolding, while tailwindcss focuses solely on providing a minimal Tailwind CSS setup. Breeze includes additional meta tags and is more aligned with modern Laravel practices, while tailwindcss offers a simpler starting point for developers who want more control over their frontend implementation.

The Laravel Boilerplate Project - https://laravel-boilerplate.com

Pros of Laravel Boilerplate

  • More comprehensive feature set, including user management, role-based access control, and social authentication
  • Includes a pre-built admin panel with customizable dashboard
  • Offers more advanced frontend scaffolding with Bootstrap 4 and Vue.js

Cons of Laravel Boilerplate

  • Steeper learning curve due to its complexity and additional features
  • May include unnecessary features for smaller projects, potentially bloating the codebase
  • Less frequently updated compared to Breeze

Code Comparison

Laravel Boilerplate (User Registration):

public function register(Request $request)
{
    $this->validator($request->all())->validate();
    event(new Registered($user = $this->create($request->all())));
    $this->guard()->login($user);
    return $this->registered($request, $user) ?: redirect($this->redirectPath());
}

Breeze (User Registration):

public function store(Request $request)
{
    $request->validate([
        'name' => ['required', 'string', 'max:255'],
        'email' => ['required', 'string', 'email', 'max:255', 'unique:users'],
        'password' => ['required', 'confirmed', Rules\Password::defaults()],
    ]);

    $user = User::create([
        'name' => $request->name,
        'email' => $request->email,
        'password' => Hash::make($request->password),
    ]);

    event(new Registered($user));

    Auth::login($user);

    return redirect(RouteServiceProvider::HOME);
}

Convert Figma logo designs to code with AI

Visual Copilot

Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.

Try Visual Copilot

README

Logo Laravel Breeze

Total Downloads Latest Stable Version License

Introduction

Breeze provides a minimal and simple starting point for building a Laravel application with authentication. Styled with Tailwind, Breeze publishes authentication controllers and views to your application that can be easily customized based on your own application's needs.

Laravel Breeze is powered by Blade and Tailwind. If you're looking for a more robust Laravel starter kit that includes two factor authentication, Livewire / Inertia support, and more, check out Laravel Jetstream.

Official Documentation

Documentation for Breeze can be found on the Laravel website.

Contributing

Thank you for considering contributing to Breeze! You can read the contribution guide here.

Code of Conduct

In order to ensure that the Laravel community is welcoming to all, please review and abide by the Code of Conduct.

Security Vulnerabilities

Please review our security policy on how to report security vulnerabilities.

License

Laravel Breeze is open-sourced software licensed under the MIT license.