An opinionated Laravel admin starter kit built with Vue.js, Inertia.js and Tailwind CSS.
Most starter kits give you authentication and a dashboard. This one gives you the
things an admin panel needs on day 90: an audit trail of who changed what, login
history, live sessions you can terminate, guarded and logged impersonation,
scheduled backups, health checks, and a Cmd/Ctrl+K palette that searches your
pages, actions and data.
Two things make it different from the alternatives:
- You own the frontend. These are Vue files you edit, not PHP that renders someone else's components. The shadcn-vue layer sits behind wrappers with a documented contract (docs/ui-contract.md), so the component library is replaceable without touching a single page.
- It is built to be cut down. A starter kit is forked and stripped. Features come out along documented seams (REMOVING.md), and a test cross-checks every route the frontend calls against the ones that exist, so a removal that breaks something fails your build instead of a user's request.
![]() |
![]() |
![]() |
![]() |
-
🔐 Authentication & Security
- Secure login with Laravel Fortify
- Passwordless magic link authentication
- Social Authentication with Laravel Socialite
- Two-factor authentication (2FA) via Laravel Fortify
- Role-based permissions with Spatie Permission
- Visual role and permission management
- User role assignment interface
- Session and security management
- Active sessions overview
- Login history tracking
- Password policies enforcement
-
🎨 Interface & Design
- shadcn-vue primitives behind a wrapper layer, so pages stay decoupled from the component library — see docs/ui-contract.md
- Dark/Light mode with system preference detection
- Responsive design with Tailwind CSS v4
- Command palette on
Cmd/Ctrl+K, searching pages, actions and your data - Auto-generated avatars via Laravel Avatar
- Customizable theme settings
-
📊 Data Visualization
- Interactive charts with Unovis v1.6
- Line, Area, Bar, Donut and Sparkline
- Responsive and mobile-friendly
- Themed by the app's design tokens, so charts follow light/dark mode
- Shared legend, tooltip and axis formatting
- Interactive charts with Unovis v1.6
-
📊 Data Tables
- Modern tables with @tanstack/vue-table v8
- Server-side pagination
- Column sorting
- Search and filtering
- CSV export and bulk actions
- Row action menus with confirmation dialogs
- Modern tables with @tanstack/vue-table v8
-
📁 File Management
- Drag & drop uploads with FilePond v4
- Image preview
- File type validation
- Size restrictions
- Multiple file selection
- Drag & drop uploads with FilePond v4
-
🔄 System Features
- Backup management via Spatie Backup
- User-friendly dashboard
- One-click backup creation
- Backup download
- Activity logging with Laravel Auditing
- User action tracking
- Data change history
- Security event monitoring
- Backup management via Spatie Backup
-
🔔 Real-time Notifications (Laravel Reverb)
- Live, in-app notifications via WebSockets (Reverb)
- Demo mode toggle via
APP_NOTIFICATIONS_IN_DEMO_MODE - Run locally with
php artisan reverb:start
- PHP >= 8.3
- Node.js & NPM (Latest LTS)
- Composer
- Clone the repository
git clone https://github.com/otatechie/guacpanel-tailwind.git
cd guacpanel-tailwind- Install dependencies
composer install
npm install- Set up environment
cp .env.example .env
php artisan key:generate- Configure your database in
.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 and seed
php artisan migrate
php artisan db:seed- Start development servers
npm run dev
php artisan serve🎉 That's it! Visit http://localhost:8000 to see the app in action.
Seeding creates two accounts (configurable via the SEED_* variables in .env):
| Account | Password | |
|---|---|---|
| Superuser | ota@example.com |
password |
| Regular user | user@example.com |
password |
🔗 External Resources
- Removing features — what to delete, and the shared files to edit
- UI component contract — the wrapper layer and its rules
- GuacPanel Documentation
- Laravel Documentation
- Fortify Documentation
- Socialite Documentation
- Vue.js Documentation
- Tailwind CSS Documentation
- Inertia.js Documentation
- TanStack Table Documentation
- FilePond Documentation
- Unovis Documentation
- shadcn-vue Documentation
We welcome contributions! Please see our Contributing Guide for details.




