JSPM

  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 10
  • Score
    100M100P100Q39804F
  • License MIT

Veritabanı tabloları için otomatik yönetim paneli oluşturma paketi.

Package Exports

  • easy-adminpanel
  • easy-adminpanel/middleware

Readme

Easy AdminPanel

Veritabanı tabloları için otomatik CRUD yönetim paneli oluşturma paketi.

Özellikleri

  • Basit ve kullanımı kolay
  • Herhangi bir veritabanı tablosu için CRUD (Oluştur, Oku, Güncelle, Sil) arayüzü oluşturma
  • Tablo yapısını JSON olarak tanımlama
  • İnteraktif komut satırı arayüzü
  • Express tabanlı API ve React tabanlı arayüz
  • Express veya Next.js uygulamalarına middleware olarak entegre edilebilir

Kurulum

# Global olarak yüklemek için
npm install -g easy-adminpanel

# veya projenize yerel olarak eklemek için
npm install easy-adminpanel --save-dev

Kullanım

1. Konfigürasyon Dosyası Oluşturma

İki yöntemle yapılandırma dosyası oluşturabilirsiniz:

A. Şablon kullanarak

npx easy-adminpanel init

Bu komut, projenizin kök dizininde şu içerikle easy-admin.js dosyası oluşturur:

export default {
  tables: [
    {
      name: "users",
      fields: [
        { name: "id", type: "Int", primaryKey: true },
        { name: "username", type: "String" },
        { name: "email", type: "String", unique: true },
        { name: "password", type: "String" },
        { name: "created_at", type: "DateTime" }
      ]
    }
  ]
};

Oluşturulan bu dosyayı ihtiyaçlarınıza göre düzenleyebilirsiniz.

B. İnteraktif olarak

npx easy-adminpanel interactive

Bu komut, komut satırında size sorular sorarak, tablolarınızı ve alanlarını tanımlamanıza yardımcı olur.

2. CRUD Bileşenlerini Oluşturma

npx easy-adminpanel generate

Bu komut, easy-admin.js dosyasını okur ve tanımladığınız her tablo için CRUD bileşenleri içeren bir React uygulaması oluşturur.

3. Yönetim Panelini Başlatma

npx easy-adminpanel start

Bu komut, oluşturulan CRUD uygulamasını çalıştırır ve bir Express sunucusu başlatır. Tarayıcınızda http://localhost:3000/easy-adminpanel adresine giderek yönetim panelinize erişebilirsiniz.

4. Middleware Olarak Kullanma

Easy AdminPanel, mevcut Express veya Next.js uygulamalarınıza entegre edilerek aynı port üzerinden çalışabilir. Böylece ayrı bir sunucu çalıştırmak zorunda kalmazsınız.

A. Express Uygulamasında Kullanma

// server.js
import express from 'express';
import { createMiddleware } from 'easy-adminpanel';

const app = express();
const port = process.env.PORT || 3000;

// Önce normal Express rotalarınızı tanımlayın
app.get('/', (req, res) => {
  res.send('Ana sayfa');
});

// Easy AdminPanel'i istediğiniz yol altına ekleyin
app.use('/admin', createMiddleware());

app.listen(port, () => {
  console.log(`Sunucu çalışıyor: http://localhost:${port}`);
  console.log(`Yönetim paneli: http://localhost:${port}/admin`);
});

B. Next.js Uygulamasında Kullanma

// pages/api/adminpanel/[[...path]].js
import { createNextApiHandler } from 'easy-adminpanel';

export default createNextApiHandler();

Bu şekilde, yönetim paneliniz http://yourdomain.com/api/adminpanel adresinde çalışacaktır.

Next.js uygulamanızda bu rotaya bağlantı eklemek için:

// pages/index.js veya herhangi bir sayfanızda
export default function Home() {
  return (
    <div>
      <h1>Ana Sayfa</h1>
      <p>
        <a href="/api/adminpanel">Yönetim Paneline Git</a>
      </p>
    </div>
  )
}

5. Örnek Entegrasyon Dosyaları Oluşturma

npx easy-adminpanel examples

Bu komut, Express ve Next.js entegrasyonu için örnek dosyalar oluşturur.

Desteklenen Alan Tipleri

  • String: Metin
  • Int: Tam sayı
  • Float: Ondalıklı sayı
  • Boolean: Mantıksal (doğru/yanlış)
  • DateTime: Tarih ve saat
  • Text: Uzun metin
  • Json: JSON verisi

Alan Özellikleri

Her alan için şu özellikleri belirleyebilirsiniz:

  • name: Alan adı (zorunlu)
  • type: Alan tipi (zorunlu)
  • primaryKey: Birincil anahtar mı? (isteğe bağlı, varsayılan: false)
  • unique: Benzersiz mi? (isteğe bağlı, varsayılan: false)

Örnek Kullanım

// easy-admin.js
export default {
  tables: [
    {
      name: "products",
      fields: [
        { name: "id", type: "Int", primaryKey: true },
        { name: "name", type: "String" },
        { name: "description", type: "Text" },
        { name: "price", type: "Float" },
        { name: "is_available", type: "Boolean" },
        { name: "created_at", type: "DateTime" }
      ]
    },
    {
      name: "categories",
      fields: [
        { name: "id", type: "Int", primaryKey: true },
        { name: "name", type: "String", unique: true },
        { name: "parent_id", type: "Int" }
      ]
    }
  ]
};

Lisans

MIT