xocdr/laravel-inertia-vue3-starter

A Laravel 12 starter template with Inertia.js 2, Vue 3, and TailwindCSS 4.

Installs: 20

Dependents: 0

Suggesters: 0

Security: 0

Stars: 0

Watchers: 0

Forks: 0

Open Issues: 0

Language:Blade

Type:project

pkg:composer/xocdr/laravel-inertia-vue3-starter

0.1.5 2025-06-20 18:59 UTC

This package is auto-updated.

Last update: 2025-12-20 20:04:38 UTC


README

Latest Version on Packagist Total Downloads License

A modern starter template for Laravel 12 projects using Inertia.js 2, Vue 3, and TailwindCSS 4. This template provides a solid foundation for building modern web applications with the latest versions of these powerful technologies.

Features

  • 🚀 Laravel 12
  • ⚡️ Vite 6 with HMR
  • 🎭 Inertia.js 2
  • 💚 Vue 3
  • 🎨 TailwindCSS 4
  • 🐳 Docker with Laravel Sail
  • 📝 Laravel Pint for PHP code styling
  • 🔍 Laravel Pail for improved logging
  • ✅ PHPUnit for testing

Requirements

  • PHP 8.2 or higher
  • Composer
  • Node.js 20 or higher
  • Docker (for Laravel Sail)

Installation

You can create a new project using Composer:

composer create-project xocdr/laravel-inertia-vue3-starter your-project-name
cd your-project-name

Development Setup

  1. Copy the environment file:
cp .env.example .env
  1. Start Laravel Sail:
./vendor/bin/sail up -d
  1. Install PHP dependencies:
./vendor/bin/sail composer install
  1. Install Node.js dependencies:
./vendor/bin/sail npm install
  1. Generate application key:
./vendor/bin/sail artisan key:generate
  1. Run database migrations:
./vendor/bin/sail artisan migrate
  1. Start the development server:
./vendor/bin/sail npm run dev

Your application will be available at:

Docker Services

The following services are available in your development environment:

Service URL Description
Laravel http://localhost Main application
Vite http://localhost:5173 Frontend development server with HMR
Mailpit http://localhost:8025 Email testing interface
MariaDB localhost:3306 Database (use a DB client to connect)
Redis localhost:6379 Cache/Queue (use a Redis client to connect)
MinIO http://localhost:9000 S3-compatible object storage
MinIO Console http://localhost:8900 MinIO administration interface

Database Connection Details

  • Host: mariadb
  • Port: 3306
  • Database: laravel
  • Username: sail
  • Password: password

Redis Connection Details

  • Host: redis
  • Port: 6379
  • No password required

MinIO S3 Storage Details

The MinIO setup is automatically configured to work with Laravel's S3 filesystem driver. A default bucket named 'local' is created during installation. You can access the MinIO Console to manage your buckets and files using the credentials above.

Example usage in Laravel:

// Store a file
Storage::disk('s3')->put('example.txt', 'Contents');

// Get a file
$contents = Storage::disk('s3')->get('example.txt');

// Generate a temporary URL
$url = Storage::disk('s3')->temporaryUrl('example.txt', now()->addMinutes(5));

Development Commands

  • Start all development servers:
./vendor/bin/sail composer dev
  • Run tests:
./vendor/bin/sail composer test
  • Format PHP code:
./vendor/bin/sail composer pint

License

This project is open-sourced software licensed under the MIT license.