An administration starter kit for Laravel.

Overview

Craftable

About

Hi Crafter, welcome to the official documentation for Craftable 6 - a Laravel-based open-source toolkit for building administration interfaces. It's an administration area minimalistic template. A starting point for developing back-office systems, intranets or a CMS systems.

Craftable administration area example

You could call it CMS, but it's a very slim one, with as little content to manage as possible. It has:

  • UI - nice admin template based on CoreUI (http://coreui.io/)
  • CRUD generator
  • Authorization, My profile & Users CRUD
  • Translations manager
  • other helpers to quickly bootstrap your new administration area (Media Library, Admin Listing, etc.)

Demo

We have created a demo for you to play around at https://demo.getcraftable.com.

Use these credentials to sign-in:

You can see an administration of:

  • Posts - this is the standard CRUD generated with admin-generator package
  • Translatable Articles - this is the showcase for translatableeloquent models
  • Manage access - is a extended CRUD for the User (your existing eloquent model) management
  • Translations - where you can manage the translations stored in the database

Made of components

Our intent was to split all the stuff into several packages with as least dependencies as possible. This is what we're coming with at the moment:

Craftable uses all the packages above. It also uses some other 3rd party packages (like Spatie's spatie/laravel-permission) and provides some basic default configuration to speed up a development of a typical administration interface.

Requirements

Craftable requires:

  • PHP 7.4+
  • Supported databases:
    • MySQL 5.7+
    • PostgreSQL 9.5+
  • npm 5.3+
  • node 8.4+

Craftable uses Laravel so you should check out its requirements too. It is compatible with Laravel 8:

Installation

New Craftable project

If you want to start on fresh Laravel, you can use our brackets/craftable-installer that do all the tricks for you. Let's install it globally:

composer global require "brackets/craftable-installer"

Create an empty database of your choice (PostgreSQL or MySQL).

Now you can create a new Craftable project:

craftable new my_project

This will install Craftable using latest Laravel version (currently 6). If you prefer tu use latest LTS Laravel version (currently also 6), use --lts flag:

craftable new --lts my_project

The commands is going to ask for a database settings and then it will setup everything (install all dependencies, publish all important vendor configs, migrate, setup some configs, webpack config and run migrations).

Command is going to generate and print the password for the default administrator account. Save this password to your clipboard, we are going to need it soon.

Add Craftable to existing project

Or alternatively, you can use your existing Laravel application. Start with requiring these two main packages:

composer require brackets/craftable
composer require --dev brackets/admin-generator

To install this package use:

php artisan craftable:install

This is going to install all dependencies, publish all important vendor configs, migrate, setup some configs, webpack config and run migrations.

Command is going to generate and print the password for the default administrator account. Save this password to your clipboard, we are going to need it soon.

Basics

Once installed, navigate your browser to /admin/login. You should be able to see a login screen.

Admin login form

Use these credentials to log in:

  • E-mail: [email protected]
  • Password: use password from you clipboard (it was printed in the end of the craftable:install command)

After authorization you should be able to see a default homepage and two menu items:

  • Manage access
  • Translations

Admin homepage

Documentation

You can find full documentation of this package and other our packages Craftable uses at https://docs.getcraftable.com/#/craftable.

Where to go next?

At this point you are ready to start building your administration area. You probably want to start building a typical CRUD interface for your eloquent models. You should definitely check our Admin Generator documentation.

In case you rather want to create some atypical custom made administration, then you probably want to head over to Admin UI package.

Have fun & craft something awesome!

Licence

MIT Licence. Refer to the LICENSE file to get more info.

Comments
  • Craftable install Aborted

    Craftable install Aborted

    i am installing craftable composer global require brackets/craftable-installer craftable new my_project craftable install installation aborted. image

    how to fix this issue.

    opened by sufyan568 37
  • Media upload

    Media upload

    Hi there, I have some trouble using media upload. I used the basic code from documentation and I have some issues.

    I have created one more role (User) setting the permissions for this role into Database ( same as for the Administrator ), added the gate for User, actually everything works just fine inside my app but not the media upload. when I am logged in as Administrator (Administrator role) it uploads the media into laravel "uploads" folder but I get nothing submitted into "media" mysql table and I guess that is the reason that I get no previous uploaded images into edit view (even that those are uploaded).

    when I am logged in as a regular user (User role) I get "this action is unauthorised" (and the User roles already has admin.upload permission into database). To make it work I had to comment the $this->authorize( 'admin.upload' ); in FileUploadController.php but still I get no media library data into my database and no conversions folders (like thumbs etc.) even if I have already registered my conversions.

    I read and read throughout the code, tried to understand spatie/medialibrary but with no results. I am new to Laravel and Vue (basic knowledge) and your craftable package helped me to understand allot of Laravel so that's why I won't give up until I get it to work.

    Thanks :)

    opened by isaicus 28
  • Relationship approach

    Relationship approach

    What approach do you recommend about creating relationships? For example, if I use a field with id (post_id) the options of the select field show numbers, not text values. And if I change to show a text, the validation requires “integer values”. I’m being clear?

    opened by oscarnascimento 17
  • Unable to locate Mix file

    Unable to locate Mix file

    Unable to locate Mix file: /css/admin.css. (View: /var/www/html/adcarft/vendor/brackets/admin-ui/resources/views/admin/partials/main-styles.blade.php)

    stale 
    opened by mustafaabduljalil 16
  • Change password not working

    Change password not working

    Hi Team, change password (/admin/password) not working as expected, based on what i saw on demo site.

    It says "The password confirmation does not match." for any scenario

    1. When the passwords less than 7 chars
    2. When the passwords more than 7 chars and using 1 number
    3. When the confirmation password doesn't match
    opened by nucreativa 16
  • Media Upload for the lastest craftable version updates is not working, old documentation not showing the changes...

    Media Upload for the lastest craftable version updates is not working, old documentation not showing the changes...

    I tried many times to create the media upload cover and gallery but it seems that in the new craftable version things changed for this but there is no update information regarding media upload yet for the form-elements.blade...

    I have made the changes in post like stated here:

    https://docs.getcraftable.com/v4/#/upgrade-guide

    but anyway I get these errors:

    "Class App\Models\Post contains 11 abstract 
    methods and must therefore be declared abstract or implement the remaining methods (Spatie\MediaLibrary\HasMedia\HasMedia::media,
     Spatie\MediaLibrary\HasMedia\HasMedia::addMedia,
     Spatie\MediaLibrary\HasMedia\HasMedia::copyMedia, ...) ◀"
    
    
    Screenshot 2019-09-16 at 13 11 31

    here the Model:

    <?php
    
    namespace App\Models;
    
    //use Brackets\Media\HasMedia\HasMediaCollections;
    //use Brackets\Media\HasMedia\HasMediaCollectionsTrait;
    //use Brackets\Media\HasMedia\HasMediaThumbsTrait;
    use Illuminate\Database\Eloquent\Model;
    //use Spatie\MediaLibrary\HasMedia\Interfaces\HasMediaConversions;
    use Spatie\MediaLibrary\HasMedia\HasMedia;
    use Spatie\MediaLibrary\Models\Media;
    //use Spatie\MediaLibrary\Media;
    use Brackets\Media\HasMedia\ProcessMediaTrait;
    use Brackets\Media\HasMedia\AutoProcessMediaTrait;
    
    class Post extends Model implements HasMedia
    {
        use AutoProcessMediaTrait;
        use ProcessMediaTrait;
    
        protected $fillable = [
            "title",
            "perex",
            "published_at",
            "enabled",
            "author_id",
    
        ];
    
        protected $hidden = [
    
        ];
    
        protected $dates = [
            "published_at",
            "created_at",
            "updated_at",
    
        ];
    
    
    
        protected $appends = ['resource_url'];
    
        /* ************************ ACCESSOR ************************* */
    
        public function getResourceUrlAttribute()
        {
            return url('/admin/posts/'.$this->getKey());
        }
    
        public function registerMediaCollections()
        {
            $this->addMediaCollection('cover')
                ->accepts('image/*');
    
            $this->addMediaCollection('gallery')
                ->accepts('image/*')
                ->maxNumberOfFiles(20);
    
            $this->addMediaCollection('pdf')
                ->accepts('application/pdf');
        }
    
        public function registerMediaConversions(Media $media = null)
        {
            $this->autoRegisterThumb200();
        }
    
        /* ************************ RELATIONS ************************* */
    
        public function author()
        {
            return $this->belongsTo(Author::class);
        }
    }
    

    any demo with a working demo of media upload using the latest craftable version with those changes?

    Any help appreciated! thanks

    opened by rapgithub 15
  • Can't install

    Can't install

    After running the below command I get an error

    The Command

    composer global require "brackets/craftable-installer"
    

    The Error

    Your requirements could not be resolved to an installable set of packages.
    
      Problem 1
        - brackets/craftable-installer v1.0.6 requires laravel/installer ~1.4 -> satisfiable by laravel/installer[v1.4.0, v1.4.1, v1.5.0] but these conflict with your requirements or minimum-stability.
        - brackets/craftable-installer v1.0.5 requires laravel/installer ~1.4 -> satisfiable by laravel/installer[v1.4.0, v1.4.1, v1.5.0] but these conflict with your requirements or minimum-stability.
        - brackets/craftable-installer v1.0.4 requires laravel/installer ~1.4 -> satisfiable by laravel/installer[v1.4.0, v1.4.1, v1.5.0] but these conflict with your requirements or minimum-stability.
        - brackets/craftable-installer v1.0.3 requires laravel/installer ~1.4 -> satisfiable by laravel/installer[v1.4.0, v1.4.1, v1.5.0] but these conflict with your requirements or minimum-stability.
        - brackets/craftable-installer v1.0.2 requires laravel/installer ~1.4 -> satisfiable by laravel/installer[v1.4.0, v1.4.1, v1.5.0] but these conflict with your requirements or minimum-stability.
        - brackets/craftable-installer v1.0.1 requires laravel/installer ~1.4 -> satisfiable by laravel/installer[v1.4.0, v1.4.1, v1.5.0] but these conflict with your requirements or minimum-stability.
        - brackets/craftable-installer v1.0.0 requires laravel/installer ~1.4 -> satisfiable by laravel/installer[v1.4.0, v1.4.1, v1.5.0] but these conflict with your requirements or minimum-stability.
        - Installation request for brackets/craftable-installer ^1.0 -> satisfiable by brackets/craftable-installer[v1.0.0, v1.0.1, v1.0.2, v1.0.3, v1.0.4, v1.0.5, v1.0.6].
    
    opened by aimensasi 15
  • Keep having SQLSTATE[42S02]: Base table or view not found: 1146 Table *.translation doesn't exist

    Keep having SQLSTATE[42S02]: Base table or view not found: 1146 Table *.translation doesn't exist

    Hi there, I just keep having this ERROR message when trying to access localhost/admin/login

    SQLSTATE[42S02]: Base table or view not found: 1146 Table 'kienhoanh_cp.translations' doesn't exist (SQL: select * from translations where namespace = brackets/admin-auth and group = admin and translations.deleted_at is null) (View: D:\For GIT\kienhoanh-cp\vendor\brackets\admin-auth\resources\views\admin\auth\login.blade.php)

    Then I tend to create Translation table, but I don't know how many column is it!?.

    Please help me.

    Here some images about my case image

    there is no table called translation on migration folder image

    opened by raymondugv 14
  • Media Upload doesn't create db records

    Media Upload doesn't create db records

    I have tried twice to create a clean install. I follow the directions for setting up the media library and the media library.

    I committed a this simple project to github so that its reviewable.

    This is a default craftable install in a new laravel 5.7 project. The only addition is a single model "Building". Its a pretty simple model with a couple fields. The media uploads to the folder but does not create db records for the gallery. Also no custom images sizes are generated.

    Excited about Craftable.

    opened by Ravenna 12
  • Installation aborted after DB Question on Win10

    Installation aborted after DB Question on Win10

    Hi there, just want to try out craftable (with "craftable new" command) but my installation always abort at the end after the DB system question "What database driver do you use?" ==> "Aborted". System:Win 10 with php 7.1, MySQL 5.7.14 image

    opened by Banquo1 12
  • [object Object] on translated model.

    [object Object] on translated model.

    After creating a model and generating an admin panel for it, I tried to create a translatable version of it, and it seems that after changing the locale in the profile settings, it does retrieve the right language and translates the model's columns, and the entry that is being saved looks like this in the database -

    {"en":"android","he":"אנדרואיד","ru":"андроид"}
    

    When I'm accessing http://127.0.0.1:8000/admin/phones/1/edit (which responds to the above db entry), I get [object Object] in all of this model's fields (you can see in the attached screenshot) -

    Screen Shot 2020-12-06 at 16 35 28

    In Vue's debugger, I can clearly see that i retrieves the whole model and its' name is indeed an Object which should be pointing to the right locale. Screen Shot 2020-12-06 at 16 37 06

    Am I missing something along the process? Oh and btw - Is there a code for your live demo? Especially for this part - https://demo.getcraftable.com/admin/translatable-articles/1/edit - Where you can easily click on 'manage translations' and it will pop out the other available locales in the same window.

    opened by GonrasK 11
  • pagination not working if primary key name is not 'id'

    pagination not working if primary key name is not 'id'

    I have a model where the primary key is called 'car_id' indtead of 'id'. because of this, the generated pagination does not work. I set the protected $primaryKey = 'car_id'; parameter in the model but it didn't help. I found out that the "orderby:id" parameter is statically set in the pagination settings (1st screen). my model at the second screen, controller at the third, index request at the fourth image image image image does anyone know how to fix this? error: image

    should be "car_id" instead "id"

    opened by limione 0
  • Not compatible with Laravel 9 (with Vite)

    Not compatible with Laravel 9 (with Vite)

    Facing this issue with laravel 9 (which now uses vite):

    Mix manifest not found at: /home/santosh/projects/laravel/test/public/mix-manifest.json (View: /home/santosh/projects/laravel/test/vendor/brackets/admin-ui/resources/views/admin/partials/main-styles.blade.php) (View: /home/santosh/projects/laravel/test/vendor/brackets/admin-ui/resources/views/admin/partials/main-styles.blade.php) (View: /home/santosh/projects/laravel/test/vendor/brackets/admin-ui/resources/views/admin/partials/main-styles.blade.php)

    opened by code-reflex 0
  • 14 Warnings about slash-div when runing npm

    14 Warnings about slash-div when runing npm

    Hi Folks, whenver I execute npm run craftable-dev, 14 Warning shows ups in console with the same message:

    _: Using / for division outside of calc() is deprecated and will be removed in Dart Sass 2.0.0.
    
    Recommendation: math.div(2em, 14) or calc(2em / 14)
    
    More info and automated migrator: https://sass-lang.com/d/slash-div_
    

    Any package I need to update ?

    Thanks.

    opened by arieltoledo 1
  • issue with multiselect default Value

    issue with multiselect default Value

    Hi,

    so far i managed to add a multiselect with values based on an object (coming from controller)

    public function edit(ServiceFall $serviceFall)
        {
            $this->authorize('admin.service-fall.edit', $serviceFall);
    
    
            return view('admin.service-fall.edit', [
                'serviceFall' => $serviceFall,
                'fall_status_options'=>$this->getServiceStatusOptions()
            ]);
        }
    
    private function getServiceStatusOptions() {
    
        $options[] = array('id'=>'1','name'=>'Reperatur - Status 1');
        $options[] = array('id'=>'2','name'=>'Reperatur - Status 2');
        $options[] = array('id'=>'3','name'=>'Reperatur - Status 3');
        $options[] = array('id'=>'4','name'=>'Reperatur - Status 4');
        $options[] = array('id'=>'5','name'=>'Reperatur - Status 5');
        $options[] = array('id'=>'6','name'=>'Reperatur - Status 6');
        $options[] = array('id'=>'7','name'=>'Reperatur - Status 7');
    
        return $options;
    }
    

    so far this is allready working with my template: <multiselect v-model="form.ServiceStatus" :options="{{ json_encode($fall_status_options) }}" placeholder="Select Status" label="name" track-by="id" :multiple="false" :allow-empty="false"></multiselect>

    i can also store the integer value in the database by doing this:

        public function update(UpdateServiceFall $request, ServiceFall $serviceFall)
        {
      
            $data = $request->validated();
            if (isset($data['ServiceStatus'])) {
              $data['ServiceStatus']=$data['ServiceStatus']['id'];
            }
    
            // Update changed values ServiceFall
            $serviceFall->update($data);
    
            if ($request->ajax()) {
                return [
                    'redirect' => url('admin/service-falls'),
                    'message' => trans('brackets/admin-ui::admin.operation.succeeded'),
                ];
            }
    
            return redirect('admin/service-falls');
        }
    
    • but how the heck i can define the selected value just by the Id im getting from database (field ServiceStatus) ?

    i tried like :value="1" for example, but that has no effect - what im doing wrong here ?

    opened by mzanier 2
  • Listing columns empty

    Listing columns empty

    I'm having problems with the list template generation. Seems like the plugin are not able to get the columns... Where are it trying to get them from? From the model? Some migration? Thanks in advance!

    PS: I have translatable fields with text type (because it all are json content).

    opened by lightingraven 1
  • Cannot install the installer

    Cannot install the installer

    composer global require brackets/craftable-installer
    

    result:

    Your requirements could not be resolved to an installable set of packages.
    
      Problem 1
        - Root composer.json requires brackets/craftable-installer ^2.1 -> satisfiable by brackets/craftable-installer[v2.1.0].
        - brackets/craftable-installer v2.1.0 requires symfony/console ~3.0|~4.0|~5.0 -> found symfony/console[v3.0.0, ..., v3.4.47, v4.0.0, ..., v4.4.47, v5.0.0, ..., v5.4.14] but the package is fixed to v6.1.6 (lock file version) by a partial update and that version does not match. Make sure you list it as an argument for the update command.
    
    Use the option --with-all-dependencies (-W) to allow upgrades, downgrades and removals for packages currently locked to specific versions.
    You can also try re-running composer require with an explicit version constraint, e.g. "composer require brackets/craftable-installer:*" to figure out if any version is installable, or "composer require brackets/craftable-installer:^2.1" if you know which you need.
    
    Installation failed, reverting ./composer.json and ./composer.lock to their original content.
    

    I have the following installed (global)

    guzzlehttp/guzzle                7.5.0    Guzzle is a PHP HTTP client library
    guzzlehttp/promises              1.5.2    Guzzle promises library
    guzzlehttp/psr7                  2.4.1    PSR-7 message implementation that also provides common utility methods
    illuminate/container             v9.35.1  The Illuminate Container package.
    illuminate/contracts             v9.35.1  The Illuminate Contracts package.
    laravel/installer                v4.2.17  Laravel application installer.
    laravel/valet                    v2.18.10 A more enjoyable local development experience for Mac.
    mnapoli/silly                    1.8.1    Silly CLI micro-framework based on Symfony Console
    php-di/invoker                   2.3.3    Generic and extensible callable invoker
    psr/container                    2.0.2    Common Container Interface (PHP FIG PSR-11)
    psr/http-client                  1.0.1    Common interface for HTTP clients
    psr/http-factory                 1.0.1    Common interfaces for PSR-7 HTTP message factories
    psr/http-message                 1.0.1    Common interface for HTTP messages
    psr/simple-cache                 3.0.0    Common interfaces for simple caching
    ralouphie/getallheaders          3.0.3    A polyfill for getallheaders.
    symfony/console                  v6.1.6   Eases the creation of beautiful and testable command line interfaces
    symfony/deprecation-contracts    v3.1.1   A generic function and convention to trigger deprecation notices
    symfony/polyfill-ctype           v1.26.0  Symfony polyfill for ctype functions
    symfony/polyfill-intl-grapheme   v1.26.0  Symfony polyfill for intl's grapheme_* functions
    symfony/polyfill-intl-normalizer v1.26.0  Symfony polyfill for intl's Normalizer class and related functions
    symfony/polyfill-mbstring        v1.26.0  Symfony polyfill for the Mbstring extension
    symfony/process                  v6.1.3   Executes commands in sub-processes
    symfony/service-contracts        v3.1.1   Generic abstractions related to writing services
    symfony/string                   v6.1.6   Provides an object-oriented API to strings and deals with bytes, UTF-8 code points and grapheme clusters in a unified way
    symfony/var-dumper               v6.1.6   Provides mechanisms for walking through any arbitrary PHP variable
    tightenco/collect                v8.83.25 Collect - Illuminate Collections as a separate package.
    

    the console is needed by the laravel installer

    please upgrade your installer

    Installer 
    opened by rabol 1
Releases(8.0.0)
React laravel starter kit with tailwind css and vite js(laravel 9)

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

Jerald Tonmoy Dias 2 Dec 23, 2022
Laravel API starter Kit will provide you with the tools for making API's that everyone will love

Laravel API Starter Kit Laravel API starter Kit will provide you with the tools for making API's that everyone will love, API Authentication is alread

Jose Luis Fonseca 400 Dec 29, 2022
Laravel + Livewire + Bootstrap 5 UI starter kit.

bastinald/ui Laravel + Livewire + Bootstrap 5 UI starter kit. Requirements Laravel 8 NPM Features Bootstrap 5 pre-configured Textarea autosize Floatin

null 83 Dec 26, 2022
a free, open-source dashboard panel starter kit for Laravel

QAdmin a free, open-source dashboard panel starter kit for Laravel. Just intall and everything is ready Tech Stack Client: ruangAdmin, Bootstrap, Jque

null 30 Oct 11, 2022
A simple starter kit for using TypedCMS with the Laravel framework.

TypedCMS Starter Kit for Laravel Our stater kits are tailored solutions for each platform, unlike the simple API wrappers offered by other vendors. Th

TypedCMS 1 Nov 20, 2021
Laravel React Webpack Starter Kit

About Laravel Laravel React Webpack Starter Kit This starter kit is designed to get you up and running with with react.js with Laravel, built on top o

Biju Nakarmi 32 Nov 24, 2022
👔 Enterprise Web application starter kit or template using Laravel

Laravel Enterprise Starter Kit (LESK) Description LESK, is a template project based on the Laravel LTS, combining a set of features that can kick star

Sebastien Routier 1 Dec 31, 2020
A Laravel-Nuxt starter kit.

Laravel-Nuxt A Laravel-Nuxt starter project template. Features Nuxt 2 Laravel 8 SPA or SSR Socialite integration VueI18n + ESlint + Bootstrap 4 + Font

Cretu Eusebiu 1.1k Jan 5, 2023
A Laravel-Vue-Tailwind SAAS Starter Kit.

Super SAAS Template My name is Julien Nahum, I've founded multiple Software-As-A-Service companies. This repo is the base I'm using to create a new SA

Julien Nahum 16 Dec 23, 2022
A Laravel-Vue SPA starter kit.

Laravel-Vue SPA A Laravel-Vue SPA starter kit. Features Laravel 8 Vue + VueRouter + Vuex + VueI18n + ESlint Pages with dynamic import and custom layou

Cretu Eusebiu 3k Jan 6, 2023
A starter kit that integrates Laravel with Vue CLI, Inertia.js, TailwindCSS and Vuetify

Laravel Viltify Laravel Viltify is a heavily opinionated Laravel starter kit. It's intent is to seamlessly integrate V ue, I nertia.js, L aravel, T ai

Matheus Dal'Pizzol 50 Jan 4, 2023
It's a dashboard theme/UI-Starter Kit with Laravel, Inertia and Vue (JetStream).

TailAdmin Inertia It's a dashboard theme/UI-Starter Kit with Laravel, Inertia and Vue (JetStream). Setup Directions npm install composer install Chang

Sinan AYDOĞAN 121 Dec 31, 2022
Laravel Boilerplate / Starter Kit with Gentelella Admin Theme

Laravel Boilerplate Project Laravel Boilerplate provides a very flexible and extensible way of building your custom Laravel applications. Table of Con

Labs64 848 Dec 28, 2022
An implementing of the Laravel Breeze application / authentication starter kit frontend in Next.js

Windmill with Laravel Breeze as Backend API Introduction This repository is an implementing of the Laravel Breeze application / authentication starter

ROKET ID 17 Nov 18, 2022
Laravel Starter Kit (Inertia-SSR - Vue3 - Bootstrap 5)

Laravel Starter Kit (Inertia-SSR - Vue3 - Bootstrap 5) Use this starter kit to develop with Laravel 9 setup InertiaJs with Server Side Rendering (SSR)

Sourav Kumar Tah 16 Nov 16, 2022
Surf, an opinionated fork of Wave - the SAAS starter kit, with Laravel 9.

Surf ??‍♀️ Introduction Surf, the opinionated Software as a Service Starter Kit that can help you build your next great idea ?? . Surf is fork off Wav

Kim Hallberg 14 Oct 6, 2022
This is a laravel Auth Starter Kit, with full user/admin authentication with both session and token auth

About Auth Starter It's a Laravel 8 authentication markdown that will help you to understand and grasp all the underlying functionality for Session an

Sami Alateya 10 Aug 3, 2022
An Starter Kit For Laravel Projects.

Laravel Starter Kit An Starter Kit For Laravel Projects. Installation 1-Install the package via composer: composer require xmen/starter-kit --with-al

4xmen 16 Jun 15, 2023
Wave - The Software as a Service Starter Kit, designed to help you build the SAAS of your dreams 🚀 💰

Introduction Wave is a Software as a Service Starter Kit that can help you build your next great idea ?? . Wave is built with Laravel, Voyager, Tailwi

null 4.2k Jan 4, 2023