πŸš€ Installation

TailAdmin Laravel: Tailwind + Laravel

πŸ“‹ Requirements

To set up TailAdmin Laravel, make sure your environment includes:

  • PHP 8.2+
  • Composer (PHP dependency manager)
  • Node.js 18+ and npm (for compiling frontend assets)
  • Database - Works with SQLite (default), MySQL, or PostgreSQL

Check Your Environment

Verify your installations:

php -v
composer -V
node -v
npm -v

Quick Start Installation

Step 1: Clone the Repository

git clone https://github.com/TailAdmin/tailadmin-laravel.git
cd tailadmin-laravel

Step 2: Install PHP Dependencies

composer install

This command will install all Laravel dependencies defined in composer.json.

Step 3: Install Node.js Dependencies

npm install

Or if you prefer yarn or pnpm:

# Using yarn
yarn install
 
# Using pnpm
pnpm install

Step 4: Environment Configuration

Copy the example environment file:

cp .env.example .env

For Windows users:

copy .env.example .env

Or create it programmatically:

php -r "file_exists('.env') || copy('.env.example', '.env');"

Step 5: Generate Application Key

php artisan key:generate

This creates a unique encryption key for your application.

Step 6: Configure Database

Option A: Using MySQL/PostgreSQL

Update your .env file with your database credentials:

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=tailadmin_db
DB_USERNAME=your_username
DB_PASSWORD=your_password

Create the database:

# MySQL
mysql -u root -p -e "CREATE DATABASE tailadmin_db;"
 
# PostgreSQL
createdb tailadmin_db

Run migrations:

php artisan migrate

Step 7: (Optional) Seed the Database

If you want sample data:

php artisan db:seed

Create a symbolic link for file storage:

php artisan storage:link

πŸƒ Running the Application

The easiest way to start development is using the built-in script:

composer run dev

This single command starts:

  • βœ… Laravel development server (http://localhost:8000)
  • βœ… Vite dev server for hot module reloading
  • βœ… Queue worker for background jobs
  • βœ… Log monitoring

Access your application at: http://localhost:8000

Manual Development Setup

If you prefer to run services individually in separate terminal windows:

Terminal 1 - Laravel Server:

php artisan serve

Terminal 2 - Frontend Assets:

npm run dev

Building for Production

Build Frontend Assets

npm run build

Optimize Laravel

# Clear and cache configuration
php artisan config:cache
 
# Cache routes
php artisan route:cache
 
# Cache views
php artisan view:cache
 
# Optimize autoloader
composer install --optimize-autoloader --no-dev

Production Environment

Update your .env for production:

APP_ENV=production
APP_DEBUG=false
APP_URL=https://yourdomain.com

πŸ§ͺ Testing

Run the test suite using Pest:

composer run test

Or manually:

php artisan test

Run with coverage:

php artisan test --coverage

Run specific tests:

php artisan test --filter=ExampleTest

πŸ“œ Available Commands

Composer Scripts

# Start development environment
composer run dev
 
# Run tests
composer run test
 
# Code formatting (if configured)
composer run format
 
# Static analysis (if configured)
composer run analyze

NPM Scripts

# Start Vite dev server
npm run dev
 
# Build for production
npm run build
 
# Preview production build
npm run preview
 
# Lint JavaScript/TypeScript
npm run lint
 
# Format code
npm run format

Artisan Commands

# Start development server
php artisan serve
 
# Run migrations
php artisan migrate
 
# Rollback migrations
php artisan migrate:rollback
 
# Fresh migrations with seeding
php artisan migrate:fresh --seed
 
# Generate application key
php artisan key:generate
 
# Clear all caches
php artisan optimize:clear
 
# Cache everything for production
php artisan optimize
 
# Create symbolic link for storage
php artisan storage:link
 
# Start queue worker
php artisan queue:work
 
# List all routes
php artisan route:list
 
# Create a new controller
php artisan make:controller YourController
 
# Create a new model
php artisan make:model YourModel -m
 
# Create a new migration
php artisan make:migration create_your_table

πŸ“ Project Structure

tailadmin-laravel/
β”œβ”€β”€ app/                    # Application logic
β”‚   β”œβ”€β”€ Http/              # Controllers, Middleware, Requests
β”‚   β”œβ”€β”€ Models/            # Eloquent models
β”‚   └── Providers/         # Service providers
β”œβ”€β”€ bootstrap/             # Framework bootstrap files
β”œβ”€β”€ config/                # Configuration files
β”œβ”€β”€ database/              # Migrations, seeders, factories
β”‚   β”œβ”€β”€ migrations/
β”‚   β”œβ”€β”€ seeders/
β”‚   └── factories/
β”œβ”€β”€ public/                # Public assets (entry point)
β”‚   β”œβ”€β”€ build/            # Compiled assets (generated)
β”‚   └── index.php         # Application entry point
β”œβ”€β”€ resources/             # Views and raw assets
β”‚   β”œβ”€β”€ css/              # Stylesheets (Tailwind)
β”‚   β”œβ”€β”€ js/               # JavaScript files (Alpine.js)
β”‚   └── views/            # Blade templates
β”œβ”€β”€ routes/                # Route definitions
β”‚   β”œβ”€β”€ web.php           # Web routes
β”‚   β”œβ”€β”€ api.php           # API routes
β”‚   └── console.php       # Console routes
β”œβ”€β”€ storage/               # Logs, cache, uploads
β”‚   β”œβ”€β”€ app/
β”‚   β”œβ”€β”€ framework/
β”‚   └── logs/
β”œβ”€β”€ tests/                 # Pest test files
β”‚   β”œβ”€β”€ Feature/
β”‚   └── Unit/
β”œβ”€β”€ .env.example           # Example environment file
β”œβ”€β”€ artisan                # Artisan CLI
β”œβ”€β”€ composer.json          # PHP dependencies
β”œβ”€β”€ package.json           # Node dependencies
β”œβ”€β”€ vite.config.js         # Vite configuration
└── tailwind.config.js     # Tailwind configuration

πŸ› Troubleshooting

Common Issues

”Class not found” errors

composer dump-autoload

Permission errors on storage/bootstrap/cache

chmod -R 775 storage bootstrap/cache

NPM build errors

rm -rf node_modules package-lock.json
npm install

Clear all caches

php artisan optimize:clear

Database connection errors

  • Check .env database credentials
  • Ensure database server is running
  • Verify database exists

Additional Resources

For comprehensive guidance on specific topics, consider consulting the following:

License

Refer to our LICENSE page for more information.