PHPackages                             savannabits/charaza-ui - 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. [Framework](/categories/framework)
4. /
5. savannabits/charaza-ui

ActiveProject[Framework](/categories/framework)

savannabits/charaza-ui
======================

Laravel 7 Scaffold of Savannabit's Admin CRUD generator

v3.1.0(5y ago)4917110[4 PRs](https://github.com/savannabits/charaza-ui/pulls)MITPHPPHP ^7.4

Since Aug 5Pushed 3y ago5 watchersCompare

[ Source](https://github.com/savannabits/charaza-ui)[ Packagist](https://packagist.org/packages/savannabits/charaza-ui)[ RSS](/packages/savannabits-charaza-ui/feed)WikiDiscussions master Synced yesterday

READMEChangelog (6)Dependencies (21)Versions (14)Used By (0)

About Charaza UI
----------------

[](#about-charaza-ui)

**Looking for a Jetstream Tailwindcss, Inertia and Vue3 CRUD generator? Checkout our sister project, [Jetstream Inertia Generator (Jig)](https://github.com/coolsam726/jetstream-inertia-generator)**

Charaza UI is a Laravel Starter that is integrated with savannabits/savadmin Admin Generator to enable you kickstart and rapidly develop your next laravel project. Equipped with the latest laravel tools, Charaza UI doesn't leave much of the boilerplate work to you. The auth module is scaffolded for you. The templates are setup for you. The routing is already set up for you. All you have to do is just start writing your modules' code. What is even better: you don't have to go through much trouble to generate fully operational modules including Models, API controllers, Datatable Controllers, API and backend routes, views for editing and showing, code for deleting... The savadmin generator does all this for you with a single command:

```
php artisan sv:generate table_name
```

[![Screenshot](https://github.com/savannabits/charaza-ui/raw/master/storage/screenshots/Screenshot_20201120_092151.png?raw=false)](https://github.com/savannabits/charaza-ui/blob/master/storage/screenshots/Screenshot_20201120_092151.png?raw=false)[![Screenshot](https://github.com/savannabits/charaza-ui/raw/master/storage/screenshots/Screenshot_20201120_092249.png?raw=false)](https://github.com/savannabits/charaza-ui/blob/master/storage/screenshots/Screenshot_20201120_092249.png?raw=false)[![Screenshot](https://github.com/savannabits/charaza-ui/raw/master/storage/screenshots/Screenshot_20201120_091437.png?raw=false)](https://github.com/savannabits/charaza-ui/blob/master/storage/screenshots/Screenshot_20201120_091437.png?raw=false)

Features
--------

[](#features)

- Code Generation with savannabits/savadmin
- Laravel 8 Scaffold
- Laravel Jetstream Frontend
- Livewire 2 Scaffold
- Laravel Fortify User Management
- Alpine.js working with Livewire to give you a true SPA experience with just Laravel blade!
- Backend and API Generation with Laravel and Vue.js (using BootstrapVue)
- Profile and Info and Update
- API Keys using Jetstream and Laravel Sanctum
- Optional DB cacheing
- Fuzzy Search using Laravel TNTSearch

Installation
------------

[](#installation)

Charaza UI is meant for easing your work when beginning new projects. To start an all powered-up new project, simply create it from charaza as follows:

```
composer create-project savannabits/charaza-ui my-project

```

Usage
-----

[](#usage)

The package comes with an optional docker configuration. It is highly recommended to use this to experience the full power with minimal configuration. After setting your .env variables, run the following to build and spin-up the docker containers:

```
docker-compose build app
docker-compose up -d
```

This will boot up the app server exposed under the port you configured in the env. To enter the container's shell, there is a simple shell script included to enable this:

```
bash app-exec [yoru command]
bash app-exec bash
```

However, if you don't wish to use docker, no worry! All you have to do is configure database variables as you see fit, then proceed to the next step

Next, proceed with the normal laravel setup steps:

```
composer install
yarn install
php artisan key:generate
php artisan migrate
php artisan optimize:clear
yarn back-dev (or back-prod)
yarn css-prod (or css-prod)
yarn dev (or prod or watch)

```

There you go! Your system is now setup and you are ready to create your next amazing app!

### Code Generator:

[](#code-generator)

Using the code generator to generate your commands is easy:

1. Create your migration file and edit it accordingly
2. Run the Migration
3. Use the generator to generate the model, controllers, routes, Menus, views and js assets.
4. Modify any of them as you wish (customize)
5. If you are not running `yarn back-watch`, then run `yarn back-dev` to rebuild the assets

### Example:

[](#example)

Let us generate an `Articles` module from the `articles` table

1. Create the `articles` table

```
bash app-exec bash #(If you are using docker)
php artisan make:migration create_articles_table
```

2. Edit the articles migration as you wish:

```
    /**
     * Run the migrations.
     *
     * @return void
     */
    public function up()
    {
        Schema::create('articles', function (Blueprint $table) {
            $table->id();
            $table->string('title');
            $table->string('description');
            $table->text('body');
            $table->foreignId('author_id')->constrained('users')->restrictOnDelete();
            $table->timestamps();
        });
    }
```

3. Run the migration

```
bash app-exec 'php artisan migrate' #(For docker users)
php artisan migrate #(Non-docker users)
```

4. Use the generator to generate the model, controller, routes, menus, views and assets

```
bash app-exec bash #Enter the container's bash - for Docker users
php artisan sv:generate articles # The code generator
```

**NB** If you already generated the files but would like to force overwrite use ```--force``,

```
 php artisan sv:generate articles --force
```

Output: [![Articles](https://github.com/savannabits/charaza-ui/raw/master/storage/screenshots/Screenshot_20201120_091437.png?raw=false)](https://github.com/savannabits/charaza-ui/blob/master/storage/screenshots/Screenshot_20201120_091437.png?raw=false)[![Articles](https://github.com/savannabits/charaza-ui/raw/master/storage/screenshots/Screenshot_20201120_092032.png?raw=false)](https://github.com/savannabits/charaza-ui/blob/master/storage/screenshots/Screenshot_20201120_092032.png?raw=false)[![Articles](https://github.com/savannabits/charaza-ui/raw/master/storage/screenshots/Screenshot_20201120_092101.png?raw=false)](https://github.com/savannabits/charaza-ui/blob/master/storage/screenshots/Screenshot_20201120_092101.png?raw=false)

### Generated files

[](#generated-files)

**app/Models/Article.php**

```
