PHPackages                             hoppermagic/kobalt - 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. hoppermagic/kobalt

ActiveLibrary

hoppermagic/kobalt
==================

Set of reusable views and code to help building small scale Laravel backends

v1.0.15(3y ago)088[6 PRs](https://github.com/paparabbit/kobalt/pulls)MITPHP

Since Jan 2Pushed 3y ago1 watchersCompare

[ Source](https://github.com/paparabbit/kobalt)[ Packagist](https://packagist.org/packages/hoppermagic/kobalt)[ RSS](/packages/hoppermagic-kobalt/feed)WikiDiscussions master Synced today

READMEChangelogDependencies (2)Versions (25)Used By (0)

Set of admin views and functionality to speed up development of small custom Content Management Systems built in Laravel....

**Steps for using**

If it doesn't auto discover

**Config/app.php**

```
Hoppermagic\Kobalt\KobaltServiceProvider::class

```

Package will automatically add the following but you might want to add these in config.app

```
Kris\LaravelFormBuilder\FormBuilderServiceProvider::class,
Laracasts\Flash\FlashServiceProvider::class,

'FormBuilder' => Kris\LaravelFormBuilder\Facades\FormBuilder::class,
'Flash'	=> Laracasts\Flash\Flash::class,

```

**Setup db preferences**

Run the standard laravel auth generator

```
php artisan make:auth
php artisan migrate

```

Register yourself, disable the auth routes in web.php

Add the non-registration routes from Router.php (auth method) to web.php

Remember to comment out the Auth::routes()

From 5.8 it wont show register if the route doesn't exist.

app.blade.php also contains a reference to the register route, so need to comment out

```
// From 5.8?

Auth::routes(['register', false]);

OR

//!TODO MAKE SURE YOU USE THE ONES FROM ROUTER.PHP
// Authentication Routes...
Route::get('login', 'Auth\LoginController@showLoginForm')->name('login');
Route::post('login', 'Auth\LoginController@login');
Route::post('logout', 'Auth\LoginController@logout')->name('logout');

// Password Reset Routes...
Route::get('password/reset', 'Auth\ForgotPasswordController@showLinkRequestForm')->name('password.request');
Route::post('password/email', 'Auth\ForgotPasswordController@sendResetLinkEmail')->name('password.email');
Route::get('password/reset/{token}', 'Auth\ResetPasswordController@showResetForm')->name('password.reset');
Route::post('password/reset', 'Auth\ResetPasswordController@reset');

```

**Admin area web routes**

could put these in their own admin.php file.....

```
Route::group([
        'namespace' => 'Admin',
        'prefix' => 'admin',
        'as' => 'admin.']
    ,function(){

        // STORIES
        Route::get('story/{story}/confirmdel', [
            'as' => 'story.confirmdel',
            'uses' => 'StoriesController@confirmDelete'
        ]);
        Route::resource('/story', 'StoriesController', [
            'except' => ['show'],
        ]);

        // STORY IMAGES
        Route::get('story/{story}/storyimage/{storyimage}/confirmdel', [
            'as' => 'story.{story}.storyimage.{storyimage}.confirmdel',
            'uses' => 'StoryImageController@confirmDelete'
        ]);
        Route::get('/story/{story}/storyimage/createbulk', 'StoryImageController@createBulkUpload')->name('storyimage.createbulk');
        Route::post('/story/{story}/storyimage/storebulk', 'StoryImageController@storeBulkUpload')->name('storyimage.storebulk');
        Route::resource('/story/{story}/storyimage', 'StoryImageController', [
            'except' => ['show','index'],
        ]);

        // Stories ajax routes
        Route::post('story/{story}/edit/imageload', 'StoriesController@imageGalleryLoad');
        Route::post('story/{story}/edit/imagesort', 'StoriesController@imageGallerySort');
        Route::post('story/sort', 'StoriesController@overviewSort');
    }
);

```

**Make sure the following are pointing to the admin homepage**

Controllers\\Auth\\LoginController

Controllers\\Auth\\RegisterController

Controllers\\Auth\\ResetPasswordController

Middleware\\RedirectIfAuthenticated

```
protected $redirectTo = '/admin/overviewpage'; // Admin landing page

```

**Css and Js links in admin template**

app.blade.php

```

or

```

**View Composer**

FYI, KobaltServiceProvider makes sure the active variable is available in the admin nav partial, its pushing in segment(2) so make sure this is what you want. Undecided if this is a good thing.

**Publish assets**

admin js,

admin enhancements - Handy place for tiny\_mce setup, select2 etc

css

admin images

admin nav partial

**admin template**

need to update this file with the latest structure from app.blade.php Pull in local version of tiny mce

use force to overwrite

after publishing amend the nav partial

```
php artisan vendor:publish --provider="Hoppermagic\Kobalt\KobaltServiceProvider" --tag=default --force

```

Publish all admin views

```
php artisan vendor:publish --provider="Hoppermagic\Kobalt\KobaltServiceProvider" --tag=admin-views --force

```

Publish just the css and js

```
php artisan vendor:publish --provider="Hoppermagic\Kobalt\KobaltServiceProvider" --tag=css-js --force

```

If you need to recompile the js/css

```
npm run production

```

Create model, admin controller, form and request

Will create RabbitController etc

```
php artisan make:ko-resources Rabbit
php artisan make:ko-controller Rabbit
php artisan make:ko-form Rabbit

```

//!TODO config/app.php

//!TODO Notes about editable, deleteable, addable

**Forms**

Form Builder Static type is now escaped, so if you need to pass a view in need to use unescaped static.

```
$this->addCustomField('unescaped-static', 'Hoppermagic\Kobalt\Forms\Fields\UnescapedStaticType');

```

Form fields on desktop will be 60% width unless

```
'attr' => [
    'class' => 'form-control full-width'
],

```

Rich text fields

```
'attr' => [
    'class' => 'rich-text'
],

```

###  Health Score

31

—

LowBetter than 68% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity9

Limited adoption so far

Community9

Small or concentrated contributor base

Maturity73

Established project with proven stability

 Bus Factor1

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

Recently: every ~189 days

Total

15

Last Release

1312d ago

Major Versions

v0.x-dev → v1.0.02019-05-15

### Community

Maintainers

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

---

Top Contributors

[![dependabot[bot]](https://avatars.githubusercontent.com/in/29110?v=4)](https://github.com/dependabot[bot] "dependabot[bot] (3 commits)")[![paparabbit](https://avatars.githubusercontent.com/u/7227676?v=4)](https://github.com/paparabbit "paparabbit (3 commits)")

### Embed Badge

![Health badge](/badges/hoppermagic-kobalt/health.svg)

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

###  Alternatives

[infyomlabs/laravel-generator

InfyOm Laravel Generator

3.8k2.3M13](/packages/infyomlabs-laravel-generator)[nasirkhan/laravel-starter

A CMS like modular Laravel starter project.

1.4k2.7k](/packages/nasirkhan-laravel-starter)[venturedrake/laravel-crm

A free open source CRM built as a package for laravel projects

3879.4k](/packages/venturedrake-laravel-crm)[konekt/appshell

Foundation for Laravel business applications

8257.1k2](/packages/konekt-appshell)[asgardcms/core-module

The core module for AsgardCMS. This is required for every install.

8343.7k27](/packages/asgardcms-core-module)[weblabormx/laravel-front

Front is a administration panel for Laravel. It allows you to create CRUD easily in minutes. It allows to fully customize any part of the code.

1111.1k](/packages/weblabormx-laravel-front)

PHPackages © 2026

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