~ composer require open-admin-org/open-admin
~ php artisan vendor:publish --provider="OpenAdmin\Admin\AdminServiceProvider"
~ php artisan admin:install
~
~ composer require open-admin-ext/helpers
~ php artisan admin:import helpers
~
~ php artisan admin:controller \\App\\Models\\YourModel
~
~ composer require open-admin-ext/media-manager
~ php artisan admin:import media-manager
~

Open-Admin

Easily administer your data with an admin panel that works for you.

Just start typing the above commands in your terminal and you can start managing!

Super fast Crud / Scaffold

With the `Helpers` extension installed you can super fast generate adminController pages. With a Grid / Form / Display.

Forms fields

With a wide variety of form fields, you will be able to edit all data types you need. Start exploring

Media manger

Manage your uploads though the media manager. Show all extension

Explore Open-Admin

Start building a nice admin panel with our out of the box features

Why Open-admin

Open-admin is a fork of one of the most used Laravel open-source admin panels, Laravel-admin. Originally created by z-song, much appreciation to him for the initial setup!

Although the setup is great, it's no longer actively developed and large portions of the system really on old technology like jQuery. With removing jQuery, adding bootstrap 5, optimising the code that lies underneath, and refining the looks we believe we created a solid solution for going forward in using this great setup.

We hope you like it as well, happy coding!
The Open-admin Team

Easy setup

Open admin is easy to setup. First, install laravel, and make sure that the database connection is set.

Then just run these commands:

~ composer require open-admin-org/open-admin
~ php artisan vendor:publish --provider="OpenAdmin\Admin\AdminServiceProvider"
~ php artisan admin:install

Then open http://your-host/admin/ in browser, use username: admin and password: admin to login.

Find more details in the documentation

Code Based

The setup to control your data is all based on code. See this example below. Read the documentation for all available options.

< ?php

    namespace App\Admin\Controllers;

    use OpenAdmin\Admin\Controllers\AdminController;
    use OpenAdmin\Admin\Form;
    use OpenAdmin\Admin\Grid;
    use OpenAdmin\Admin\Show;
    use App\Models\Page;

    class PageController extends AdminController
    {
        protected $title = 'Page';

        protected function grid()
        {
            $grid = new Grid(new Page());
            $grid->sortable();
            $grid->column('id', __('Id'));
            $grid->column('title', __('Title'));
            $grid->column('body', __('Body'));
            //...

            return $grid;
        }

        protected function detail($id)
        {
            $show = new Show(Page::findOrFail($id));

            $show->field('id', __('Id'));
            $show->field('type', __('Type'));
            $show->field('title', __('Title'));
            $show->field('body', __('Body'));
            // ...

            return $show;
        }

        protected function form()
        {
            $form = new Form(new Page());

            $form->number('rank', __('Rank'));
            $form->text('type', __('Type'));
            $form->text('title', __('Title'));
            $form->ckeditor('body', __('Body'));
            // ...

            return $form;
        }
    }

User & right

Open-admin out of the box has a right system that allows you to control what pages users can access.

Besides that you can create roles and assign rights. Also it's possible to assign individual rights to a user.

In your controller you restrict access by using the following checks.

use OpenAdmin\Admin\Auth\Permission;

Permission::check('create-page');

Read more about permission

Form Fields

Open-admin has a wide variety of fields that you can used to controller you data. Take a look at the list of fields that are available.

You can easily extend these fields to fit your own needs although please explore the options that are there. There is more under the hood then you might think.

Extensions

Open-admin already has a list of nice extensions that can be used.

Next to that Open-admin uses the default Laravel extension options and so, its easy to be extended.

You can start developing your own extension just by using one command:

php artisan admin:extend open-admin-ext/my-new-plugin --namespace=OpenAdmin\\MyNewPlugin

Read more about extension development

Available extentsion / plugins

Use one of these great plugins that make your life easier or build your own, here you can find a full list of the repositories

Helpers

Kickstart your open-admin install with these helpers. Scaffold your models, run queries and artisan commands and view your routes.

Media Manager

Manage your uploads and re-use them. Also working nicely together with ckeditor

Log viewer

An easy interface to view you logs

API-Tester

Test your API calls and see their result easily from a backend interface

Config

Add config settings that can be managed trough the admin panel. Hooks into Laravel's default config function.

Ckeditor

Adds Ckeditor to the backend.

show more

Requests

Open-Admin is free to use and open-source, and we love to develop new features that everyone can use for free. Along the way when working for clients and building new projects we'll always try to add newly developed features to the Open-Admin eco-system. We also strongly encourage you to start building upon Open-admin and develop your own extensions and release them as open-source products that others can use. Together we can build a better and more Open internet.

We love to keep working on Open-Admin every day, although we still need to pay the bills. You can contribute by requesting new features or extensions for Open-admin and pay for the development. This way we can keep the eco-system, free to use, open-source and growing for all of us.

Next to that we also offer our services to help you develop admin panels based on open-admin. Please tell us what you like to see and we'll get in contact with you to see if we can make it happen.