artflow-studio / starterkit
Complete Laravel authentication and admin starter kit with 18 layouts, Bootstrap 5.3.8, dark mode, and full Fortify integration with auto-registered services
Installs: 6
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 0
Forks: 0
Open Issues: 0
Language:SCSS
pkg:composer/artflow-studio/starterkit
Requires
- php: ^8.1|^8.2|^8.3
- laravel/fortify: ^1.17
- laravel/framework: ^11.0|^12.0
Requires (Dev)
- orchestra/testbench: ^9.0
README
Complete Laravel Authentication & Admin Starter Kit with Advanced Fortify Integration
14 Beautiful Auth Layouts | 5 Admin Layouts | Zero Build Required | Bootstrap 5.3.8 | Dark Mode | 20 Fortify Response Contracts | Role-Based Redirects | Complete Fortify Integration | Spatie Permission Support
A professional Laravel package with 14 authentication layouts, 5 admin dashboard layouts, Bootstrap 5.3.8, native dark mode, and complete Laravel Fortify integration including all 20 response contracts. Pre-built assets mean zero npm/build step required after installation!
โจ Key Features
- ๐จ 19 Total Layouts - 14 authentication + 5 admin professionally designed layouts
- ๐ Dark Mode - Native Bootstrap dark mode with smooth transitions
- ๐ฑ Fully Responsive - Mobile-first design, works on all devices
- ๐ Bootstrap 5.3.8 - Latest Bootstrap with custom form controls
- โก Pre-Built Assets - No npm/build step required for installation!
- ๐ Complete Fortify Integration - All 20 response contracts implemented
- ๐ก๏ธ Role-Based Redirects - Built-in Spatie Laravel Permission support
- ๐ญ Animated Effects - Particles, gradients, and smooth transitions (pure CSS)
- ๐๏ธ Customizable - Easy to modify colors, layouts, and components
- ๐ Complete Documentation - Comprehensive docs and guides included
- ๐งน Clean Installation - Minimal setup, optional customizations available
- โ AuthService - Centralized authentication logic with hooks
- โ 20 Response Contracts - All Fortify responses fully implemented
- โ
One-Command Installation -
php artisan starterkit:installdoes everything
๐ What's New in v0.3
Complete Fortify Response Contract Coverage
The package now implements all 20 Fortify response contracts, giving you total control over every authentication response:
โ All Response Contracts Implemented
Authentication Responses (4)
LoginResponse- Role-based redirects via AuthServiceRegisterResponse- Post-registration routing via AuthServiceLogoutResponse- Logout handlingTwoFactorLoginResponse- 2FA completion redirects
Password Management (7)
PasswordResetResponse- After password resetPasswordUpdateResponse- After password changePasswordConfirmedResponse- Password confirmation successSuccessfulPasswordResetLinkRequestResponse- Reset link sentFailedPasswordResetLinkRequestResponse- Reset link failedFailedPasswordResetResponse- Reset failedFailedPasswordConfirmationResponse- Wrong password
Profile Management (1)
ProfileInformationUpdatedResponse- Profile updated
Two-Factor Authentication (5)
TwoFactorEnabledResponse- 2FA enabledTwoFactorDisabledResponse- 2FA disabledTwoFactorConfirmedResponse- 2FA confirmedRecoveryCodesGeneratedResponse- Recovery codes generatedFailedTwoFactorLoginResponse- Invalid 2FA code
Email Verification (2)
VerifyEmailResponse- Email verifiedEmailVerificationNotificationSentResponse- Verification email sent
Rate Limiting (1)
LockoutResponse- Too many login attempts
Advanced AuthService with Role-Based Redirects
// Automatic Spatie Laravel Permission detection AuthService::redirectAfterLogin($user) โ Checks roles: - admin? โ /admin/dashboard - moderator? โ /moderator/dashboard - manager? โ /manager/dashboard - else โ /dashboard
Package File Structure
All authentication logic is now properly organized in the package:
vendor/artflow-studio/starterkit/src/
โโโ Http/
โ โโโ Responses/ โ
20 Fortify response implementations
โ โ โโโ LoginResponse.php
โ โ โโโ RegisterResponse.php
โ โ โโโ LogoutResponse.php
โ โ โโโ TwoFactorLoginResponse.php
โ โ โโโ PasswordResetResponse.php
โ โ โโโ VerifyEmailResponse.php
โ โ โโโ ... (14 more)
โ โโโ Middleware/
โ โโโ CustomAuthMiddleware.php
โโโ Services/
โ โโโ AuthService.php โ
Role-based auth logic
โโโ Providers/
โ โโโ StarterKitFortifyServiceProvider.php โ
Binds all 20 responses
โโโ Console/
โโโ InstallCommand.php โ
Enhanced with --publish-auth-service
Important: These files are in the package only, not in your application. The install command optionally publishes AuthService to app/Services/ for customization.
๐ฆ Installation
Quick Start (3 Steps)
# 1. Install via Composer composer require artflow-studio/starterkit # 2. Run installation command php artisan starterkit:install # 3. Start the server php artisan serve
Then visit:
- Login/Register: http://localhost:8000/login
- Layout Showcase: http://localhost:8000/test/layouts
Installation Options
# Basic installation (default) php artisan starterkit:install # Choose auth layout during installation php artisan starterkit:install --layout=glass # Publish AuthService to app/Services for customization php artisan starterkit:install --publish-auth-service # Force overwrite existing files php artisan starterkit:install --force # Combine options php artisan starterkit:install --publish-auth-service --force
What Gets Installed
The install command automatically:
- โ Checks and installs Laravel Fortify (if needed)
- โ Publishes 14 auth layouts
- โ Publishes 5 admin layouts
- โ Publishes pre-built CSS/JS assets (no npm build needed!)
- โ
Publishes configuration (
config/starterkit.php) - โ Registers custom Fortify responses (20 contracts)
- โ
Sets up layout test routes (
/test/layouts) - โ
Updates
.envwithSTARTERKIT_AUTH_LAYOUTandSTARTERKIT_ADMIN_LAYOUT - โ
Optionally publishes AuthService to
app/Services/for customization
Database Setup
# Run Laravel migrations
php artisan migrate
This creates the users table and related tables needed for authentication.
๐จ Available Layouts
Authentication Layouts (13 Options)
| Layout | Best For | Features |
|---|---|---|
| particles | Modern feel | Animated particles, connecting lines |
| centered | Classic login | Simple centered form |
| split | Brand showcase | Side-by-side layout |
| glass | Contemporary | Glassmorphism effect |
| hero | Marketing | Large hero section |
| modern | Professional | Contemporary design |
| 3d | Creative | 3D effects |
| premium-dark | Luxury | Dark theme |
| gradient-flow | Dynamic | Animated gradients |
| minimal | Clean | Ultra-simple |
| clean | Business | Professional design |
| hero-grid | Modern | Grid-based |
| sidebar | Navigation | Sidebar style |
Admin Layouts (5 Options)
| Layout | Best For | Features |
|---|---|---|
| sidebar | Dashboards | Collapsible sidebar |
| topnav | Web apps | Horizontal navigation |
| minimal | Analytics | Content-focused |
| neo | Modern | Glassmorphic design |
| classic | Enterprise | Traditional design |
Preview Layouts
# After installation, visit in browser:
http://localhost:8000/test/layouts
๐ Authentication Flow
How Fortify Integration Works
The package includes complete Fortify integration that's automatically registered:
User Action
โ
Fortify Guard โ CustomAuthMiddleware
โ
Fortify Action (CreateNewUser, etc.)
โ
AuthService Hook (business logic)
โ
AuthenticationListener (events)
โ
CustomAuthRedirectController (routing)
โ
View Rendered with Layout
Extending Authentication
Override AuthService methods for custom logic:
// In app/Services/AuthService.php (published with install command) public static function redirectAfterLogin($user) { if ($user->isAdmin()) { return redirect('/admin/dashboard'); } if (!$user->email_verified_at) { return redirect('/email/verify'); } return redirect('/dashboard'); }
๐ Dark Mode
All layouts support native Bootstrap dark mode:
<!-- Light theme (default) --> <html data-bs-theme="light"> <!-- Dark theme --> <html data-bs-theme="dark">
JavaScript to toggle:
function toggleTheme() { const html = document.documentElement; const current = html.getAttribute('data-bs-theme') || 'light'; const next = current === 'dark' ? 'light' : 'dark'; html.setAttribute('data-bs-theme', next); localStorage.setItem('theme', next); } // Load saved theme window.addEventListener('load', () => { const saved = localStorage.getItem('theme'); if (saved) { document.documentElement.setAttribute('data-bs-theme', saved); } });
๐ Fortify Response Contracts
All 20 Response Contracts Implemented
The package implements all Fortify response contracts for complete control over authentication responses:
Location
vendor/artflow-studio/starterkit/src/Http/Responses/
Complete Contract List
โ
LoginResponse - Login success
โ
RegisterResponse - Registration success
โ
LogoutResponse - Logout
โ
TwoFactorLoginResponse - 2FA login success
โ
PasswordResetResponse - Password reset success
โ
PasswordUpdateResponse - Password update
โ
PasswordConfirmedResponse - Password confirmation
โ
ProfileInformationUpdatedResponse - Profile update
โ
VerifyEmailResponse - Email verification
โ
TwoFactorEnabledResponse - 2FA enabled
โ
TwoFactorDisabledResponse - 2FA disabled
โ
TwoFactorConfirmedResponse - 2FA confirmed
โ
RecoveryCodesGeneratedResponse - Recovery codes generated
โ
SuccessfulPasswordResetLinkRequestResponse - Reset link sent
โ
FailedPasswordResetLinkRequestResponse - Reset link failed
โ
FailedPasswordResetResponse - Reset failed
โ
FailedPasswordConfirmationResponse - Confirmation failed
โ
FailedTwoFactorLoginResponse - 2FA failed
โ
EmailVerificationNotificationSentResponse - Verification email sent
โ
LockoutResponse - Rate limiting lockout
Automatic Binding
All responses are automatically bound in StarterKitFortifyServiceProvider:
// vendor/artflow-studio/starterkit/src/Providers/StarterKitFortifyServiceProvider.php public function register(): void { // All 20 response contracts are bound here $this->app->singleton(LoginResponse::class, StarterKitLoginResponse::class); $this->app->singleton(RegisterResponse::class, StarterKitRegisterResponse::class); // ... + 18 more }
๐ง AuthService - Role-Based Authentication
Location
vendor/artflow-studio/starterkit/src/Services/AuthService.php
Features
The AuthService provides centralized authentication logic:
// Role-based redirects (automatic Spatie support) AuthService::redirectAfterLogin($user, $request) // Post-registration routing AuthService::redirectAfterRegister($user, $request) // Password reset redirect AuthService::redirectAfterPasswordReset($user) // Pre-login validation AuthService::beforeLogin($request) // Post-login hooks AuthService::afterLogin($user, $request) // Post-registration hooks AuthService::afterRegister($user, $request) // Pre-logout validation AuthService::beforeLogout($user) // Post-logout hooks AuthService::afterLogout($user) // Check if 2FA required AuthService::shouldRequireEmailVerification($user)
Built-In Spatie Laravel Permission Support
The AuthService automatically detects and uses Spatie roles:
public static function redirectAfterLogin(Model $user, ?Request $request = null): string { // Check if Spatie is available if (method_exists($user, 'hasRole')) { // Admin users if ($user->hasRole('admin')) { return '/admin/dashboard'; } // Moderators if ($user->hasRole('moderator')) { return '/moderator/dashboard'; } // Managers if ($user->hasRole('manager')) { return '/manager/dashboard'; } } // Default for all other users return '/dashboard'; }
Publishing AuthService
To customize the AuthService for your application:
php artisan starterkit:install --publish-auth-service
This creates:
app/Services/AuthService.php- Your customizable copy- Namespace:
App\Services - Instructions for updating response imports
After Publishing
Update these response files to use your published App\Services\AuthService:
vendor/artflow-studio/starterkit/src/Http/Responses/LoginResponse.phpvendor/artflow-studio/starterkit/src/Http/Responses/RegisterResponse.phpvendor/artflow-studio/starterkit/src/Http/Responses/TwoFactorLoginResponse.php
Change import from:
use ArtflowStudio\StarterKit\Services\AuthService;
To:
use App\Services\AuthService;
Custom Example
// app/Services/AuthService.php namespace App\Services; use ArtflowStudio\StarterKit\Services\AuthService as BaseAuthService; use Illuminate\Database\Eloquent\Model; class AuthService extends BaseAuthService { public static function redirectAfterLogin(Model $user, $request = null): string { // Premium users if ($user->subscription_status === 'premium') { return '/premium/dashboard'; } // Fall back to base logic (Spatie roles, etc.) return parent::redirectAfterLogin($user, $request); } }
โ๏ธ Configuration
Default Configuration
Edit config/starterkit.php:
return [ 'layouts' => [ 'auth' => env('STARTERKIT_AUTH_LAYOUT', 'particles'), 'admin' => env('STARTERKIT_ADMIN_LAYOUT', 'sidebar'), ], 'dark_mode' => [ 'enabled' => true, 'default' => 'light', ], 'assets' => [ 'auth' => [ 'css' => 'vendor/artflow-studio/starterkit/assets/auth.css', 'js' => 'vendor/artflow-studio/starterkit/assets/auth.js', ], 'admin' => [ 'css' => 'vendor/artflow-studio/starterkit/assets/admin.css', 'js' => 'vendor/artflow-studio/starterkit/assets/admin.js', ], ], ];
Environment Variables
STARTERKIT_AUTH_LAYOUT=glass # Default auth layout STARTERKIT_ADMIN_LAYOUT=topnav # Default admin layout STARTERKIT_DARK_MODE_ENABLED=true # Dark mode available STARTERKIT_DARK_MODE_DEFAULT=light # Default theme
โ๏ธ Configuration
Default Configuration
Edit config/starterkit.php:
return [ 'layouts' => [ 'auth' => env('STARTERKIT_AUTH_LAYOUT', 'particles'), 'admin' => env('STARTERKIT_ADMIN_LAYOUT', 'sidebar'), ], 'dark_mode' => [ 'enabled' => true, 'default' => 'light', ], 'assets' => [ 'auth' => [ 'css' => 'vendor/artflow-studio/starterkit/assets/auth.css', 'js' => 'vendor/artflow-studio/starterkit/assets/auth.js', ], 'admin' => [ 'css' => 'vendor/artflow-studio/starterkit/assets/admin.css', 'js' => 'vendor/artflow-studio/starterkit/assets/admin.js', ], ], ];
Environment Variables
STARTERKIT_AUTH_LAYOUT=glass # Default auth layout STARTERKIT_ADMIN_LAYOUT=topnav # Default admin layout STARTERKIT_DARK_MODE_ENABLED=true # Dark mode available STARTERKIT_DARK_MODE_DEFAULT=light # Default theme
๐ ๏ธ Publishing Tags
Default Publishing (Automatic)
# These publish automatically with: php artisan starterkit:install php artisan vendor:publish --tag=starterkit-auth-layouts # Auth views (14 layouts) php artisan vendor:publish --tag=starterkit-assets # CSS/JS files php artisan vendor:publish --tag=starterkit-config # config/starterkit.php
Optional Publishing
# Admin layouts (not needed for basic auth) php artisan vendor:publish --tag=starterkit-admin-layouts # Database migrations php artisan vendor:publish --tag=starterkit-migrations # Documentation php artisan vendor:publish --tag=starterkit-docs # Fortify configuration (if you need to customize Fortify) php artisan vendor:publish --tag=starterkit-fortify-config
๐ฏ Usage Examples
Use Authentication Layout
<!-- resources/views/auth/login.blade.php --> @extends('starterkit::layouts.auth.login') @section('content') <form method="POST" action="{{ route('login') }}"> @csrf <div class="mb-3"> <label for="email" class="form-label">Email</label> <input type="email" class="form-control" id="email" name="email" required> </div> <div class="mb-3"> <label for="password" class="form-label">Password</label> <input type="password" class="form-control" id="password" name="password" required> </div> <button type="submit" class="btn btn-primary w-100">Sign In</button> </form> @endsection
Use Admin Layout
<!-- resources/views/admin/dashboard.blade.php --> @extends('starterkit::layouts.admin.sidebar') @section('content') <div class="container-fluid"> <h1>Admin Dashboard</h1> <!-- Your admin content --> </div> @endsection
๐ Dark Mode
All layouts support native Bootstrap dark mode:
<!-- Light theme (default) --> <html data-bs-theme="light"> <!-- Dark theme --> <html data-bs-theme="dark">
JavaScript to toggle:
function toggleTheme() { const html = document.documentElement; const current = html.getAttribute('data-bs-theme') || 'light'; const next = current === 'dark' ? 'light' : 'dark'; html.setAttribute('data-bs-theme', next); localStorage.setItem('theme', next); } // Load saved theme window.addEventListener('load', () => { const saved = localStorage.getItem('theme'); if (saved) { document.documentElement.setAttribute('data-bs-theme', saved); } });
๐จ Available Layouts
Authentication Layouts (14 Options)
| Layout | Best For | Features |
|---|---|---|
| particles | Modern feel | Animated particles, connecting lines |
| centered | Classic login | Simple centered form |
| split | Brand showcase | Side-by-side layout |
| glass | Contemporary | Glassmorphism effect |
| hero | Marketing | Large hero section |
| modern | Professional | Contemporary design |
| 3d | Creative | 3D effects |
| premium-dark | Luxury | Dark theme |
| gradient-flow | Dynamic | Animated gradients |
| minimal | Clean | Ultra-simple |
| clean | Business | Professional design |
| hero-grid | Modern | Grid-based |
| sidebar | Navigation | Sidebar style |
| base | Minimal HTML | Base layout |
Admin Layouts (5 Options)
| Layout | Best For | Features |
|---|---|---|
| sidebar | Dashboards | Collapsible sidebar |
| topnav | Web apps | Horizontal navigation |
| minimal | Analytics | Content-focused |
| neo | Modern | Glassmorphic design |
| classic | Enterprise | Traditional design |
Preview Layouts
# After installation, visit in browser:
http://localhost:8000/test/layouts
๐งช Testing Authentication
Test Registration & Role-Based Redirect
# Start server php artisan serve # Visit registration page http://localhost:8000/register # Register a new user - should redirect to /dashboard
Test Role-Based Login
// Create test users with roles php artisan tinker use App\Models\User; use Spatie\Permission\Models\Role; // Create roles Role::create(['name' => 'admin']); Role::create(['name' => 'moderator']); // Create admin user $admin = User::factory()->create(['email' => 'admin@test.com']); $admin->assignRole('admin'); // Create moderator user $mod = User::factory()->create(['email' => 'mod@test.com']); $mod->assignRole('moderator');
Then login:
admin@test.comโ redirects to/admin/dashboardmod@test.comโ redirects to/moderator/dashboard- Other users โ redirects to
/dashboard
โ FAQ
Q: Do I need npm/build step?
A: No! All assets are pre-compiled. Just run php artisan starterkit:install.
Q: Can I customize the AuthService?
A: Yes! Run php artisan starterkit:install --publish-auth-service to get your own editable copy.
Q: How do I use with Spatie roles?
A: AuthService automatically detects Spatie Laravel Permission. Just assign roles to users and the redirects work automatically.
Q: Can I change layouts dynamically?
A: Yes! Update STARTERKIT_AUTH_LAYOUT in .env and refresh.
Q: What if I don't use roles?
A: All users redirect to /dashboard by default. You can customize in AuthService.
Q: Are the responses extensible?
A: Yes! All responses are in vendor/artflow-studio/starterkit/src/Http/Responses/. Each one can be customized.
๐จ Troubleshooting
Issue: Still redirecting to /home
Solution:
php artisan config:clear php artisan cache:clear php artisan route:clear
Issue: Role redirects not working
Checklist:
- Is Spatie installed?
composer show spatie/laravel-permission - Did you run migrations?
php artisan migrate - Does user have role?
User::find(1)->getRoleNames() - Do routes exist?
php artisan route:list --path=admin
Issue: "Class not found" errors
Solution:
composer dump-autoload php artisan clear-compiled php artisan config:clear php artisan cache:clear
Issue: Response not binding
Verify binding:
php artisan tinker --execute="dd(app(Laravel\Fortify\Contracts\LoginResponse::class));"
Should output: ArtflowStudio\StarterKit\Http\Responses\LoginResponse
๐ Additional Resources
- Fortify Documentation: https://laravel.com/docs/fortify
- Spatie Permission: https://spatie.be/docs/laravel-permission/
- Bootstrap Documentation: https://getbootstrap.com/docs/5.3/
- Package Repository: https://github.com/artflow-studio/starterkit
๐ Summary
| Feature | Status | Details |
|---|---|---|
| Fortify Response Contracts | โ 20/20 | All contracts implemented |
| Role-Based Redirects | โ Built-in | Spatie automatic detection |
| AuthService | โ Available | In package, publishable |
| Auth Layouts | โ 14 layouts | Ready to use |
| Admin Layouts | โ 5 layouts | Pre-built |
| Dark Mode | โ Native | Bootstrap native |
| Pre-Built Assets | โ Yes | No npm/build needed |
| One-Command Install | โ Yes | Fully automated |
๐ License
This package is open-sourced software licensed under the MIT license.
๐ค Contributing
Contributions are welcome! Please feel free to submit pull requests.
๐ง Support
For issues, questions, or suggestions, please open an issue on GitHub or contact the maintainers.
<!-- resources/views/dashboard.blade.php --> @extends('starterkit::layouts.admin.sidebar') @section('title', 'Dashboard') @section('content') <div class="container-fluid"> <h1>Welcome to Dashboard</h1> <!-- Your content here --> </div> @endsection
Custom Middleware
// routes/web.php Route::middleware(['custom-auth'])->group(function () { Route::get('/dashboard', [DashboardController::class, 'index'])->name('dashboard'); Route::get('/admin', [AdminController::class, 'index'])->name('admin'); });
Handle Auth Events
// app/Providers/EventServiceProvider.php protected $listen = [ \Illuminate\Auth\Events\Login::class => [ \App\Listeners\AuthenticationListener::class, ], \Illuminate\Auth\Events\Registered::class => [ \App\Listeners\AuthenticationListener::class, ], \Illuminate\Auth\Events\Logout::class => [ \App\Listeners\AuthenticationListener::class, ], ];
๐ Package Structure
package/
โโโ src/
โ โโโ Console/
โ โ โโโ InstallCommand.php # Main installation
โ โ โโโ PublishCommand.php # Publishing helper
โ โ
โ โโโ Services/
โ โ โโโ AuthService.php # Auth logic & hooks
โ โ
โ โโโ Http/
โ โ โโโ Controllers/Auth/
โ โ โ โโโ CustomAuthRedirectController.php # Redirect logic
โ โ โโโ Middleware/
โ โ โโโ CustomAuthMiddleware.php # Route protection
โ โ
โ โโโ Listeners/
โ โ โโโ AuthenticationListener.php # Event listeners
โ โ
โ โโโ Actions/Fortify/
โ โ โโโ CreateNewUser.php # User creation
โ โ โโโ CreateNewUserWithHooks.php # User creation with hooks
โ โ โโโ UpdateUserPassword.php # Password updates
โ โ โโโ UpdateUserProfileInformation.php # Profile updates
โ โ โโโ ResetUserPassword.php # Password resets
โ โ โโโ PasswordValidationRules.php # Validation
โ โ
โ โโโ Providers/
โ โ โโโ StarterKitServiceProvider.php # Main provider
โ โ โโโ StarterKitFortifyServiceProvider.php # Fortify setup
โ โ
โ โโโ StarterKitServiceProvider.php
โ
โโโ resources/
โ โโโ views/layouts/starterkit/
โ โ โโโ auth/ # 13 authentication layouts
โ โ โ โโโ centered.blade.php
โ โ โ โโโ split.blade.php
โ โ โ โโโ glass.blade.php
โ โ โ โโโ particles.blade.php
โ โ โ โโโ hero.blade.php
โ โ โ โโโ modern.blade.php
โ โ โ โโโ 3d.blade.php
โ โ โ โโโ premium-dark.blade.php
โ โ โ โโโ gradient-flow.blade.php
โ โ โ โโโ minimal.blade.php
โ โ โ โโโ clean.blade.php
โ โ โ โโโ hero-grid.blade.php
โ โ โ โโโ sidebar.blade.php
โ โ โ
โ โ โโโ admin/ # 5 admin layouts
โ โ โโโ sidebar.blade.php
โ โ โโโ topnav.blade.php
โ โ โโโ minimal.blade.php
โ โ โโโ neo.blade.php
โ โ โโโ classic.blade.php
โ โ
โ โโโ css/ (SCSS source for dev)
โ
โโโ public/vendor/artflow-studio/starterkit/
โ โโโ assets/ # Pre-built production assets
โ โโโ auth.css (257 KB)
โ โโโ auth.js
โ โโโ admin.css (235 KB)
โ โโโ admin.js
โ
โโโ config/
โ โโโ starterkit.php # Configuration
โ
โโโ database/
โ โโโ migrations/ # Database setup
โ
โโโ docs/
โ โโโ START_HERE.md
โ โโโ LAYOUTS_DOCUMENTATION.html
โ โโโ DARK_MODE_GUIDE.md
โ โโโ SCSS_COMPONENTS_GUIDE.md
โ โโโ FINAL_PROJECT_COMPLETION.md
โ
โโโ routes/
โ โโโ test-layouts.php # Layout testing routes
โ
โโโ composer.json # Package metadata
โโโ README.md # This file
๐ All Available Commands
Installation
php artisan starterkit:install # Standard install php artisan starterkit:install --layout=glass # Custom layout php artisan starterkit:install --force # Overwrite existing
Publishing
# Auto-published by install command: php artisan vendor:publish --tag=starterkit-auth-layouts php artisan vendor:publish --tag=starterkit-assets php artisan vendor:publish --tag=starterkit-config # Optional (not published by default): php artisan vendor:publish --tag=starterkit-admin-layouts php artisan vendor:publish --tag=starterkit-migrations php artisan vendor:publish --tag=starterkit-docs
๐งช Testing
Manual Layout Testing
php artisan serve
# Visit: http://localhost:8000/test/layouts
All 18 layouts are displayed with live switching options.
Unit Tests
php artisan test
๐ Troubleshooting
Assets Not Loading
php artisan optimize:clear php artisan starterkit:install --force ls public/vendor/artflow-studio/starterkit/assets/
Layouts Not Showing
php artisan vendor:publish --tag=starterkit-auth-layouts ls resources/views/vendor/starterkit/layouts/
Fortify Not Working
php artisan fortify:install php artisan migrate php artisan starterkit:install
Permission Issues
chmod -R 755 storage bootstrap/cache php artisan starterkit:install --force
๐ง Requirements
- PHP: 8.1+
- Laravel: 11.x
- Laravel Fortify: ^1.17
- Bootstrap: 5.3.8
- Composer: 2.x+
๐ What's Included
โ Layouts (18 Total)
- 13 authentication layouts (responsive, dark mode)
- 5 admin dashboard layouts (responsive, dark mode)
โ Assets (Pre-built)
- Auth CSS (257 KB) + JS (4 KB)
- Admin CSS (235 KB) + JS (4 KB)
- Bootstrap 5.3.8 integration
- Zero build required!
โ Services
- AuthService with complete hook system
- CustomAuthMiddleware for route protection
- AuthenticationListener for events
- 6 Fortify actions with customization
โ Documentation
- Interactive layout showcase
- Quick start guide
- Dark mode implementation guide
- Complete Fortify integration docs
- SCSS components reference
โ Database
- User table migrations
- Auth tables setup
๐ Development
Local Setup
git clone https://github.com/rahee554/Laravel-Starter-Kit.git
cd Laravel-Starter-Kit
composer install
npm install
cp .env.example .env
php artisan key:generate
php artisan migrate
php artisan serve
npm run dev
Build Commands
npm run build # Production build php artisan test # Run tests npm run test # JS tests
๐ License
MIT License - Free to use in your projects!
๐ค Support
For help:
- Check
docs/directory - Review
LAYOUTS_DOCUMENTATION.html - Visit
/test/layoutsroute - Check Laravel Fortify docs
๐ Package Information
AF Laravel Starter Kit
- Version: 0.2.0 (with Fortify integration)
- Laravel: 11.x+
- PHP: 8.1+
- Bootstrap: 5.3.8
- License: MIT
- Repository: https://github.com/rahee554/Laravel-Starter-Kit
- Owner: rahee554
Ready to build secure Laravel applications with beautiful layouts? ๐
Start with AF Laravel Starter Kit today!