PHPackages                             shawnsandy/backstory - 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. shawnsandy/backstory

ActiveLibrary

shawnsandy/backstory
====================

Backstory

v0.1.4(8y ago)05MITJavaScriptPHP ~5.6|~7.0

Since Dec 13Pushed 8y ago1 watchersCompare

[ Source](https://github.com/shawnsandy/backstory)[ Packagist](https://packagist.org/packages/shawnsandy/backstory)[ Docs](https://github.com/shawnsandy/backstory)[ RSS](/packages/shawnsandy-backstory/feed)WikiDiscussions master Synced yesterday

READMEChangelog (3)Dependencies (10)Versions (5)Used By (0)

Backstory (beta)
================

[](#backstory-beta)

### Tell Your Story.

[](#tell-your-story)

Backstory is a Laravel package for creating and editing, content in your laravel application.

Features
--------

[](#features)

- Easily integrate into your application
- WYSIWYG editor powered by CKEditor
- Simple and easy image management
- Dynamic on the fly image resizing using [PHPGlide](http://glide.thephpleague.com/)
- OEMBED support
- Easy to customize
- more features coming soon.

Install
-------

[](#install)

- Installs using composer repositories add the following to your composer.json file

```
"repositories": [
        {
            "type": "vcs",
            "url": "https://github.com/shawnsandy/backstory"
        }
    ],
```

- Run the composer require to install the package

```
composer require shawnsandy/backstory dev-master
```

### In Laravel 5.5 and higher the package automatically installs itself. If you are running Laravel 5.4 or earlier please follow the instructions below.

[](#in-laravel-55-and-higher-the-package-automatically-installs-itself-if-you-are-running-laravel-54-or-earlier-please-follow-the-instructions-below)

- Add the provider to your `config\app.php` providers.

```
ShawnSandy\Backstory\BackstoryServiceProvider::class,

```

- Add the facade to your `config/app.php` alias.

```
"Backstory" => ShawnSandy\Backstory\BackstoryFacade::class,

```

### Routes

[](#routes)

- Add the route(s) to your `routes\web.php`

```
Backstory::routes();
```

**Optional Routes**

### Images Driver

[](#images-driver)

Add the images driver to the `config\filesystem.php`

```
    'images' => [
    'driver' => 'local',
    'root' => base_path('/public'),
    'url' => env('APP_URL').'/public',
    'visibility' => 'public',
```

### Publish vendor assets files

[](#publish-vendor-assets-files)

- Publish vendor assets and files

```
php artisan vendor:publish --tag=backstory-assets

```

```
php artisan vendor:publish --tag=backstory-vendor-assets

```

### Migrate

[](#migrate)

Run php artisan migrate to setup backstory tables

```
php artisan migrate

```

### Traits

[](#traits)

Add the following traits to your `App/User.php`

```
User extends Authenticatable {
  use  Storify, HasRolesAndAbilities;
    ...
}

```

### Dependencies

[](#dependencies)

Backstory requires the following dependencies

**Img FLY**

Install ImgFly - adds dynamic image resizing [download and full instructions](https://github.com/shawnsandy/img-fly)

Installs using composer repositories add the following to your `composer.json` file

```
"repositories": [
        {
            "type": "vcs",
            "url": "https://github.com/shawnsandy/img-fly"
        }
    ],
```

- Run the composer require to install the package

```
composer require shawnsandy/img-fly dev-master

```

**Larvel Blade Directives**

- Run the composer require to install the package

```
composer require appstract/laravel-blade-directives
```

- Install info [please check the repo](https://github.com/appstract/laravel-blade-directives)

**Scripts / Styles**

- When adding Backstory to your custom pages add the following to your page `umbrellajs` and custom scripts to your layout blade

```

    @stack('scripts')
    @stack('inline-scripts')
```

- Include the scripts on your editor / update blade (view)

```
    @include("backstory::partials.scripts")
```

### Demo / Usage

[](#demo--usage)

Backstory comes with a prebuilt sample of the application that you can use to demo its functionalities and features. Dive the code for examples on how to integrate backstory in your app (tutorials coming soon).

- Once installed you can view and create articles by visiting `yourapp.com/backstory`
- Add some categories-- hit `add categories` button and add a coupe categories before you continue.
- Click the create `new story` button
- Now go ahead got ahead and create your story

TODO
----

[](#todo)

- Add restful api for stories
- Ajaxify / Reactive forms
- Add vue/react components
- Bootstrap 4 views
- Improve the docs

Change log
----------

[](#change-log)

Please see [CHANGELOG](CHANGELOG.md) for more information on what has changed recently.

Testing
-------

[](#testing)

```
$ composer run phpstan
```

Contributing
------------

[](#contributing)

Please see [CONTRIBUTING](CONTRIBUTING.md) and [CONDUCT](CONDUCT.md) for details.

Security
--------

[](#security)

If you discover any security related issues, please email `shawnsandy04@gmail.com` instead of using the issue tracker.

Credits
-------

[](#credits)

- [Shawn Sandy](http://shawnsandy.design)

License
-------

[](#license)

The MIT License (MIT). Please see [License File](LICENSE.md) for more information.

###  Health Score

23

—

LowBetter than 27% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity4

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity51

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% 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 ~18 days

Total

3

Last Release

3037d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/156cac1775411dd2db8278fe9267bcc9e76c49aa2a6c1f683b961cce1744c8a8?d=identicon)[shawnsandy](/maintainers/shawnsandy)

---

Top Contributors

[![shawnsandy](https://avatars.githubusercontent.com/u/28913?v=4)](https://github.com/shawnsandy "shawnsandy (135 commits)")

---

Tags

shawn sandybackstory

###  Code Quality

TestsPHPUnit

Static AnalysisPHPStan

Type Coverage Yes

### Embed Badge

![Health badge](/badges/shawnsandy-backstory/health.svg)

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

###  Alternatives

[larastan/larastan

Larastan - Discover bugs in your code without running it. A phpstan/phpstan extension for Laravel

6.4k43.5M5.2k](/packages/larastan-larastan)[laravel/passport

Laravel Passport provides OAuth2 server support to Laravel.

3.4k85.0M532](/packages/laravel-passport)[yadahan/laravel-authentication-log

Laravel Authentication Log provides authentication logger and notification for Laravel.

416632.8k5](/packages/yadahan-laravel-authentication-log)[aedart/athenaeum

Athenaeum is a mono repository; a collection of various PHP packages

245.2k](/packages/aedart-athenaeum)[pressbooks/pressbooks

Pressbooks is an open source book publishing tool built on a WordPress multisite platform. Pressbooks outputs books in multiple formats, including PDF, EPUB, web, and a variety of XML flavours, using a theming/templating system, driven by CSS.

44643.1k1](/packages/pressbooks-pressbooks)[api-platform/laravel

API Platform support for Laravel

59126.4k6](/packages/api-platform-laravel)

PHPackages © 2026

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