moaj257 / laravuespa

Laravel + Vue + Tailwind = awesome

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

LaraVueSpa

A Laravel Vue Single Page Application starter kit.

Features

  • Laravel 8
  • Vue + VueRouter
  • Pages with dynamic import
  • Login Page
  • Laravel Sanctum
  • Token Based Authentication
  • Tailwind V2 Integration
  • Socialite integration
  • Vuex

Installation

  • composer create-project --prefer-dist laravel/laravel projectname

  • composer require laravel/sanctum laravel/ui

  • php artisan vendor:publish --provider="Laravel\Sanctum\SanctumServiceProvider"

  • Edit .env and set your database connection details

  • php artisan migrate

  • Open app/Http/Kernel.php & update the following

    •   'api' => [
                \Laravel\Sanctum\Http\Middleware\EnsureFrontendRequestsAreStateful::class,
                'throttle:api',
                \Illuminate\Routing\Middleware\SubstituteBindings::class,
            ],
  • Open App\Models\User & update the following

    •   use Laravel\Sanctum\HasApiTokens;
        class User extends Authenticatable {
            use HasApiTokens, HasFactory, Notifiable;
        }
  • On Login, Use the following code to generate token for a user

    •   use Illuminate\Http\Request;
        Route::post('/tokens/create', function (Request $request) {
            $token = $request->user()->createToken($request->token_name);
      
            return ['token' => $token->plainTextToken];
        });
  • On Logout, Use the following

    •   $request->user()->currentAccessToken()->delete();
  • To Logout from all devices, Use the following

    •   $user->tokens()->delete();
  • npm install

  • php artisan serve

Usage

Development

# Build and watch
npm run watch

# Serve with hot reloading
npm run hot

Production

npm run production

About

Laravel + Vue + Tailwind = awesome


Languages

Language:PHP 92.0%Language:Vue 6.2%Language:Blade 1.0%Language:Shell 0.9%