Panel.go, Go + GORM ile admin paneli ve CRUD API'yi hızlıca ayağa kaldırmak için geliştirilmiş bir framework'tür.
Bu repo içinde hem SDK hem de panel CLI bulunur.
- Go backend geliştiricileri
- GORM kullanan ekipler
- Admin panelini sıfırdan yazmak yerine hızlıca üretmek isteyen projeler
- Resource tabanlı yapı (model, field, policy, repository)
- Otomatik CRUD endpoint'leri
- Hazır admin UI (Go binary içine gömülü)
- Relationship field'ları (
BelongsTo,HasMany,BelongsToMany,MorphTo) - Policy ve rol/izin yönetimi
- Lens, Action, Page ve Widget desteği
- OpenAPI/Swagger üretimi
- Plugin sistemi
go get github.com/ferdiunal/panel.gogo install github.com/ferdiunal/panel.go/cmd/panel@latestpanel initBu komut:
- başlangıç dosyalarını oluşturur
- veritabanı seçimine göre örnek konfigürasyon yazar
.panel/stubs/ve.claude/skills/dosyalarını yayınlar
Detay: docs/CLI_INIT.md
main.go içinde paneli başlatıp resource'larını kaydet:
cfg := panel.Config{
Server: panel.ServerConfig{Host: "localhost", Port: "8080"},
Database: panel.DatabaseConfig{Instance: db},
Environment: "development",
}
app := panel.New(cfg)
app.RegisterResource(GetUserResource())
app.Start()İlk resource örneği için: docs/Getting-Started.md
Bir resource register edildiğinde bu endpoint'ler otomatik gelir:
GET /api/resource/{slug}POST /api/resource/{slug}GET /api/resource/{slug}/:idPUT /api/resource/{slug}/:idDELETE /api/resource/{slug}/:id
Tam menü: docs/_Sidebar.md
panel make:resource Product
panel make:model Product
panel make:page Dashboard
panel make:lens ActiveProducts --resource product
panel make:action Publish --resource postPlugin komutları için: docs/PLUGIN_CLI.md
- UI dosyaları repo içinde gömülü gelir; normal kullanımda ayrıca frontend build zorunlu değildir.
- Frontend tarafında değişiklik yaparsan
make build-uiile UI varlıklarını yeniden üretmelisin.