package main import ( "fiber-gorm/book" "fiber-gorm/database" "fmt" "log" "github.com/gofiber/fiber/v2" "github.com/gofiber/fiber/v2/middleware/cors" "gorm.io/driver/sqlite" "gorm.io/gorm" ) func setupRoutes(app *fiber.App) { app.Get("/api/v1/book", book.GetBooks) app.Get("/api/v1/book/:id", book.GetBook) app.Post("/api/v1/book", book.NewBook) app.Delete("/api/v1/book/:id", book.DeleteBook) } func initDatabase() { var err error database.DBConn, err = gorm.Open(sqlite.Open("books.db")) if err != nil { panic("failed to connect database") } fmt.Println("Connection Opened to Database") database.DBConn.AutoMigrate(&book.Book{}) fmt.Println("Database Migrated") } func main() { app := fiber.New() app.Use(cors.New()) initDatabase() setupRoutes(app) log.Fatal(app.Listen(":3000")) }