π 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 -vQuick Start Installation
Step 1: Clone the Repository
git clone https://github.com/TailAdmin/tailadmin-laravel.git
cd tailadmin-laravelStep 2: Install PHP Dependencies
composer installThis command will install all Laravel dependencies defined in composer.json.
Step 3: Install Node.js Dependencies
npm installOr if you prefer yarn or pnpm:
# Using yarn
yarn install
# Using pnpm
pnpm installStep 4: Environment Configuration
Copy the example environment file:
cp .env.example .envFor Windows users:
copy .env.example .envOr create it programmatically:
php -r "file_exists('.env') || copy('.env.example', '.env');"Step 5: Generate Application Key
php artisan key:generateThis 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_passwordCreate the database:
# MySQL
mysql -u root -p -e "CREATE DATABASE tailadmin_db;"
# PostgreSQL
createdb tailadmin_dbRun migrations:
php artisan migrateStep 7: (Optional) Seed the Database
If you want sample data:
php artisan db:seedStep 8: Storage Link
Create a symbolic link for file storage:
php artisan storage:linkπ Running the Application
Development Mode (Recommended)
The easiest way to start development is using the built-in script:
composer run devThis 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 serveTerminal 2 - Frontend Assets:
npm run devBuilding for Production
Build Frontend Assets
npm run buildOptimize 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-devProduction 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 testOr manually:
php artisan testRun with coverage:
php artisan test --coverageRun 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 analyzeNPM 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 formatArtisan 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-autoloadPermission errors on storage/bootstrap/cache
chmod -R 775 storage bootstrap/cacheNPM build errors
rm -rf node_modules package-lock.json
npm installClear all caches
php artisan optimize:clearDatabase connection errors
- Check
.envdatabase 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.