Multi-Tenant Sync is a system designed to efficiently execute queries or functions in Software as a Service (SAAS) applications that employ the separate database per tenant method. This system is built using Laravel 11 on the backend and Vue.js 3 on the frontend, and requires at least PHP 8.3 for optimal operation.
To install Multi-Tenant Sync, follow these steps:
-
Clone this repository:
git clone https://github.com/dazza-dev/multi-tenant-sync.git
-
Navigate to the project directory:
cd multi-tenant-sync
-
Install PHP dependencies with Composer and Sail:
composer install && ./vendor/bin/sail up -d
-
Run the database migrations:
./vendor/bin/sail artisan migrate
-
Start the job queue service:
./vendor/bin/sail artisan queue:work
The usage of Multi-Tenant Sync is divided into the following steps:
-
Create a New Project: Create a new project by clicking the "New Project" button. Fill in the connection details to the main project database.
-
Add Query: Once the project is created, add the query that will be used in the main database to retrieve the list of tenants with the connection data of each tenant's database.
-
Execute Job: Enter the project you created and execute a job by clicking the "Execute Job" button. This will start the execution of the query on each tenant's database and synchronize the results.
Make sure you have the following installed before starting:
- PHP 8.3
- Composer
- Node.js >= 12
- NPM or Yarn
Contributions are welcome. If you find any bugs or have ideas for improvements, please open an issue or send a pull request. Make sure to follow the contribution guidelines.
Multi-Tenant Sync was created by DAZZA.
This project is licensed under the MIT License.