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-devKullanım
1. Konfigürasyon Dosyası Oluşturma
İki yöntemle yapılandırma dosyası oluşturabilirsiniz:
A. Şablon kullanarak
npx easy-adminpanel initBu 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 interactiveBu 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 generateBu 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 startBu 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 examplesBu komut, Express ve Next.js entegrasyonu için örnek dosyalar oluşturur.
Desteklenen Alan Tipleri
String: MetinInt: Tam sayıFloat: Ondalıklı sayıBoolean: Mantıksal (doğru/yanlış)DateTime: Tarih ve saatText: Uzun metinJson: 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