package main import ( "log" "os" "wagfarm-api/assets" "wagfarm-api/database" "wagfarm-api/logs" "wagfarm-api/taxonomy" "github.com/gin-gonic/gin" ) func RegisterModels() { assets.RegisterModels() logs.RegisterModels() taxonomy.RegisterModels() } func RegisterRoutes(r *gin.Engine) { group := r.Group("/v1") assets.RegisterRoutes(group) logs.RegisterRoutes(group) taxonomy.RegisterRoutes(group) r.GET("/health", func(c *gin.Context) { c.Status(200) }) } func main() { log.SetOutput(os.Stdout) log.Println("Starting API server...") // connect to database if err := database.Connect(); err != nil { log.Fatalf("Database connection error: %v", err) } RegisterModels() // Run migrations. if err := database.Migrate(); err != nil { log.Fatalf("Migration failed: %v", err) } log.Println("Database migrated successfully!") r := gin.Default() RegisterRoutes(r) if err := r.Run(":8080"); err != nil { log.Fatalf("Failed to run server: %v", err) } }