Download the PHP package samushi/domion without Composer

On this page you can find all versions of the php package samushi/domion. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.

FAQ

After the download, you have to make one include require_once('vendor/autoload.php');. After that you have to import the classes with use statements.

Example:
If you use only one package a project is not needed. But if you use more then one package, without a project it is not possible to import the classes with use statements.

In general, it is recommended to use always a project to download your libraries. In an application normally there is more than one library needed.
Some PHP packages are not free to download and because of that hosted in private repositories. In this case some credentials are needed to access such packages. Please use the auth.json textarea to insert credentials, if a package is coming from a private repository. You can look here for more information.

  • Some hosting areas are not accessible by a terminal or SSH. Then it is not possible to use Composer.
  • To use Composer is sometimes complicated. Especially for beginners.
  • Composer needs much resources. Sometimes they are not available on a simple webspace.
  • If you are using private repositories you don't need to share your credentials. You can set up everything on our site and then you provide a simple download link to your team member.
  • Simplify your Composer build process. Use our own command line tool to download the vendor folder as binary. This makes your build process faster and you don't need to expose your credentials for private repositories.
Please rate this library. Is it a good library?

Informations about the package domion

🏗️ Domion – The Ultimate DDD Starter Kit for Laravel

Latest Version on Packagist Total Downloads License

Welcome to Domion! 👋

Simplify your enterprise Laravel development with a robust Domain-Driven Design (DDD) architecture. Domion is not just a structure package; it is a Complete Starter Kit that gives you everything you need to launch a professional, scalable application in minutes.

Whether you're building a RESTful API, a React SPA, or a Vue.js application, Domion has you covered with pre-configured authentication, settings modules, and enterprise-grade patterns.


🚀 Why Choose Domion?

Feature Description
DDD Architecture Pre-configured structure with Actions, DTOs, Repositories, and Domain separation.
Three Starter Modes Choose between API, React (Inertia), or Vue (Inertia) during setup.
Built-in Security Two-Factor Authentication (2FA) via Laravel Fortify with complete UI.
API Response Builder Standardized JSON responses using marcin-orlowski/laravel-api-response-builder.
Query Filters Powerful filtering system using samushi/query-filter integrated in Repositories.
Settings Module Profile, Password, Appearance, and Account Deletion – all pre-built.
Multi-tenancy Ready Full support for Stancl/Tenancy for SaaS applications.

📦 Installation Guide

Follow these simple steps to start your journey with Domion.

Step 1: Create a Laravel Project

Start with a fresh Laravel installation.

Step 2: Install Domion

Install the package via Composer.

Step 3: Setup Your Architecture 🪄

This is where the magic happens. The interactive setup command will:

Step 4: Launch Your Application

For API Mode:

For React/Vue Mode:

Open your browser and explore your new application!


🎯 Starter Kit Modes

Domion supports three distinct modes, each optimized for different use cases.

1. 🔌 API Mode (Headless)

Perfect for building RESTful APIs, mobile backends, or microservices.

Features:

API Response Example:

Error Response:


2. ⚛️ React Mode (Inertia.js)

Modern single-page application experience with React and TypeScript.

Features:

Included Pages:


3. 💚 Vue Mode (Inertia.js)

Elegant single-page application with Vue 3 and TypeScript.

Features:


🏗️ Architecture Overview

Domion organizes your code into Domains. Each domain is self-contained, handling its own logic, database interactions, and frontend views (if applicable).

Directory Structure


🧱 Core Concepts

1. Actions (Business Logic)

Actions are the heart of your business logic. Each action does one thing and does it well.

Creating an Action:

Action Structure:

Calling an Action:


2. DTOs (Data Transfer Objects)

DTOs ensure type safety and clean data flow between layers.

DTO Structure:

Creating from Request:

Available Methods:


3. Repositories (Data Access Layer)

Repositories abstract database operations and integrate with Query Filters.

Repository Structure:

Available Repository Methods:


4. Query Filters (samushi/query-filter)

Domion integrates samushi/query-filter for powerful, reusable query filtering.

Creating a Filter:

Usage in Repository: Filters are automatically applied when you call all() or paginate() if query parameters match.

Built-in Filters:


5. Controllers

Controllers are thin and delegate to Actions. They extend base controllers provided by Domion.

For API Mode:

For React/Vue Mode:

Available Response Methods:

Method Mode Description
$this->success($data, $message, $code) API Success JSON response
$this->error($message, $code) API Error JSON response
$this->render($page, $props) Inertia Render Inertia page
$this->toRoute($route, $params) Inertia Redirect to named route
$this->toUrl($path) Inertia Redirect to URL
$this->back() Inertia Redirect back

🔐 Security Features

Two-Factor Authentication (2FA)

Domion integrates Laravel Fortify for 2FA. This is automatically configured during setup.

How it works:

  1. User navigates to Settings → Two Factor Auth
  2. Clicks Enable
  3. Scans QR Code with authenticator app
  4. Saves Recovery Codes
  5. Future logins require OTP verification

Backend: Fortify handles all 2FA logic (/user/two-factor-authentication endpoints).

Frontend: Complete React/Vue UI is provided.


API Authentication (Sanctum)

For API mode, authentication is handled via Laravel Sanctum tokens.


🛠️ CLI Commands

Command Description
php artisan domion:setup Interactive project setup
php artisan domion:make:domain {Name} Create a new domain
php artisan domion:make:action {Name} Generate an Action class

📦 Dependencies

Domion automatically installs these packages based on your chosen mode:

Package Purpose Modes
inertiajs/inertia-laravel SPA bridge React, Vue
laravel/fortify 2FA & Security React, Vue
laravel/sanctum API Authentication All
marcin-orlowski/laravel-api-response-builder Standardized API responses API
samushi/query-filter Query filtering All

🏢 Multi-tenancy Support

Domion supports multi-tenant applications via stancl/tenancy.

When enabled, domains are organized into:


🤝 Contributing

We welcome contributions! Please fork the repository and submit a pull request.


📄 License

The MIT License (MIT). Please see License File for more information.


Created with ❤️ by Sami Maxhuni


All versions of domion with dependencies

PHP Build Version
Package Version
Requires php Version ^8.2
illuminate/support Version ^10.0|^11.0|^12.0
samushi/queryfilter Version ^2.2
marcin-orlowski/laravel-api-response-builder Version ^10.0|^11.0|^12.0
laravel/prompts Version ^0.1|^0.2|^0.3
Composer command for our command line client (download client) This client runs in each environment. You don't need a specific PHP version etc. The first 20 API calls are free. Standard composer command

The package samushi/domion contains the following files

Loading the files please wait ...