Until 2018, Backpack v3 used this Base package to offer admin authentication and a blank admin panel using AdminLTE. Backpack v4 no longer uses this package, they're now built-in - use Backpack/CRUD instead.

Overview

Maintained Build Status Quality Score Style CI Total Downloads

Note: This package is only used by Backpack v3. Starting with Backpack v4, everything this package does is included in Backpack/CRUD - one package to rule them all.

Laravel Backpack v3.x's central package, which includes:

  • admin login interface, using AdminLTE;
  • basic menu;
  • pretty error pages;
  • alerts system (notification bubbles);

Install on Laravel 7.x, 8.x and up

Since September 2019, when we released Backpack 4.x, this package is no longer used. Only Backpack 3.x uses Backpack\Base, and Backpack 3.x will not receive support for Laravel 7.x, 8.x and above. We do encourage you to use Backpack + Laravel 7/8/up, but to do that please use the latest major version of Backpack.

Install on Laravel 6, 5.8, 5.7, 5.6 or 5.5

  1. Run in your terminal:
composer require backpack/base
php artisan backpack:base:install
  1. Make sure the reset password emails have the correct reset link by adding these to your User model:
  • before class name use Backpack\Base\app\Notifications\ResetPasswordNotification as ResetPasswordNotification;
  • as a method inside the User class:
  /**
   * Send the password reset notification.
   *
   * @param  string  $token
   * @return void
   */
  public function sendPasswordResetNotification($token)
  {
      $this->notify(new ResetPasswordNotification($token));
  }
  1. [optional] Change values in config/backpack/base.php to make the admin panel your own. Change menu color, project name, developer name etc.

Upgrades

Upgrading from Laravel 5.8 to Laravel 6

  • just upgrade your Laravel version and make sure you're running Backpack/Base 1.1.9 or higher;

Upgrading from Laravel 5.7 to Laravel 5.8 (or from Base 1.0 to Base 1.1)

  • Upgrade to Laravel 5.8; you might need to change your backpack/crud dependency to 3.6.* in your composer.json;
  • in your App\Models\BackpackUser instead of Tightenco\Parental\HasParent, please use Backpack\Base\app\Models\Traits\InheritsRelationsFromParentModel; here's the diff;
  • in your app/config/backpack/base.php please change your default_date_format and default_datetime_format to Do MMMM YYYY and Do MMMM YYYY, HH:mm respectively;
  • if you've overwritten inc/head.blade.php or inc/scripts.blade.php, please make sure you use the newest version of Bootstrap; they've fixed a security vulnerability (XSS);

Usage

  1. Register a new user at yourappname/admin/register
  2. Your admin panel will be available at yourappname/admin or yourappname/login
  3. [optional] If you're building an admin panel, you should close the registration. In config/backpack/base.php look for "registration_open" and change it to false.

Example generated CRUD interface

Overwriting Functionality

If you need to modify how this works in a project:

  • create a routes/backpack/base.php file; the package will see that, and load your routes file, instead of the one in the package;
  • create controllers/models that extend the ones in the package, and use those in your new routes file;
  • modify anything you'd like in the new controllers/models;

Change log

Please see CHANGELOG for more information what has changed recently.

Contributing

Please see CONTRIBUTING and CONDUCT for details.

Security

Officially this package has:

  • stopped receiving updates in Sep 2019;
  • stopped receiving security updates in Sep 2020;

However, if you discover any security related issues, please email [email protected] and we'll probably push an update nonetheless. Or at least inform people who are still using this version of the vulnerability. We take security seriously, so we'll go above and beyond to make sure our users' admin panels are safe.

Please subscribe to the Backpack Newsletter so you can find out about any security updates, breaking changes or major features. We send an email every 1-2 months.

Credits

License

Backpack is free for non-commercial use and 69 EUR/project for commercial use. Please see License File and backpackforlaravel.com for more information.

Hire us

We've spend more than 50.000 hours creating, polishing and maintaining administration panels on Laravel. We've developed e-Commerce, e-Learning, ERPs, social networks, payment gateways and much more. We've worked on admin panels so much, that we've created one of the most popular software in its niche - just from making public what was repetitive in our projects.

If you are looking for a developer/team to help you build an admin panel on Laravel, look no further. You'll have a difficult time finding someone with more experience & enthusiasm for this. This is what we do. Contact us. Let's see if we can work together.

Comments
  • [Enhancement] Allows users and admins to have separate sessions

    [Enhancement] Allows users and admins to have separate sessions

    This PR does 2 things.

    1. It renames the generic admin middleware to backpack.base.admin

    2. It adds a guard, additional middleware (which can be customised), and config items

    This means that if you set 'separate_admin_session' => true in the config, users and admins can have separate sessions, so they can be logged in as a different user on the frontend to the admin.

    urgent breaking change 
    opened by OwenMelbz 24
  • [Feature][0.9][Merged] Custom auth guard

    [Feature][0.9][Merged] Custom auth guard

    Merged this PR https://github.com/Laravel-Backpack/Base/pull/141 into a branch, so we can work on it a little bit more.

    I've already implemented all of @lloy0076 's comments regarding spacing, docblocks, etc.

    opened by tabacitu 14
  • Design Facelift

    Design Facelift

    Made a few design improvements to make AdminLTE look less outdated (compared to other premium admin themes):

    • bigger texts
    • more space

    Also:

    • added Gravatar instead of placeholder image with letter;
    • cleaned up sidebar so there are less elements;

    This new design is introduced as an "overlay" (a new css file) I called "bold". Since these changes are very subjective, I expect other people to want to create their own overlays, and easily drop them in all projects to get their preferred look-and-feel.

    What do you guys think? Better/worse than before? screen shot 2017-04-26 at 12 45 43 screen shot 2017-04-26 at 12 45 10

    breaking change 
    opened by tabacitu 12
  • [4.0][Feature][Needs cleanup and polish] Use CoreUI and Bootstrap 4 by default

    [4.0][Feature][Needs cleanup and polish] Use CoreUI and Bootstrap 4 by default

    Similar design to the 3.4 revamp, but using CoreUI instead of AdminLTE. I found this CoreUI was the only free Bootstrap 4 Admin Panel HTML Theme that was easy to work with, and provided a reasonable amount of building blocks (basically all of Bootstrap's plus a sidebar). And trust me, it took MONTHS to take this decision. In the process, I've tried the top 5 free admin panel themes, and even got to implement like 80% of the features for 2 of them (AdminLTE v3 and Tabler). But they each had stuff that annoyed me. I consider the HTML theme you're working with very very important in admin panels, so I decided to scrap weeks of work and start again. Fortunately CoreUI is a keeper, in my opinion.

    However, I found its default design underwhelming, so I went ahead and layered my design preferences on top of CoreUI. The result is Backstrap, a free HTML template that I hope more people will use, even outside of Laravel.

    Screenshot 2019-06-21 at 11 49 34 Screenshot 2019-06-21 at 11 50 12 Screenshot 2019-06-21 at 11 50 01

    breaking change 
    opened by tabacitu 11
  • added functionality needed for enqueuing

    added functionality needed for enqueuing

    Need guidance how best to actually implement this functionality.

    usage

    use \Backpack\Base\BaseServiceProvider as Backpack;
    
    public function setUp()
    {
        Backpack::enqueueAsset('css', 'blockui', '/css/blockui.css');
    
        Backpack::enqueueAsset('js', 'jquery-ui', '/js/jquery-ui.js', ['jquery']);
        Backpack::enqueueAsset('js', 'angular-sortable', '/js/ng-sortable.js', ['angular']);
        Backpack::enqueueAsset('js', 'angular', '/js/angular.js', ['jquery']);
        Backpack::enqueueAsset('js', 'blockui', '/js/blockui.js',['jquery']);
    }
    

    I've added the functionality needed for a project, which will also help developers who want to add non conflicting input types to their code, however I've implemented it as a Trait on the BaseServiceProvider - which I'm pretty sure is not the best way to do this, however I do not know how you're meant to do something like this in Laravel, so feedback on how to implement this feature correctly would be lovely :)

    ready 
    opened by OwenMelbz 11
  • [4.0][Feature][Ready] Themes

    [4.0][Feature][Ready] Themes

    This allows for various theme options. While I suggest that we only support adminlte by default to avoid further update and such once we get a 'marketplace' type place setup themes should be included on there and could be downloaded etc. Takes less work from the core backpack team and spreads more to the community to help contribute, expand, etc. perhaps even get a category on themeforest and such.

    Added two new helpers both return strings:

    backpack_view($view, $package = 'backpack') { // }
    backpack_theme($view, $package = 'backpack') { // }
    
    • backpack_view(): This allows for us to get just the view, and we can define a package such as crud but defaults to backpack.
    • backpack_theme(): Gets the theme to be used based on the new config option of backpack.base.theme (defaults to 'adminlte')
    breaking change 
    opened by AbbyJanke 10
  • Themable

    Themable

    First Part of making bootstrap themable.

    Themable option for backpack/base:

    • Default Admin LTE
    • Optional: CoreUI (theme colors ("skins") coming soon)

    This PR should be backwards compatible, if no theme is set within the base it will default to the generic location of backpack of vendor/backpack/base.

    note: currently working on a themable for Backpack/CRUD but would love some feedback on this to proceed.

    working on it 
    opened by AbbyJanke 10
  • [Enhancement] Added facility for an

    [Enhancement] Added facility for an "edit profile" form - fixes #86

    Based off https://github.com/Laravel-Backpack/Base/issues/86 here is a starting point for an edit profile function.

    This adds a template, route and controller for an "Edit Account" functionality, by default it comes with the stock laravel auth fields. can be seen under /admin/edit-profile

    It can be extended from the users application folder and the view modified/validation changed etc.

    Heres simple screenshot of it

    edit_account____backpack_admin

    and the change password functionality

    edit_account____backpack_admin 2 urgent 
    opened by OwenMelbz 10
  • Auth\Login: allow username customization

    Auth\Login: allow username customization

    If you change your User model to use another field that email to authenticate, you can't use BackPack. (In my case, I use Adldap2 to login with AD username) You need to update login.blade.php to allow username instead of email field.

    opened by kichetof 9
  • [Feature][1.0][WIP] Support AdminLTE original Auth pages style with some changes to blades structs

    [Feature][1.0][WIP] Support AdminLTE original Auth pages style with some changes to blades structs

    separated head, main_header and scripts to new blades, added support for adminlte original login page style for auth blades

    example of auth pages

    Register Page

    capture d ecran 2018-01-15 a 03 14 53

    Login Page

    capture d ecran 2018-01-15 a 03 14 41

    Email Page capture d ecran 2018-01-15 a 03 14 46

    help wanted working on it breaking change 
    opened by iMokhles 9
  • [4.0][Feature][Ready] Widgets (aka cards, charts)

    [4.0][Feature][Ready] Widgets (aka cards, charts)

    This adds the ability to add widgets from the controller. Widgets are content blocks that can look&work in any freaking way :-). Their syntax is similar to CRUD fields/columns/filters/etc, because at their core they're just blade views.

    Widgets can be useful to add:

    • charts
    • notices
    • extra content

    Widget sections

    The default layout has two widget sections where you can push cards:

    • before_content
    • after_content

    For example, this is how you can add content in the Dashboard, before and after the main hero unit:

    /**
         * Show the admin dashboard.
         *
         * @return \Illuminate\Http\Response
         */
        public function dashboard()
        {
            $this->data['title'] = trans('backpack::base.dashboard'); // set the page title
            $this->data['widgets']['before_content'] = [
                [
                    'type' => 'card',
                    'wrapperClass' => 'col-sm-6 col-md-4',
                    'content' => [
                        'header' => 'Some card title',
                        'body' => 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis non mi nec orci euismod venenatis. Integer quis sapien et diam facilisis facilisis ultricies quis justo. Phasellus sem <b>turpis</b>, ornare quis aliquet ut, volutpat et lectus. Aliquam a egestas elit. <i>Nulla posuere</i>, sem et porttitor mollis, massa nibh sagittis nibh, id porttitor nibh turpis sed arcu.',
                    ]
                ],
            ];
            $this->data['widgets']['after_content'] = [
                [
                    'type' => 'card',
                    'wrapperClass' => 'col-sm-6 col-md-4',
                    'class' => 'card text-white bg-primary text-center',
                    'content' => [
                        // 'header' => 'Another card title',
                        'body' => 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis non mi nec orci euismod venenatis. Integer quis sapien et diam facilisis facilisis ultricies quis justo. Phasellus sem <b>turpis</b>, ornare quis aliquet ut, volutpat et lectus. Aliquam a egestas elit.',
                    ]
                ],
            ];
    
            return view('backpack::dashboard', $this->data);
        }
    

    Result:

    Screenshot 2019-07-30 at 18 41 53

    However, this is a pretty simple view. I expect all views to have the before_content and after_content widget sections, but more complex views could have more widget sections. For example:

    • all CRUD views could have before_heading, after_heading;
    • CRUD's List view could also have before_filters, after_filters, before_table, after_table;
    • etc

    Of course, you can also push widgets into those sections from the view. For example, your dashboard.blade.php could look like this:

    @extends('backpack::layouts.top_left')
    
    @php
    $widgets['before_content'][] = [
            'type'        => 'jumbotron',
            'heading'     => trans('backpack::base.welcome'),
            'content'     => trans('backpack::base.use_sidebar'),
            'button_link' => backpack_url('logout'),
            'button_text' => @Laravel-Backpack/community-members backpack::base.logout'),
        ];
    @endphp
    
    @section('content')
    @endsection
    

    Arguably, this is an even better way of using widgets - since the presentation logic will be contained within the views, and the views alone.

    How to create or overwrite a default widget

    Similar to CRUD fields:

    • you can add new widgets by creating a file inside resources/views/vendor/backpack/base/widgets;
    • you can overwrite default widgets by creating a file inside resources/views/vendor/backpack/base/widgets;
    • JS and CSS can be used in the blade file by pushing to the existing stacks (before_styles, after_styles, before_scripts, after_scripts);
    • you can use widgets from a different directory or package, by mentioning a different viewNamespace, for example:
            $this->data['widgets']['after_content'] = [
                [
                    'type' => 'card',
    +               'viewNamespace' => 'package::widgets',
                    'wrapperClass' => 'col-sm-6 col-md-4',
                    'class' => 'card text-white bg-primary text-center',
    
                    'content' => [
                        // 'header' => 'Another card title',
                        'body' => 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis non mi nec orci euismod venenatis. Integer quis sapien et diam facilisis facilisis ultricies quis justo. Phasellus sem <b>turpis</b>, ornare quis aliquet ut, volutpat et lectus. Aliquam a egestas elit.',
                    ]
                ],
            ];
    

    Widget types

    In this first draft, there's only one widget, card. It outputs a simple Bootstrap card with a heading. You can change how it looks by manipulating class names - both widgets in the screenshot above are using the card widget.

    Of course, more default widgets are needed for this feature to be useful. Hopefully, Backpack developers will be also create custom widgets, and share them with the community. Here's what I believe would be some useful widgets - let me know what you think.

    MUST

    SHOULD

    COULD

    WON'T

    ... idk ...

    Feedback needed

    Feedback anyone? Is widgets a good name? Previously I called it "cards" but it felt odd that "cards" was the name of the feature, but also one of the "cards". Confusing. Sounded to me like "widgets" is a better name, because it's more broad, but I never particularly liked this word - makes it sound generic.

    Do you mind that it doesn't have a Facade, that you add the widgets by creating simple arrays that get passed to the view? Or does this just make it easy to understand how it works? If it were to have a Facade or helper, what would it be? Widget::section('before_content')->add($widgetDefinitionArray)?

    opened by tabacitu 8
Releases(0.9.1)
Owner
Backpack for Laravel
A collection of packages to create custom admin panels in hours, not days.
Backpack for Laravel
Symfony React Blank is a blank symfony and react project, use this template to start your app using Symfony as an backend api and React as a frontend library.

Symfony React Blank Symfony React Blank is a blank symfony and react project, use this template to start your app using Symfony as an backend api and

Antoine Kingue 2 Nov 5, 2021
LaraAdmin is a Open source Laravel Admin Panel / CMS which can be used as Admin Backend, Data Management Tool or CRM boilerplate for Laravel with features like Advanced CRUD Generation, Module Manager, Backups and many more.

LaraAdmin 1.0 LaraAdmin is a Open source CRM for quick-start Admin based applications with features like Advanced CRUD Generation, Schema Manager and

Dwij IT Solutions 1.5k Dec 29, 2022
Fluent Interface for Laravel Backpack - Define resources once and get all CRUD configurations ready!

CRUD Resource for Laravel Backpack This package allows creating CRUD panels for Backpack for Laravel administration panel using fluent field definitio

FigLab 8 Nov 20, 2022
laravel adminlte with crud upload photo, ckeditor, validation & rest api

laravel crud with adminlte + restapi feature : Auth crud product (datatable, upload product using ajax, description with ckeditor) crud category displ

Dani 0 Jan 6, 2022
A Laravel admin panel which is creating CRUD for your application automatically.

Adds a zero configuration Admin Panel to your Laravel Application Installation You can install the package via composer: composer require max-hutschen

42coders 10 Aug 24, 2022
Basic admin panel with authentication and CURD operation..

About Laravel Laravel is a web application framework with expressive, elegant syntax. We believe development must be an enjoyable and creative experie

Raja kumar 2 Nov 21, 2022
Base Laravel project with React and Laravel Sanctum authentication

About this project This is a base Laravel project with ReactJS frontend and Laravel Sanctum API authentication. You could read more about here. Instal

David Toth 8 Oct 25, 2022
Laravel + Angularjs + Bootstrap + AdminLTE binded by Gulp workflow Admin Dashboard Boilerplate / Starter.

Laravel Angular Admin Laravel + Angularjs + Bootstrap + AdminLTE binded by Gulp workflow Admin Dashboard Boilerplate. Plus Oauth and JWT authenticatio

Alex Quiambao 927 Dec 30, 2022
A skeleton WordPress project to be used as a base for new WordPress projects.

BoxUK WordPress Project Skeleton A base WordPress project from Box UK to get you up and running quickly. Installation Create a new project with compos

Box UK 33 Dec 14, 2022
Admin Columns allows you to manage and organize columns in the posts, users, comments, and media lists tables in the WordPress admin panel.

Admin Columns allows you to manage and organize columns in the posts, users, comments, and media lists tables in the WordPress admin panel. Transform the WordPress admin screens into beautiful, clear overviews.

Codepress 67 Dec 14, 2022
Littlelink admin is an admin panel for littlelink that provides you a website similar linktree.

⚙️ LittleLink Admin LittleLink Admin is an admin panel for littlelink that provides you a website similar linktree. ?? Features creating a link page w

Khashayar Zavosh 70 Oct 29, 2022
Littlelink admin is an admin panel for littlelink that provides you a website similar linktree.

LittleLink Admin is an admin panel for littlelink that provides you a website similar linktree.

Khashayar Zavosh 70 Oct 29, 2022
A Laravel 5 package that switchs default Laravel scaffolding/boilerplate to AdminLTE template and Pratt Landing Page with Bootstrap 3.0

AdminLTE template Laravel package A Laravel package that switch default Laravel scaffolding / boilerplate to AdminLTE template with Bootstrap 3.0 and

Sergi Tur Badenas 1.8k Jan 3, 2023
Laravel CRUD Generator This Generator package provides various generators like CRUD, API, Controller, Model, Migration, View for your painless development of your applications.

Laravel CRUD Generator This Generator package provides various generators like CRUD, API, Controller, Model, Migration, View for your painless develop

AppzCoder 1.3k Jan 2, 2023
Base Laravel framework with a simple admin site/dashboard

Base Laravel Admin Just a basic Laravel 4.1 install with a admin site/dashboard using Bootstrap 3.0.3 For those (like me) who set up lots of small sys

Alex Dover 1 Nov 6, 2015
Quick Start - Project With Laravel 8.x and AdminLTE 3

Quick Start - Project With Laravel 8.x and AdminLTE 3 (feat. Docker) Cursos de Laravel - PT-BR Step by step Clone this Repository git clone https://gi

EspecializaTi 3 May 24, 2022
Dockerized Laravel project with authentication and car brand crud functionalities.

About Laravel Laravel is a web application framework with expressive, elegant syntax. We believe development must be an enjoyable and creative experie

Legendary 4 Oct 16, 2021
Start a new Laravel 8 project with the AdminLTE template installed.

AdminLTE template Laravel 8 package Start a new Laravel 8 project with the AdminLTE template installed. Installation Create database. Clone repository

Mairo Rodrigues 12 Dec 21, 2022
Laravel Boilerplate with AdminLTE Theme

Welcome to FastLaravel Laravel Boilerplate for AdminLTE Theme Laravel Boilerplate with AdminLTE Theme with FastLaravel.

FastX Group 49 Dec 15, 2022