/go-crud-example

✅ Basic GO CRUD App

Primary LanguageGo

  1. Compile Daemon
  • Deşiklikleri algılayıp restart atar
go get github.com/githubnemo/CompileDaemon

CompileDaemon -command="./go-http -my-options"
  • ./go-http dosya yolu
  • -my-options alabileceği özel parametreler

  1. GoDotEnv
  • .env dosyasından değer okumayı sağlar
go get github.com/joho/godotenv

  1. Gin
  • Web framework'üdür
go get -u github.com/gin-gonic/gin

  1. Gorm
  • ORM
go get -u gorm.io/gorm

-u update -> modülün en son sürümünü getir demek

  • Driver
go get -u gorm.io/driver/postgres

migrate

  • Database tablosu oluşturur onun için projeden önce run edilmeli ve main paketi altında run edilebilir olmalıdır
go run migrate/migrate.go

Swagger

go get -u github.com/swaggo/swag/cmd/swag
go install github.com/swaggo/swag/cmd/swag@latest
swaggo -h
go get -u github.com/swaggo/files
go get -u github.com/swaggo/gin-swagger
// Add Swagger
r.GET("/docs/*any", ginSwagger.WrapHandler(swaggerFiles.Handler))
swag init

main.go

import (
	// Aşağıdakini ekle
	_ "go-http/docs"
	"github.com/gin-gonic/gin"
	swaggerFiles "github.com/swaggo/files"
	ginSwagger "github.com/swaggo/gin-swagger"
	"go-http/controllers"
	"go-http/initializers"
)

func init() {
initializers.LoadEnvVeriables()
initializers.ConnectToDB()
}

// @title Tag Service API
// @version 1.0
// @description Description

// @host localhost:8888
// @BasePath /api
func main() {
swag init