Gofiber
  • Basic backend dengan Gofiber part 1
    • Pengenalan Gofiber
    • Instalasi Gofiber
    • Auto reload dengan air
    • Membaca semua data di struct dengan Gofiber
    • Membaca data spesifik di struct dengan Gofiber
    • Membuat data di struct dengan Gofiber
    • Mengupdate data di struct dengan Gofiber
    • Menghapus data di struct dengan Gofiber
    • Implementasi MVC di Gofiber
  • Basic backend dengan Gofiber part 2
    • Setting database menggunahkan gorm.io di Gofiber
    • Menambahkan query ke database di Gofiber
    • Membuat relasi dengan gorm di Gofiber
    • Membuat validasi dengan validator di Gofiber
    • Membuat CORS di Gofiber
    • Menghandle serangan XSS(Cross-Site Scripting) di Gofiber
    • Mengamankan header HTTP dengan helmet di Gofiber
    • Membuat middleware menggunahkan JWT(JSON Web Token) di Gofiber
    • Menambahkan query search di Gofiber
    • Menambahkan query sort di Gofiber
    • Membuat pagination di Gofiber
    • Membuat refresh token di Gofiber
    • Membuat local upload file di Gofiber
    • Membuat server upload dengan cloudinary di Gofiber
    • Membuat analisis code dengan GolangCI-Lint di Gofiber
Powered by GitBook
On this page
  1. Basic backend dengan Gofiber part 2

Setting database menggunahkan gorm.io di Gofiber

Berikut adalah langkah-langkah lengkap untuk menginstal GORM dan godotenv, serta menambahkan struktur folder dan file:

  1. Instal GORM dan godotenv:

    • Pastikan Anda telah mengatur GOPATH dan PATH dengan benar.

    • Buka terminal Anda dan jalankan perintah berikut:

      go get -u gorm.io/gorm
      go get -u gorm.io/driver/postgres
      go get github.com/joho/godotenv

    Perintah ini akan mengunduh dan menginstal paket GORM, driver PostgreSQL untuk GORM, dan godotenv.

  2. Tambahkan File-file Berikut:

    • Buat file-file berikut di dalam direktori yang sesuai dengan struktur folder:

      • Src/models/Products.go

      • Src/configs/db.go

      • Src/helpers/migration.go

      • main.go

      Berikut adalah struktur folder yang diminta beserta penjelasan singkat untuk setiap direktori dan file:

      project
      │   
      ├── src
      |   ├── configs
      |   |   └── db.go
      |   ├── controllers
      |   |   └── ProductController.go
      |   ├── helpers
      |   |   └── migration.go
      |   ├── models
      |   |   └── Products.go
      |   └── routes
      |       └── main.go
      └── main.go
      1. src: Direktori utama yang berisi seluruh kode aplikasi.

        • configs: Direktori untuk menyimpan konfigurasi terkait dengan pengaturan aplikasi, seperti koneksi database.

        • controllers: Direktori untuk menyimpan file-file yang berisi logika aplikasi terkait dengan pengaturan dan manipulasi data.

        • helpers: Direktori untuk menyimpan file-file yang berisi fungsi-fungsi bantuan atau helper yang digunakan dalam aplikasi.

        • models: Direktori untuk menyimpan definisi struktur data atau model yang digunakan dalam aplikasi.

        • routes: Direktori untuk menyimpan file-file yang berisi definisi route atau endpoint dari aplikasi.

      2. main.go: File utama yang berfungsi sebagai entry point atau titik awal dari aplikasi. Biasanya digunakan untuk menginisialisasi server dan setup awal lainnya.

  3. Tambahkan Kode ke File-file:

    • Tambahkan kode yang diberikan sebelumnya ke dalam file-file yang sesuai.

    • Pastikan untuk mengimpor paket-paket yang diperlukan dengan benar di setiap file.

    src/models/Products.go

    package models
    
    import "gorm.io/gorm"
    
    type Product struct {
    	gorm.Model
    	Name  string  `json:"name"`
    	Price float64 `json:"price"`
    	Stock int     `json:"stock"`
    }

    src/configs/db.go

    package configs
    
    import (
    	"log"
    	"os"
    
    	"gorm.io/driver/postgres"
    	"gorm.io/gorm"
    )
    
    var DB *gorm.DB
    
    func InitDB() {
    	url := os.Getenv("URL")
    	var err error
    	DB, err = gorm.Open(postgres.Open(url), &gorm.Config{})
    	if err != nil {
    		log.Fatalf("Failed to connect to the database: %v", err)
    	}
    }

    src/helpers/migration.go

    package helpers
    
    import (
    	"gofiber/src/configs"
    	"gofiber/src/models"
    )
    
    func Migration() {
    	configs.DB.AutoMigrate(&models.Product{})
    }

    main.go

    package main
    
    import (
    	"gofiber/src/configs"
    	"gofiber/src/helpers"
    	"gofiber/src/routes"
    	"log"
    
    	"github.com/gofiber/fiber/v2"
    	"github.com/joho/godotenv"
    )
    
    func main() {
    	err := godotenv.Load()
    	if err != nil {
    		log.Fatal("Error loading .env file")
    	}
    	app := fiber.New()
    	configs.InitDB()
    	helpers.Migration()
    	routes.Router(app)
    
    	app.Listen(":3000")
    }

Setelah langkah-langkah di atas selesai, struktur folder Anda akan lengkap dengan file-file yang diperlukan, GORM dan godotenv akan terinstal, dan Anda siap untuk memulai pengembangan aplikasi dengan Fiber framework menggunakan GORM untuk interaksi dengan database dan godotenv untuk mengelola variabel lingkungan.

PreviousImplementasi MVC di GofiberNextMenambahkan query ke database di Gofiber

Last updated 1 year ago