SeviaFlow Get Started

Architecture

SeviaFlow is package-split around one rule: Core defines resource behavior; adapters consume it.

Eloquent model | v Resource |-- table |-- form / show |-- actions |-- relations |-- workflow |-- events `-- API contract | v SeviaFlow\Core |-- SeviaFlow\Ui `-- SeviaFlow\Api SeviaFlow\DevTools --> generation / diagnostics seviaflow/framework --> core + ui + api

Optional control plane

Dependency Direction

seviaflow/core has no Livewire dependency and does not load UI or API routes. It requires PHP ^8.2, illuminate/support and illuminate/database.

seviaflow/ui requires Core plus Livewire and Laravel view/routing components. It loads Livewire resource pages, dashboard routes, authentication screens and package assets.

seviaflow/api requires Core plus Laravel HTTP/routing components. It loads REST resource routes, workflow endpoints, OpenAPI schema output and an API docs view.

seviaflow/devtools requires Core and Illuminate Console. It does not need UI or API to generate resources or run diagnostics.

Runtime Flow

  1. You register resource slugs in config/seviaflow.php.
  2. Core resolves a slug to a Resource class through SeviaFlow\Core\Resources\ResourceRegistry.
  3. UI and API adapters ask the Resource for table, form, show, api, actions, relations, workflow, events, export or import definitions as needed.
  4. Core query infrastructure applies resource query customization before search, filters, sorting and pagination.
  5. Authorization runs through SeviaFlow permissions first, then Laravel policies when a policy exists.

Package Boundaries

  • SeviaFlow\Core\... for shared primitives.
  • SeviaFlow\Ui\... for Livewire UI, dashboard, navigation and auth/profile surfaces.
  • SeviaFlow\Api\... for REST, OpenAPI and API serialization.
  • SeviaFlow\DevTools\... for console commands, discovery and generation.
WarningDo not treat Core as an all-in-one package. Core alone does not install the operator UI or REST API.