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
Requires
- php: ^8.4
- inertiajs/inertia-laravel: ^2.0
- laravel/framework: ^12.0
- laravel/tinker: ^2.10.1
Requires (Dev)
- fakerphp/faker: ^1.23
- laravel/pail: ^1.2.2
- laravel/pint: ^1.13
- laravel/sail: ^1.41
- mockery/mockery: ^1.6
- nunomaduro/collision: ^8.6
- phpunit/phpunit: ^11.5.3
README
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
- Copy the environment file:
cp .env.example .env
- Start Laravel Sail:
./vendor/bin/sail up -d
- Install PHP dependencies:
./vendor/bin/sail composer install
- Install Node.js dependencies:
./vendor/bin/sail npm install
- Generate application key:
./vendor/bin/sail artisan key:generate
- Run database migrations:
./vendor/bin/sail artisan migrate
- Start the development server:
./vendor/bin/sail npm run dev
Your application will be available at:
- Frontend (Vite): http://localhost:5173
- Backend (Laravel): http://localhost
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
- Console URL: http://localhost:8900
- API URL: http://localhost:9000
- Access Key:
sail - Secret Key:
password - Default Bucket:
local - Region:
us-east-1
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.