All Projects → nascent-africa → Jetstrap

nascent-africa / Jetstrap

Licence: mit
A Laravel 8 package to easily switch TailwindCSS resources generated by Laravel Jetstream and Breeze to Bootstrap 4.

Projects that are alternatives of or similar to Jetstrap

Laravel Alert
A Bootstrap alert helper for Laravel
Stars: ✭ 110 (-65.62%)
Mutual labels:  laravel, bootstrap
Ignition Go
Bootstrap4 /Codeigniter 3 Modular (HMVC) App Building Framework - to build enterprise class web applications... Versions: CodeIgniter 3.1.9 AdminLTE 3.4 Bootstrap 4.5.0
Stars: ✭ 166 (-48.12%)
Mutual labels:  laravel, bootstrap
Laravel Coreui Vue
Laravel 5.6 with CoreUI (VueJS Full Starter Template) >>> Deprecated, please go to https://coreui.io/laravel/
Stars: ✭ 132 (-58.75%)
Mutual labels:  laravel, bootstrap
Wl Bootstrap
Integrating Laravel into WordPress
Stars: ✭ 54 (-83.12%)
Mutual labels:  laravel, bootstrap
Cms
Multilingual PHP CMS built with Laravel and bootstrap
Stars: ✭ 2,342 (+631.88%)
Mutual labels:  laravel, bootstrap
Laralack
A Slack clone written in PHP & Laravel framework
Stars: ✭ 82 (-74.37%)
Mutual labels:  laravel, bootstrap
Adminlte Laravel
A Laravel 5 package that switchs default Laravel scaffolding/boilerplate to AdminLTE template and Pratt Landing Page with Bootstrap 3.0
Stars: ✭ 1,814 (+466.88%)
Mutual labels:  laravel, bootstrap
Laravel Boilerplate
Laravel Boilerplate / Starter Kit with Gentelella Admin Theme
Stars: ✭ 704 (+120%)
Mutual labels:  laravel, bootstrap
Library Management System
📚 An automated library management system developed in Laravel 4.2 PHP MVC Framework
Stars: ✭ 189 (-40.94%)
Mutual labels:  laravel, bootstrap
Laravel Bootstrap Components
Bootstrap components as Laravel components
Stars: ✭ 190 (-40.62%)
Mutual labels:  laravel, bootstrap
Laravel Settings
Simple Settings package for a laravel application
Stars: ✭ 45 (-85.94%)
Mutual labels:  laravel, bootstrap
Ekko
Framework agnostic PHP package for marking navigation items active.
Stars: ✭ 275 (-14.06%)
Mutual labels:  laravel, bootstrap
Freelancers Market
Laravel Project to help freelance websites clients and freelancers to find each other.
Stars: ✭ 39 (-87.81%)
Mutual labels:  laravel, bootstrap
Ecommerce Laravel Bootstrap
Responsive, Multi-Vendor, MultiLanguage Online Store Platform (shopping cart solution)
Stars: ✭ 99 (-69.06%)
Mutual labels:  laravel, bootstrap
Laravel Bootstrap Table List
Bootstrap table list generator for Laravel.
Stars: ✭ 16 (-95%)
Mutual labels:  laravel, bootstrap
Lqycms
基于laravel框架的企业级开源cms管理系统,开源php商城源码,B2C微商城系统,企业建站cms。
Stars: ✭ 142 (-55.62%)
Mutual labels:  laravel, bootstrap
Laravel Vue Pagination
A Vue.js pagination component for Laravel paginators that works with Bootstrap
Stars: ✭ 541 (+69.06%)
Mutual labels:  laravel, bootstrap
Laracms
LaraCMS 是在学习 laravel ( web 开发实战进阶 + 实战构架 API 服务器) 过程中产生的一个业余作品,试图通过简单的方式,快速构建一套基本的企业站同时保留很灵活的扩展能力和优雅的代码方式,当然这些都得益Laravel的优秀设计。同时LaraCMS 也是一个学习Laravel 不错的参考示例。
Stars: ✭ 588 (+83.75%)
Mutual labels:  laravel, bootstrap
Laravel Bootstrap 4 Forms
Bootstrap 4 forms for Laravel 5/6/7/8
Stars: ✭ 181 (-43.44%)
Mutual labels:  laravel, bootstrap
Bootstrap Form
Bootstrap 3 form builder for Laravel
Stars: ✭ 225 (-29.69%)
Mutual labels:  laravel, bootstrap

Jetstrap

Latest Stable Version Total Downloads License

Description

Jetstrap is a lightweight laravel 8 package that focuses on the VIEW side of Jetstream / Breeze package installed in your Laravel application, so when a swap is performed, the Action, MODEL, CONTROLLER, Component and Action classes of your project is still 100% handled by Laravel development team with no added layer of complexity.

Table of Content

Installation

Installing Jetstream

You may use Composer to install Jetstream into your new Laravel project:

composer require laravel/jetstream

If you choose to install Jetstream through Composer, you should run the jetstream:install Artisan command. This command accepts the name of the stack you prefer (livewire or inertia). You are highly encouraged to read through the entire documentation of Livewire or Inertia before beginning your Jetstream project. In addition, you may use the --teams switch to enable team support:

Install Jetstream With Livewire

php artisan jetstream:install livewire --teams

Or, Install Jetstream With Inertia

php artisan jetstream:install inertia --teams

Install Jetstrap

Use Composer to install Jetstream into your new Laravel project as dev dependency:

composer require nascent-africa/jetstrap --dev

Regardless how you install Jetstream, Jetstrap commands are very similar to that of Jetstream as it accepts the name of the stack you would like to swap (livewire or inertia).

It is important you install and configure Laravel Jetstream before performing a swap.

You are highly encouraged to read through the entire documentation of Jetstream before beginning your Jetstrap project. In addition, you may use the --teams switch to swap team assets just like you would in Jetstream:

php artisan jetstrap:swap livewire

or

php artisan jetstrap:swap livewire --teams

php artisan jetstrap:swap inertia --teams

This will publish overrides to enable Bootstrap like the good old days!

Finalizing The Installation

After installing Jetsrtap and swapping Jetstream resources, remove tailwindCSS and its dependencies if any from your package.json and then install and build your NPM dependencies and migrate your database:

npm install && npm run dev

php artisan migrate

Extras

Pagination

It is also important to point out that Laravel 8 still includes pagination views built using Bootstrap CSS. To use these views instead of the default Tailwind views, you may call the paginator's useBootstrap method within your AppServiceProvider:

<?php

namespace App\Providers;

use Illuminate\Support\ServiceProvider;
use Illuminate\Pagination\Paginator;

class AppServiceProvider extends ServiceProvider
{
    /**
     * Register any application services.
     *
     * @return void
     */
    public function register()
    {
        //
    }

    /**
     * Bootstrap any application services.
     *
     * @return void
     */
    public function boot()
    {
        Paginator::useBootstrap();
    }
}

Presets

Presets are custom third party templates built using bootstrap. We've thought about it, what are the chances that you're going to use the default template provided by Laravel or Laravel Jetstream.

With the assumption you already know which way you want to go before running any type of scaffolding, so if you want to use CoreUi or AdminLte presets then the choice should be specified in your service provider (JetstrapFacade::useCoreUi3() or JetstrapFacade::useAdminLte3()) the first time you run any swap command.

And if you change your mind after you've run a swap command and decide to use a preset, then run the jetstrap:swap command again.

Core Ui

Core Ui lets you save thousands of priceless hours because it offers everything you need to create modern, beautiful, and responsive applications as stated on their website.

Please visit the CoreUI documentation for more details on how to use it.

To use Core Ui presets, simply call the useCoreUi3 method within your AppServiceProvider:

<?php

namespace App\Providers;

use Illuminate\Support\ServiceProvider;
use NascentAfrica\Jetstrap\JetstrapFacade;

class AppServiceProvider extends ServiceProvider
{
    /**
     * Register any application services.
     *
     * @return void
     */
    public function register()
    {
        //
    }

    /**
     * Bootstrap any application services.
     *
     * @return void
     */
    public function boot()
    {
        JetstrapFacade::useCoreUi3();
    }
}

AdminLTE

AdminLTE is an open source admin dashboard & control panel theme. Built on top of Bootstrap, AdminLTE provides a range of responsive, reusable, and commonly used components.

Please visit the AdminLTE documentation for more details on how to use it.

To use AdminLte presets, simply call the useAdminLte3 method within your AppServiceProvider:

<?php

namespace App\Providers;

use Illuminate\Support\ServiceProvider;
use NascentAfrica\Jetstrap\JetstrapFacade;

class AppServiceProvider extends ServiceProvider
{
    /**
     * Register any application services.
     *
     * @return void
     */
    public function register()
    {
        //
    }

    /**
     * Bootstrap any application services.
     *
     * @return void
     */
    public function boot()
    {
        JetstrapFacade::useAdminLte3();
    }
}

Breeze

According to the documentation, "Breeze provides a minimal and simple starting point for building a Laravel application with authentication.", but personally I'd like to think of it as Laravel Ui without Vue and Bootstrap. Recently I worked on a project that didn't use Vue or require a complex authentication system, so Breeze seemed like a good idea, but again I was faced with the TailwindCSS problem, so I figured why not include it to the Jetstrap package.

Before proceeding please familiarize yourself with the Breeze via the official documentation documentation.

Again Jetstrap does not affect the Model / Controller portion of Breeze, just the View.

Swapping Breeze resources

To swap tailwind resource for bootstrap in a breeze configured laravel, simply run:

php artisan jetstrap:swap breeze

Swapping Breeze inertia resources

Laravel Breeze now comes with stubs for inertia scaffolding and so dose Jetstrap. To use a Bootstrap scaffold for your laravel project running on Breeze alongside inertia, simply run the code below:

php artisan jetstrap:swap breeze-inertia

Next you have to clean up your package.json file to make sure we don't install unnecessary packages.

After that run:

npm install && npm run dev

...and you're done!

Using the JetstrapFacade::useCoreUi3() or JetstrapFacade::useAdminLte3(); in your service provider while swapping breeze assets will work as expected.

Testing

Run the tests with:

vendor/bin/phpunit

or

composer tests

License

Jetstrap is open-sourced software licensed under the MIT license.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].