Önce boş bir klasör aç ve içinde terminali (PowerShell/CMD) başlat.
Projeye Kimlik Ver:
go mod init proje-ismin(Örn: go mod init eticaret-vibe)
PocketBase Kütüphanesini İndir:
go get github.com/pocketbase/pocketbaseTemizlik Yap (Çok Önemli):Gereksiz veya çakışan kütüphaneleri temizlemek için şu komutu mutlaka çalıştır:
go mod tidymain.go)Klasöründe main.go adında bir dosya oluştur. Aşağıdaki kod, PocketBase v0.23 ve üzeri için en güncel ve çalışan yapıdır.
Dikkat Edilecek Kritik Noktalar:
Eskiden kullanılan
labstack/echokütüphanesi ARTIK YOK.
OnBeforeServeyerineOnServekullanıyoruz.Fonksiyonun sonunda
return e.Next()yazmazsan "Listener not initialized" hatası alırsın.
Kopyalanacak Kod:
package mainimport ("log""net/http""github.com/pocketbase/pocketbase""github.com/pocketbase/pocketbase/core")func main() {app := pocketbase.New()// Sunucu başlamadan önceki hazırlık kancasıapp.OnServe().BindFunc(func(e *core.ServeEvent) error {// --- SENİN ROTALARIN BURAYA ---// Örnek: Anasayfa Rotasıe.Router.GET("/", func(re *core.RequestEvent) error {return re.HTML(http.StatusOK, "Sistem Çalışıyor! ????
")})// Örnek: API Rotasıe.Router.GET("/api/test", func(re *core.RequestEvent) error {return re.JSON(http.StatusOK, map[string]string{"durum": "ok",})})
// ------------------------------// KRİTİK NOKTA: Zinciri devam ettir. Bunu silersen sunucu başlamaz!return e.Next()})if err := app.Start(); err != nil {log.Fatal(err)}}
Projeyi geliştirirken veya sunarken port sorunu yaşamamak için şu formatı kullan.
Geliştirme Modunda Çalıştırmak İçin:
go run main.go serve --http="127.0.0.1:8091"(Port numarasını 8090, 8091, 8092 gibi dilediğin gibi değiştirebilirsin.)
Build Alıp (EXE yapıp) Çalıştırmak İçin:
Build al: go build -o site.exe main.go
Çalıştır: .site.exe serve --http="127.0.0.1:8091" #(domain ise .site.exe serve --http="api.renkweb.com:8091")
Terminalde "Server started at..." yazısını gördükten sonra:
Tarayıcıyı aç.
Admin Paneline git: http://127.0.0.1:8091/_/
E-posta ve şifreni belirleyip ilk Admin Kullanıcısını oluştur.
Sol menüden "Collections" kısmına gidip tablolarını (Products, Categories vb.) oluşturmaya başla.
HTML Dosyaları: İleride HTML dosyalarını views klasörüne koyduğunda, main.go içindeki re.HTML(...) kısmını dosya okuyacak şekilde güncelleyeceğiz.
Hata Alırsan: Import hatası veya "undefined" hatası alırsan terminale hemen go mod tidy yaz. %90 çözer.
Port Dolu Hatası: Eğer "address already in use" hatası alırsan, port numarasını (8091 -> 8092) değiştir.
Teklif sayfamızdan alacağınız hizmetin teklif formunu doldurarak daha hızlı hizmet teklifi alabilirsiniz.
Sizde hemen teklif formunu doldurarak ne hizmeti almak istediğiniz detaylandırınız.