abdugoffor/admin-crud-generator-with-api

A admin CRUD generator with api for Laravel models

Maintainers

Package info

github.com/Abdugoffor/Admin-CRUD-generator-with-Api

Language:JavaScript

pkg:composer/abdugoffor/admin-crud-generator-with-api

Statistics

Installs: 28

Dependents: 0

Suggesters: 0

Stars: 1

Open Issues: 0

v1.1.0 2025-04-17 04:03 UTC

This package is auto-updated.

Last update: 2026-03-09 10:36:49 UTC


README

Laravel loyihalarda Admin CRUD, API CRUD, Auth, va Role Permission tizimini tez yaratish uchun generator.

Generator quyidagilarni avtomatik yaratadi:

  • Admin CRUD (Controller, Request, Views)
  • API CRUD (Controller, Resource)
  • Auth tizimi
  • API Auth
  • Select (enum) maydonlar
  • Ko‘p tilli json/jsonb maydonlar
  • Boolean maydonlar (switch)
  • File upload maydonlari

O‘rnatish

Composer orqali paketni o‘rnating:

composer require abdugoffor/admin-crud-generator-with-api:dev-main

Ishlatish

1. Model va migratsiya yaratish

php artisan make:model Post -m

2. Migratsiyada maydonlarni yozish

public function up()
{
    Schema::create('posts', function (Blueprint $table) {
        $table->id();
        $table->string('title');
        $table->text('description');
        $table->timestamps();
    });
}

3. Migratsiyani ishga tushirish

php artisan migrate

Admin CRUD yaratish

php artisan make:crud Post

API CRUD yaratish

php artisan make:api-crud Post

Auth yaratish

Admin Auth

php artisan make:auth

API Auth

php artisan make:api-auth

Select (Enum) maydonlar

Agar maydon select bo‘lib chiqishi kerak bo‘lsa model ichida enumValues yoziladi.

public $enumValues = [
    'status' => [
        'values' => ['draft', 'published', 'archived'],
        'default' => 'draft',
    ],
];

Generator bu maydonni select input qilib chiqaradi.

Ko‘p tilli maydonlar (JSON / JSONB)

Agar maydon ko‘p tilli bo‘lsa casts ichida array qilib yoziladi.

protected $casts = [
    'title' => 'array',
    'description' => 'array',
];

Misol uchun bazada:

{
  "uz": "Sarlavha",
  "ru": "Заголовок",
  "en": "Title"
}

Boolean maydonlar

Agar maydon true/false bo‘lsa:

protected $casts = [
    'is_active' => 'boolean',
];

Generator bu maydonni switch / checkbox qilib chiqaradi.

File upload maydonlari

Agar modelda file upload bo‘lsa:

protected $fileFields = ['photo'];

public function getFileFields(): array
{
    return $this->fileFields;
}

Shunda generator bu maydonni file input qilib yaratadi.

To‘liq Model Namuna

<?php

namespace App\Models;

use Illuminate\Database\Eloquent\Model;

class Blog extends Model
{
    protected $fillable = [
        'title',
        'description',
        'photo',
        'content',
        'video_link',
        'footer_text',
        'date',
        'is_active'
    ];

    protected $casts = [
        'title' => 'array',
        'description' => 'array',
        'content' => 'array',
        'footer_text' => 'array',
        'is_active' => 'boolean',
    ];

    protected $fileFields = ['photo'];

    public function getFileFields(): array
    {
        return $this->fileFields;
    }
}

Loyihani ishga tushirish

php artisan serve

So‘ngra brauzerda oching:

http://127.0.0.1:8000/posts

CRUD tizimi ishlashni boshlaydi.

Xulosa

Generator modelga qarab avtomatik ishlaydi:

  • enumValues → select input
  • casts array → ko‘p tilli maydon
  • casts boolean → switch/checkbox
  • fileFields → file upload input

Bu orqali Laravel admin va API CRUD tizimlarini juda tez yaratish mumkin.