PHPackages                             brokerexchange/showcase - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. brokerexchange/showcase

AbandonedArchivedLibrary[Utility &amp; Helpers](/categories/utility)

brokerexchange/showcase
=======================

A widget for showcasing cards of items in a panel or page.

v0.0.8(7y ago)0862[8 issues](https://github.com/BrokerExchange/Showcase/issues)CSS

Since May 9Pushed 7y ago2 watchersCompare

[ Source](https://github.com/BrokerExchange/Showcase)[ Packagist](https://packagist.org/packages/brokerexchange/showcase)[ RSS](/packages/brokerexchange-showcase/feed)WikiDiscussions master Synced 2d ago

READMEChangelog (7)Dependencies (7)Versions (11)Used By (0)

Showcase
========

[](#showcase)

A Laravel package which adds the ability to create "showcases", or view boxes which contain cards "trophies" of items. It also includes an admin panel to manage displays and trophies, which can only be accessed by a logged-in Auth user. Intended for use by Laravel 5.4+

> Still being developed!

[Projects](https://github.com/BrokerExchange/Showcase/projects):
----------------------------------------------------------------

[](#projects)

- [Roadmap](https://github.com/BrokerExchange/Showcase/projects/1)

Installation
------------

[](#installation)

### Install the package

[](#install-the-package)

```
composer require brokerexchange/showcase

```

To include the assets, you have two options:

1. `@import "vendor/brokerexchange/showcase/resources/assets/build/public";` in your main stylesheet, which will include the styles as part of your app's compiled styles.
2. `php artisan vendor:publish --tag=showcase-assets` and link to `/vendor/showcase/public.css` in the ``.

If you want to publish all the assets:

```
php artisan vendor:publish --tag=showcase

```

If you only want to publish specific pieces:

```
php artisan vendor:publish --tag=showcase-assets
php artisan vendor:publish --tag=showcase-config
php artisan vendor:publish --tag=showcase-views

```

> TODO: Finish this section and fix things so you don't have to use public/vendor

### Install the package development environment

[](#install-the-package-development-environment)

```
git clone [the-url]
composer install
npm install

```

#### Test Project

[](#test-project)

To create a test project: `bash build-test-project.sh`

> This can also be used to rebuild the test project if you messed something up.

If you want to use a different DB, change the credentials at the top of `build-test-project.sh` to match your desired credentials.

#### Update

[](#update)

To update the test project with package changes: `bash update-test-project.sh`

This will also dump composer's autoload and clear the Laravel cache and compiled views.

Flags you can use:

- `--migrations`: run database migrations
- `--rundev`: run the package `npm run dev` before updating the test project

#### Authentication

[](#authentication)

The test project generates Auth during the build. A default user is created with the test project:

> email:
> password: secret

You will need this to access the Showcase admin panels, as they are secured behind the Auth middleware by default. This can be changed from the config file.

#### Assets

[](#assets)

To build the package JS and SCSS assets during development, just use the `--rundev` flag when running the update script. It will take care of compiling your assets and moving them to the proper locations in the test project.

You will still need to add a link for the showcase stylesheets to the test project `head`, as outlined in the package install instructions.

---

Use
---

[](#use)

Showcase is designed to be as simple to use as possible.

### Displays

[](#displays)

Using displays on your frontend is easy. First, get a display and pass it into the view:

```
$display = \Showcase\Showcase::display('Sample Box'); // display($id) works as well!
...
return view('view.name', compact('display'));

```

To use it in the view, simply use the `@showcaseDisplay()` directive:

```
@showcaseDisplay($display)

```

The display's template will be rendered automatically.

### Trophies

[](#trophies)

If you look in the default display component views, you'll notice that they each call `showcaseTrophy($trophy, $display)`. This directive renders a trophy component view, which renders a trophy's component view (or the display's default trophy component view, if `force_trophy_default` is set to `true`).

Both display and trophy component views can be customized.

> Note: Currently, there is no "sort" functionality, but you can still sort trophies within a display by detaching/attaching trophies from a display, which will put a particular trophy last in the sorting order. This is for alpha functionality only, and proper sorting will be in place for 1.0

---

End User Customization
----------------------

[](#end-user-customization)

### Display Components

[](#display-components)

After you've installed the package, you can use `php artisan vendor:publish --tag=showcase` to publish the package resources.

#### Modify Existing Views

[](#modify-existing-views)

Once the resources are published, you can find them in the `resources/views/vendor/showcase` directory. You can modify any of the package views, including the admin panels.

#### Add Custom Display Component

[](#add-custom-display-component)

If you want to add a custom component, just create a new file in `resources/views/vendor/showcase/public/components`. Then, when creating or editing a display, your custom component will show up in the dropdown selection!

#### Custom CSS

[](#custom-css)

Just target the Showcase selectors with your CSS to customize the styling. To make the custom styling show up on the admin panels, make sure you add a link tag for your CSS to the `_stylesheets` include in `resources/views/vendor/showcase/app/includes`.

### Configuration

[](#configuration)

There are some configuration options exposed for you in the config file `showcase.php`.

- `table_prefix` sets the prefix used by Showcase tables
- `middleware` sets what middleware Showcase routes go through (comma delimited)
- `description_length` sets a character limit on the description field
- `route_prefix` sets the prefix used for Showcase routes and named routes

#### Table Prefix

[](#table-prefix)

By default, all showcase tables are prefixed with `showcase_`. You may change this to whatever you desire.

#### Middleware

[](#middleware)

By default, all admin routes for Showcase are passed through `web` and `auth`. You may change this array in config to add or remove middleware as you want.

###  Health Score

28

—

LowBetter than 54% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity10

Limited adoption so far

Community13

Small or concentrated contributor base

Maturity59

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 98.3% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~26 days

Recently: every ~40 days

Total

7

Last Release

2767d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/fc511d79233a52b0bb85db90dcac069b3482399e1a6778acfd1825092a2de9cb?d=identicon)[Artistan](/maintainers/Artistan)

![](https://www.gravatar.com/avatar/3b3300a4dbc020ca5bfd2b46fed9a29f51d4c78dd982fc9ab72e1cb6e02098f6?d=identicon)[brino](/maintainers/brino)

---

Top Contributors

[![Jantho1990](https://avatars.githubusercontent.com/u/20214977?v=4)](https://github.com/Jantho1990 "Jantho1990 (113 commits)")[![Artistan](https://avatars.githubusercontent.com/u/801349?v=4)](https://github.com/Artistan "Artistan (2 commits)")

###  Code Quality

Code StylePHP\_CodeSniffer

### Embed Badge

![Health badge](/badges/brokerexchange-showcase/health.svg)

```
[![Health](https://phpackages.com/badges/brokerexchange-showcase/health.svg)](https://phpackages.com/packages/brokerexchange-showcase)
```

###  Alternatives

[barryvdh/laravel-ide-helper

Laravel IDE Helper, generates correct PHPDocs for all Facade classes, to improve auto-completion.

14.9k123.0M687](/packages/barryvdh-laravel-ide-helper)[yajra/laravel-datatables-oracle

jQuery DataTables API for Laravel

4.9k33.8M339](/packages/yajra-laravel-datatables-oracle)[ashallendesign/short-url

A Laravel package for creating shortened URLs for your web apps.

1.4k1.9M4](/packages/ashallendesign-short-url)[orchestra/canvas

Code Generators for Laravel Applications and Packages

21017.2M158](/packages/orchestra-canvas)[flarum/core

Delightfully simple forum software.

211.3M1.9k](/packages/flarum-core)[ashallendesign/favicon-fetcher

A Laravel package for fetching website's favicons.

190272.4k3](/packages/ashallendesign-favicon-fetcher)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
