This project is a comprehensive starter template designed to simplify and accelerate the development of modern web applications. It integrates key technologies like React, Inertia.js, Laravel, and Tailwind CSS. Out of the box the app provides authentication and multi tenancy ready to go.
- Easy authentication pipeline using Laravel Fortify.
- Clean, organized architecture with actions-based controllers for better maintainability.
- Ready-to-go auth routes and views with Inertia.js and React for a seamless SPA experience.
- Tailwind CSS for responsive, customizable UI design.
- Pre-configured Mantine UI for polished, user-friendly interfaces.
- Scalable architecture for adding new features and extending functionality.
- Multi tenancy with multi database configuration.
- React: A powerful JavaScript library for building dynamic user interfaces with a component-based architecture.
- Inertia.js: A framework-agnostic tool that allows you to build modern, single-page apps (SPAs) using server-side routing and controllers.
- Laravel: A robust PHP framework for building web applications with an elegant syntax.
- Laravel Fortify: A package for building the authentication layer in Laravel applications.
- Tailwind CSS: A utility-first CSS framework for creating responsive and customizable designs.
- Mantine UI: A React component library for building beautiful user interfaces with a rich set of pre-built components.
- Tenancy for Laravel: A flexible multi-tenancy package for Laravel. Single & multi-database tenancy.
To get started with the project, follow these steps:
-
Clone the repository:
git clone https://github.com/IsaacHatilima/multi-tenancy.git cd multi-tenancy
-
Install dependencies
composer install npm install
-
Configure your
.env
file with the necessary credentials. -
Run migrations and seed the database:
php artisan migrate --seed
-
Start the development server:
php artisan serve npm run dev
Visit http://localhost:8000 to see the app in action.
Actions-based Controllers: The project moves business logic into action classes to keep controllers focused on request handling. This leads to a cleaner, more maintainable structure.
Inertia.js + React: Combining Inertia.js with React allows for a seamless SPA experience with minimal client-side routing and more intuitive server-side controller integration.
Tailwind + Mantine UI: Tailwind provides utility-first styling, while Mantine UI offers rich, pre-designed components that enhance the user experience out of the box. Together, they allow for rapid UI development.
Multi Database: With multi databases, this provides an easy and safe way to not only separate tenant data but also making database backup much easier.