abitbt / laravel-starter
Laravel 12 starter kit with Fortify auth and Bootstrap 5 Tabler UI.
Installs: 4
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 0
Forks: 0
Open Issues: 0
Language:Blade
Type:project
pkg:composer/abitbt/laravel-starter
Requires
- php: ^8.2
- blade-ui-kit/blade-icons: ^1.8
- laravel/fortify: ^1.31
- laravel/framework: ^12.0
- laravel/tinker: ^2.10.1
- secondnetwork/blade-tabler-icons: ^3.35
Requires (Dev)
- fakerphp/faker: ^1.23
- laravel/boost: ^1.3
- laravel/pail: ^1.2.2
- laravel/pint: ^1.24
- laravel/sail: ^1.41
- mockery/mockery: ^1.6
- nunomaduro/collision: ^8.6
- pestphp/pest: ^4.1
- pestphp/pest-plugin-laravel: ^4.0
This package is auto-updated.
Last update: 2025-10-07 04:13:41 UTC
README
Laravel 12 starter kit with Fortify authentication and a Bootstrap 5 Tabler UIβpreconfigured for rapid development, testing, and deployment.
Features
- π Laravel 12 - Latest Laravel framework with modern structure
- π Authentication - Complete auth system via Laravel Fortify
- Login/Register
- Password Reset
- Two-Factor Authentication (2FA)
- Profile Management
- π¨ Tabler UI - Beautiful admin-style interface
- β‘ Alpine.js - Lightweight JavaScript framework
- π§ͺ Pest v4 - Modern testing framework
- π οΈ Laravel Boost - Enhanced development CLI tools
- π Code Formatting - Pint (PHP) + Prettier (Blade/JS/CSS)
- π Theme Switcher - Light/Dark/Auto modes
- π¦ Vite - Fast, modern asset bundling
Requirements
- PHP 8.2 or higher
- Composer
- Node.js & npm
- SQLite (default) or MySQL/PostgreSQL
Installation
Option 1: Using Laravel Installer
laravel new your-project --using=abitbt/laravel-starter
cd your-project
Option 2: Manual Installation
# Clone the repository git clone https://github.com/abitbt/laravel-starter.git your-project cd your-project # Install dependencies composer install npm install # Set up environment cp .env.example .env php artisan key:generate # Create database (SQLite) touch database/database.sqlite # Run migrations php artisan migrate # Create storage symlink (for public file access) php artisan storage:link # Build assets npm run build
Quick Start
Development Environment
Start all development services at once:
composer run dev
This starts:
- Laravel dev server (http://127.0.0.1:8000)
- Queue worker
- Log viewer (Pail)
- Vite dev server (HMR)
Individual Services
Or run services individually:
php artisan serve # Start server npm run dev # Start Vite dev server php artisan queue:listen # Start queue worker php artisan pail # View logs
Usage
Creating Your First Feature
# Generate model, migration, and factory php artisan make:model Product -mf --no-interaction # Generate controller php artisan make:controller ProductController --resource --no-interaction # Generate form requests php artisan make:request StoreProductRequest --no-interaction php artisan make:request UpdateProductRequest --no-interaction # Generate tests php artisan make:test ProductTest --pest --no-interaction # Run migrations php artisan migrate # Run tests vendor/bin/pest --filter=ProductTest
Code Formatting
# Format PHP code vendor/bin/pint # Format Blade/JS/CSS npm run format # Check formatting without changes vendor/bin/pint --test npm run format:check
Testing
# Run all tests vendor/bin/pest # Run specific test file vendor/bin/pest --filter=ProductTest # Run tests with coverage vendor/bin/pest --coverage
Project Structure
βββ app/
β βββ Actions/Fortify/ # Authentication actions
β βββ Http/Controllers/ # Application controllers
β βββ Models/ # Eloquent models
β βββ Providers/ # Service providers
βββ bootstrap/
β βββ app.php # Application bootstrap
β βββ providers.php # Service provider registration
βββ config/ # Configuration files
βββ database/
β βββ migrations/ # Database migrations
β βββ factories/ # Model factories
β βββ seeders/ # Database seeders
βββ resources/
β βββ css/ # Stylesheets
β βββ js/ # JavaScript files
β βββ views/ # Blade templates
β βββ auth/ # Authentication views
β βββ layouts/ # Layout templates
β βββ profile/ # Profile management
βββ routes/
β βββ web.php # Web routes
βββ tests/
βββ Feature/ # Feature tests
βββ Unit/ # Unit tests
Default Credentials
After running migrations, you can register a new account or create a user via Tinker:
php artisan tinker User::factory()->create([ 'name' => 'Admin User', 'email' => 'admin@example.com', 'password' => bcrypt('password') ]);
Laravel Boost Tools
This project includes Laravel Boost for enhanced development:
search-docs ['query'] # Search Laravel ecosystem docs list-artisan-commands # List available artisan commands database-query "SQL" # Run database queries tinker # Interactive REPL browser-logs # View frontend errors get-absolute-url # Get shareable project URL
Documentation
Additional Guides
- ENV.md - Complete environment variables documentation
- DEPLOYMENT.md - Production deployment guide
- CONTRIBUTING.md - Contribution guidelines
- SECURITY.md - Security policy and best practices
- CHANGELOG.md - Version history and changes
For AI coding agents, see .github/instructions/
directory.
Configuration
Switching to MySQL/PostgreSQL
- Update
.env
:
DB_CONNECTION=mysql DB_HOST=127.0.0.1 DB_PORT=3306 DB_DATABASE=your_database DB_USERNAME=your_username DB_PASSWORD=your_password
- Run migrations:
php artisan migrate:fresh
Email Configuration
Update .env
with your mail settings:
MAIL_MAILER=smtp MAIL_HOST=smtp.mailtrap.io MAIL_PORT=2525 MAIL_USERNAME=your_username MAIL_PASSWORD=your_password MAIL_FROM_ADDRESS="noreply@example.com" MAIL_FROM_NAME="${APP_NAME}"
Queue Configuration
For production, use database or Redis:
QUEUE_CONNECTION=database # or redis
Run the queue worker:
php artisan queue:work --tries=3
Deployment
For complete deployment instructions, see DEPLOYMENT.md.
Quick Production Checklist
# 1. Set environment to production APP_ENV=production APP_DEBUG=false # 2. Install dependencies composer install --optimize-autoloader --no-dev npm ci npm run build # 3. Optimize framework php artisan config:cache php artisan route:cache php artisan view:cache php artisan event:cache # 4. Run migrations php artisan migrate --force # 5. Create storage link php artisan storage:link # 6. Set up queue worker (supervisor) # 7. Configure web server (Nginx/Apache) # 8. Set up SSL certificate (Let's Encrypt)
Security
- All routes are protected with CSRF tokens
- Passwords are hashed using bcrypt
- Two-factor authentication available
- Rate limiting on authentication routes (5 attempts/minute)
- SQL injection prevention via Eloquent ORM
- XSS protection via Blade auto-escaping
If you discover a security vulnerability, please email security@abitbt.com. See SECURITY.md for details.
Testing
This project uses Pest v4 for testing. Tests are located in tests/
directory:
# Run all tests vendor/bin/pest # Run with coverage vendor/bin/pest --coverage # Run specific test suite vendor/bin/pest tests/Feature vendor/bin/pest tests/Unit
Contributing
Contributions are welcome! Please see CONTRIBUTING.md for detailed guidelines.
Quick steps:
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature
) - Follow existing code conventions
- Write tests for new features
- Format code (
vendor/bin/pint
andnpm run format
) - Commit changes (
git commit -m 'Add amazing feature'
) - Push to branch (
git push origin feature/amazing-feature
) - Open a Pull Request
Changelog
See CHANGELOG.md for recent changes.
Credits
- Built on Laravel
- UI by Tabler
- Icons by Tabler Icons
- Authentication by Laravel Fortify
License
This project is open-sourced software licensed under the MIT license.
Made with β€οΈ by aBit-Soft