erag / laravel-tenancy-vue-starter-kit
The skeleton application for the Laravel framework.
Fund package maintenance!
eramitgupta
www.paypal.com/paypalme/teamdevgeek
Installs: 5
Dependents: 0
Suggesters: 0
Security: 0
Stars: 1
Watchers: 0
Forks: 0
Open Issues: 0
Language:Vue
Type:project
pkg:composer/erag/laravel-tenancy-vue-starter-kit
Requires
- php: ^8.2
- inertiajs/inertia-laravel: ^2.0.16
- laravel/framework: ^12.43.1
- laravel/tinker: ^2.10.2
- stancl/tenancy: ^3.9
- tightenco/ziggy: ^2.6
Requires (Dev)
- fakerphp/faker: ^1.24.1
- laravel/pail: ^1.2.4
- laravel/pint: ^1.26
- laravel/sail: ^1.51
- mockery/mockery: ^1.6.12
- nunomaduro/collision: ^8.8.3
- phpunit/phpunit: ^11.5.46
README
πΈ Screenshots & UI Preview:
π View Screenshots (Images.md)
A Laravel 12 + Inertia.js + Vue 3 multi-tenancy starter kit designed for building SaaS applications with a clean, scalable architecture.
This project provides a solid foundation for central + tenant based apps, modern frontend tooling, and automated developer workflows.
β¨ Features
ποΈ Laravel 12 modern architecture
π’ Multi-Tenancy (Central + Tenant separation)
π Inertia.js + Vue 3 SPA experience
π§© TypeScript support
β‘ Vite + HMR fast development
π¨ Tailwind CSS v4 UI styling
π§± shadcn-vue preconfigured component system
ποΈ Clean & scalable folder structure
π Central & Tenant authentication
π£οΈ Dedicated tenant routing
π¬ Queue & Jobs support
π§ͺ Testing ready (Feature & Unit)
π§Ή Laravel Pint (PHP formatting)
π ESLint & Prettier (Frontend linting)
π§ Developer-friendly scripts
π One-command setup & dev
π SSR support (optional)
π Production-ready boilerplate
π¦ Requirements
Make sure the following are installed on your system:
- PHP >= 8.2
- Composer
- Node.js >= 18
- NPM
- MySQL or SQLite
(SQLite is supported by default for local development)
π Installation
composer create-project erag/laravel-tenancy-vue-starter-kit laravel-multi-tenancy-vue
Run the setup command:
composer run setup
What does this command do?
- Installs Composer dependencies
- Creates
.envfile (if not exists) - Generates application key
- Runs database migrations
- Installs NPM dependencies
- Builds frontend assets
π§βπ» Development Mode
Start the local development environment:
composer run dev
What runs in development mode?
- Laravel development server
- Queue worker
- Laravel Pail logs
- Vite dev server (HMR)
All processes run together using concurrently.
π SSR Development (Optional)
If you are using Inertia SSR:
composer run dev:ssr
π§ͺ Testing
Run all tests using:
composer run test
π§Ή Linting & Formatting
Linting and formatting are fully automated.
β Recommended (One command)
composer run lint
This command will:
- Format & lint PHP using Laravel Pint
- Lint JavaScript / TypeScript using ESLint
- Format Vue & Blade files using Prettier
- Auto-fix issues where possible
You donβt need to run separate npm commands manually.
π§ Optional Manual Commands
Frontend lint only:
npm run lint
Auto-fix frontend issues:
npm run lint:fix
π§ Recommendation
Always run this before committing code:
composer run lint
This ensures:
- Clean commits
- Consistent code style
- Fewer CI issues
π Upgrade / Dependency Updates
To update project dependencies:
composer run update:requirements
This will:
- Update Composer dependencies
- Update NPM packages
- Keep version constraints clean
After upgrading, run:
composer install npm install npm run build
π Project Structure
This project follows a clean and scalable multi-tenancy architecture.
.
βββ app
β βββ Http
β β βββ Controllers
β β βββ Middleware
β β βββ Requests
β βββ Jobs
β β βββ SyncTenantJob.php
β βββ Menu
β β βββ Sidebar.php
β βββ Models
β β βββ Tenant.php
β β βββ User.php
β βββ Providers
β βββ CentralRouteServiceProvider.php
β βββ TenancyServiceProvider.php
β
βββ config
β βββ tenancy.php
β
βββ database
β βββ migrations
β β βββ create_tenants_table.php
β β βββ create_domains_table.php
β β βββ tenant/
β βββ seeders
β
βββ resources
β βββ css
β βββ js
β β βββ app.ts
β β βββ components
β β βββ composables
β β βββ layouts
β β βββ pages
β β β βββ tenant
β β β βββ auth
β β βββ types
β βββ views
β βββ app.blade.php
β
βββ routes
β βββ web.php
β βββ tenant.php
β βββ tenants
β βββ tenant-auth.php
β βββ tenant-settings.php
β
βββ tests
β βββ Feature
β βββ Unit
β
βββ vite.config.ts
βββ tsconfig.json
βββ composer.json
βββ README.md
π Ignored from Structure
These directories are intentionally excluded from structure views:
node_modules/vendor/storage/bootstrap/cache/
π Tech Stack
- Laravel 12
- Inertia.js
- Vue 3
- TypeScript
- Vite
- Tailwind CSS
- Laravel Pint
- ESLint
- Prettier
β Support
If you find this project helpful, please consider giving it a β on GitHub. It helps the project grow and stay maintained β€οΈ
π€ Contributing
Issues and pull requests are welcome. Please ensure code style rules are followed by running lint checks before committing.