Download the PHP package padosoft/laravel-flow-admin without Composer

On this page you can find all versions of the php package padosoft/laravel-flow-admin. 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 laravel-flow-admin

# Laravel Flow Admin **Pixel-perfect, dark-first admin panel for [`padosoft/laravel-flow`](https://github.com/padosoft/laravel-flow) — runs, approvals, outbox & definitions in one Blade + Alpine cockpit.** [![CI](https://github.com/padosoft/laravel-flow-admin/actions/workflows/ci.yml/badge.svg)](https://github.com/padosoft/laravel-flow-admin/actions/workflows/ci.yml) [![Latest Version](https://img.shields.io/packagist/v/padosoft/laravel-flow-admin.svg?style=flat-square)](https://packagist.org/packages/padosoft/laravel-flow-admin) [![Total Downloads](https://img.shields.io/packagist/dt/padosoft/laravel-flow-admin.svg?style=flat-square)](https://packagist.org/packages/padosoft/laravel-flow-admin) [![PHP Version](https://img.shields.io/packagist/php-v/padosoft/laravel-flow-admin.svg?style=flat-square)](https://packagist.org/packages/padosoft/laravel-flow-admin) [![Laravel](https://img.shields.io/badge/Laravel-%5E13.0-ff2d20?style=flat-square&logo=laravel)](https://laravel.com) [![Tests](https://img.shields.io/badge/tests-101%20passing-brightgreen?style=flat-square)](https://github.com/padosoft/laravel-flow-admin/actions) [![E2E](https://img.shields.io/badge/playwright-chromium%20%7C%20firefox%20%7C%20webkit-45ba4b?style=flat-square&logo=playwright)](https://github.com/padosoft/laravel-flow-admin/actions) [![PHPStan](https://img.shields.io/badge/PHPStan-level%208-brightgreen?style=flat-square)](https://phpstan.org/) [![Code Style](https://img.shields.io/badge/code%20style-pint-7e22ce?style=flat-square)](https://laravel.com/docs/pint) [![License](https://img.shields.io/badge/license-Apache--2.0-blue?style=flat-square)](LICENSE) [**🚀 Quick Start**](#-quick-start-5-minutes) · [**📸 Screenshots**](#-screenshots) · [**⚙️ Configuration**](#️-configuration) · [**🔒 Authorization**](#-authorization-mutations) · [**🤝 Contributing**](#-contributing) ![Laravel Flow Admin — Dashboard overview](resources/screenshoots/laravel-flow-admin-dashboard.png)

📚 Table of Contents


✨ Why this package

padosoft/laravel-flow is intentionally headless — a deterministic, queue-driven workflow engine you can drop into any Laravel app.

laravel-flow-admin is the operator console for it. A production-style control plane for runs, approvals, outbox webhooks and configuration — without leaking the engine's internal namespaces into your app.

Think Horizon for queues, Pulse for metrics — and Flow Admin for the lifecycle of long-running, multi-step business workflows.


🎯 Features


📸 Screenshots

Overview & KPIs
Live counters, run frequency, error rate, latest activity.

Runs
Filter by status, definition, time window. Sortable, paginated.

Run detail
Per-step timeline, JSON payloads, retry / cancel mutations.

Approvals
Pending decisions; resume / reject via your authorizer.

Webhook outbox
Delivery state, attempts, last error. Replay with one click.

Flow definitions
Registered flows, versions, last seen.

Configuration
Effective settings: prefix, middleware, adapter, polling, theme, step viz default.


📦 Requirements

Requirement Version
PHP ^8.3 (also tested on 8.4)
Laravel ^13.0
padosoft/laravel-flow ^1.0
Node.js (only if you want to rebuild assets) >=20
Database any Laravel-supported driver (or array adapter for demos)

💡 You do not need Node.js to use this package. Pre-built assets ship inside the package and are publishable via vendor:publish.


🚀 Quick Start (5 minutes)

That's it. The panel is read-only by default (deny-all authorizer) so you can safely browse production data on day 1, then opt-in to mutations when you've wired your permission rules.


📖 Step-by-Step Setup

1. Install the underlying engine

laravel-flow-admin is a UI on top of padosoft/laravel-flow. If you don't already have it, install it first:

This creates the flow_runs, flow_steps, flow_approvals, flow_webhook_outbox and related tables that this admin panel reads from.

📖 Full engine docs: github.com/padosoft/laravel-flow

2. Install the admin panel

The service provider is auto-discovered. Routes, views, config and migrations are loaded out-of-the-box from the package.

3. Publish assets and config

⚠️ Don't skip flow-admin-assets in production. The panel relies on the published CSS/JS bundle.

4. Configure middleware & routes

By default the panel mounts at /flow and runs through web,auth middleware. Override with environment variables:

🛡️ If you set FLOW_ADMIN_MIDDLEWARE="" we fall back to ['web'] instead of leaving the panel unauthenticated. Setting it empty was a known footgun, so we close it explicitly.

5. Wire your authorizer

The panel ships with DenyAllAuthorizer so every mutation (resume, reject, replay, cancel, retry-webhook) is blocked by default. To enable mutations, implement your own:

Bind it in AppServiceProvider::register():

…or set 'authorizer' => App\Flow\AdminAuthorizer::class in config/flow-admin.php.

6. Visit the panel

Open http://localhost:8000/flow and you should see the dashboard. Press ⌘K (or Ctrl+K) anywhere to open the command palette.


⚙️ Configuration

All keys live in config/flow-admin.php. They are also overridable via environment variables.

Key Env Default Description
prefix FLOW_ADMIN_PREFIX flow URI prefix for all routes (/flow, /flow/runs, …).
middleware FLOW_ADMIN_MIDDLEWARE web,auth Comma-separated middleware stack. Empty/whitespace falls back to ['web'].
adapter FLOW_ADMIN_ADAPTER eloquent eloquent (prod) or array (deterministic demo fixtures).
authorizer DenyAllAuthorizer FQCN of your ActionAuthorizer implementation.
polling_interval_ms FLOW_ADMIN_POLLING_MS 4000 Auto-refresh interval for live pages.
theme_default FLOW_ADMIN_THEME dark dark or light. Per-user override stored in flow_admin_theme cookie.
step_viz_default FLOW_ADMIN_STEP_VIZ timeline Default visualization on run detail: timeline, gantt, or dag.

🔒 Authorization (mutations)

Every mutation route (resume, reject, replay, cancel, retry-webhook) consults your ActionAuthorizer before the controller runs. This is non-negotiable: there is no "global admin" bypass and no way to short-circuit the gate from a Blade view.

Public extension surface (semver-stable from v0.1.0 →):

Everything under Adapters\, Http\Controllers\, Support\, ViewModels\ is internal and may change between minor versions until v1.0.


🎨 Customization

Override Blade views

Edit anything under resources/views/vendor/flow-admin/. Component slots and named layout sections are preserved across upgrades.

Override CSS tokens

The published bundle exposes CSS custom properties for colors, radii, spacing and font sizing. Wrap the panel in a custom theme by overriding tokens:

Switch theme programmatically


🧪 Demo Mode (no DB needed)

For showcases, screenshots, or end-to-end tests you can bypass the database entirely:

The ArrayReadModelAdapter produces deterministic fixtures (seed=42) so KPI numbers, run IDs and timelines are reproducible across screenshots and Playwright runs.


🗺️ Routes

All routes live under the configured prefix (default /flow) and the flow-admin.* route-name namespace.

Method URI Name Purpose
GET / flow-admin.overview Dashboard
GET /runs flow-admin.runs.index Runs list
GET /runs/{id} flow-admin.runs.show Run detail + timeline
GET /approvals flow-admin.approvals.index Approvals inbox
GET /outbox flow-admin.outbox.index Webhook outbox
GET /definitions flow-admin.definitions.index Registered flows
GET /settings flow-admin.settings.index Effective configuration
GET /api/search flow-admin.api.search ⌘K palette backend
GET /api/live flow-admin.api.live Live polling JSON
POST /theme flow-admin.theme.toggle Persist theme cookie

🏛️ Architecture

Design source-of-truth lives under .design-source/project/ (pixel reference) and is enforced through Playwright visual regression on chromium / firefox / webkit.


🤖 AI Vibe Coding Pack

This repository ships a contributor pack under .claude/:

If you build with Claude Code or another agent, copy .claude/ into your downstream project for a head start.


⚖️ Comparison

Tool Workflow runs lifecycle Approvals UI Webhook outbox Drop-in for Laravel Flow
Laravel Flow Admin
Laravel Horizon ⚠️ queue/job only
Laravel Pulse ⚠️ app metrics
Custom dashboard depends depends depends ⏳ slow to bootstrap
Temporal UI ✅ (for Temporal) ⚠️

🛣️ Roadmap


✅ Quality Gates

Every push runs through this gate (matrix php: 8.3, 8.4 × laravel: 13):

Latest local run: 101 tests / 584 assertions / 18 E2E scenarios passed.


🤝 Contributing

PRs welcome! Please:

  1. Open an issue first for non-trivial changes.
  2. Branch from main as task/<short-name> or subtask/<short-name>.
  3. Run the full local gate (above) before pushing.
  4. Add tests — unit, feature, or Playwright depending on the change.
  5. Update docs/PROGRESS.md if your PR closes a roadmap item, and docs/LESSON.md if you discover a reusable insight.

See CODE_OF_CONDUCT.md.


🔐 Security

If you discover a security vulnerability, please do not open a public issue. Email [email protected] directly. See SECURITY.md for our disclosure policy.


📜 License

Apache-2.0 © Padosoft. See LICENSE for the full text.


💜 Credits

**Made with ❤️ by [Padosoft](https://github.com/padosoft) — workflows are hard, the UI shouldn't be.** [⬆ back to top](#laravel-flow-admin)

All versions of laravel-flow-admin with dependencies

PHP Build Version
Package Version
Requires php Version ^8.3
illuminate/config Version ^13.0
illuminate/http Version ^13.0
illuminate/routing Version ^13.0
illuminate/support Version ^13.0
illuminate/view Version ^13.0
padosoft/laravel-flow Version ^1.0
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 padosoft/laravel-flow-admin contains the following files

Loading the files please wait ...