Factotum is a Laravel-based open source CMS and application framework. It provides a modular architecture, a user-friendly interface, and a set of tools to build and manage web applications efficiently.
This repository contains the base module of Factotum, which includes essential features and functionalities required for building applications, as authentication, roles and permissions, media handling and more.
- Laravel 12+
- PHP 8.4+
- Install a fresh Laravel application and configure your .env file with the database keys.
# composer
composer create-project laravel/laravel example-app- Require Factotum Base Module as a composer dependency and publish the configuration file.
The configuration file is used to seed the initial data, feel free to change its values
# composer
composer require wave8/factotum-base
# config
php artisan vendor:publish --tag=factotum-base-config- On the default User laravel model, you need to extend the
\Wave8\Factotum\Base\Models\Usermodel.
app/Models/User.php
-class User extends Authenticatable
+class User extends \Wave8\Factotum\Base\Models\User
{
/** @use HasFactory<\Database\Factories\UserFactory> */
use HasFactory, Notifiable;- Install the Factotum Base Module. This procedure will run the migrations, seed the initial data and publish the assets.
# php
php artisan factotum-base:installSome vendor config files, are published in an updated version during the installation, i.e.
spatie/laravel-query-builder
Please see CHANGELOG for more information what has changed recently.
Feel free to open issues and submit pull requests.
If you discover any security related issues, please feel free to open issues and submit pull requests.
The MIT License (MIT). Please see License File for more information.