Download the PHP package padosoft/product-image-discovery-admin without Composer

On this page you can find all versions of the php package padosoft/product-image-discovery-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 product-image-discovery-admin

Product Image Discovery Admin

CI Release PHP Laravel React Vite

Professional Laravel admin console for padosoft/product-image-discovery: inspect discovery requests, approve or reject candidates, tune provider configuration, run diagnostics, and ship safer product-image workflows without building a back office from scratch.

Table of Contents

Why Teams Use It

Product images are operational data. A wrong product-color image can leak into ERP, PIM, marketplaces, catalogs, feeds, and customer-facing storefronts. This admin app gives catalog and operations teams a dense, production-shaped cockpit for the conservative discovery pipeline in padosoft/product-image-discovery.

What You Get

Screenshots

Overview Dashboard

Request Search

Request Detail And Candidate Review

API Test Workbench

Debug Flow

Debug Flow Results

Scoring Configuration

Trusted Sources Configuration

Architecture

This repository is a Laravel 13 admin/demo application, not a reusable UI package. It consumes the sibling headless package through a Composer path repository:

The stack is intentionally boring and inspectable:

Quickstart

End-to-end walkthrough from a fresh clone to a working Brave-backed debug run on macOS/Linux. Windows/Herd users have an equivalent block below in Local Setup.

Prerequisites: PHP 8.3+, Composer, Node 20+ (npm 10+), and a checkout of the sibling package next to this repo:

1. Install dependencies

2. Configure the environment

Open .env and confirm at minimum:

BRAVE_SEARCH_API_KEY is intentionally not read from .env. Search-provider credentials live in the database (write-only via the admin UI). See step 6.

3. Migrate and seed demo data

This creates:

The artisan command is namespaced. Use pid-admin:seed-demo, not seed-demo.

If you want a real user instead of the demo one:

4. Build the frontend and start the server

Leave php artisan serve running. For frontend hot reload during development run npm run dev in a second terminal instead of npm run build.

5. Sign in

Open http://127.0.0.1:8000/login, log in with [email protected] / password, and you'll land on http://127.0.0.1:8000/admin/product-image-discovery.

The admin shell (Blade + React) uses the configured web middleware, but /debug-runs and POST /requests sit behind auth by default, which is why the login step is required before they respond. The Logout button lives in the topbar.

6. Configure a real search provider (Brave)

The demo fake-demo provider is intentionally first in priority so out-of-the-box runs work offline. To exercise a real Brave search you need to either disable the fake provider or give Brave a higher priority (lower number).

  1. Sign in, then open http://127.0.0.1:8000/admin/product-image-discovery/providers.
  2. Edit fake-demo and set is_active = false, or keep it active and bump its priority to a high number (e.g. 100).
  3. Create or update a Brave provider:
    • code: brave
    • driver: brave
    • name: Brave
    • base_url: https://api.search.brave.com
    • api_key: your Brave API key (write-only — saved encrypted, never echoed back)
    • is_active: true
    • priority: 1 (or any value lower than the rest)

Provider selection: SearchProviderManager orders active providers by priority ASC and uses the first that returns non-empty results. The rest are treated as fallbacks.

7. Run a debug flow against Brave

  1. Open http://127.0.0.1:8000/admin/product-image-discovery/debug.
  2. Leave the default Herno payload (or paste your own product JSON). The fields the package actually reads are:

    Required Optional
    client_id, erp_model_color_id, brand supplier, supplier_sku, model_code, color_code, color_name, category, description, ean, season, material, metadata (any keys)

    Anything outside this set is preserved on the request but not used by the search/scoring/AI pipeline. description (or its fallbacks name / title / metadata.description / metadata.title) is used as a search term when model_code is empty, so for products that don't have a clean SKU it's important to fill it in.

  3. Recommended options for a first real test:
    • no_env_brave: true (default) — keep it; we are using the DB provider, not auto-creating one from env.
    • no_download: true (default) — skip downloading the candidate images. You will still see them via the View Image column in the report.
    • max_candidates: 2 (default) or higher.
  4. Click Run debug. The right panel polls until status becomes succeeded or failed.

8. Inspect the report

Open http://127.0.0.1:8000/admin/product-image-discovery/reports, click Open on the latest run.

The Request tab shows two sections:

In the Candidates tab the table is sorted by final_score desc — the top row is the best match. Each row exposes:

Empty/invalid URLs render as a disabled chip.

Common pitfalls

Local Setup

Keep the headless package checked out beside this app:

Install and bootstrap the app:

Open:

If php is not on PATH, this Windows/Herd workstation uses:

Login

Debug-run endpoints (POST /admin/product-image-discovery/debug-runs, POST /admin/product-image-discovery/requests) sit behind the auth middleware controlled by pid-admin.debug_run_middleware. The admin shell itself runs under web only, but operators must sign in before the debug and request-creation surfaces respond.

The app ships with three minimal endpoints, registered outside the admin prefix:

The pid-admin:seed-demo command seeds a demo operator suitable for local/offline testing only when APP_ENV is local or testing:

Outside those environments the seeder skips the demo user, so a well-known credential never lands in a staging or production database. Use pid-admin:create-user instead.

Create or update a real user with the artisan helper:

The admin topbar exposes a Logout button that submits a CSRF-protected POST /logout.

To bypass auth in CI or short-lived local smoke tests, leave PID_ADMIN_DEBUG_RUN_MIDDLEWARE empty. The PHPUnit suite already does this in phpunit.xml.

Demo Data

The local seeder gives you deterministic, offline-friendly scenarios:

Reset the demo state with:

Testing

Run the full local release gate:

npm run phpunit is the preferred PHP test entry point on this machine because it resolves Herd PHP 8.4 before falling back to php on PATH.

CI

GitHub Actions runs the same release gate on pushes and pull requests:

Security Model

Admin Routes

The admin console lives at:

Admin JSON wrappers live under:

The package API remains available at:

Relationship To The Package

Use this app when you want the ready-made professional admin experience. Use padosoft/product-image-discovery directly when you only need the headless API, models, jobs, configuration, and package-level integration surface.

The admin app intentionally stays close to the package contracts and avoids exposing implementation-only secrets or internal raw payloads.

Process Docs

Read AGENTS.md first when resuming this project. The durable implementation plan is saved at:

The project history and non-obvious setup lessons are tracked in:

License

Apache-2.0. See LICENSE.


All versions of product-image-discovery-admin with dependencies

PHP Build Version
Package Version
Requires php Version ^8.3
laravel/framework Version ^13.0
laravel/sanctum Version ^4.2
padosoft/product-image-discovery Version ^0.1.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 padosoft/product-image-discovery-admin contains the following files

Loading the files please wait ...