package main import ( "log" "os" "github.com/gin-gonic/gin" "github.com/joho/godotenv" "niumall-go/config" "niumall-go/routes" ) func main() { // Load environment variables if err := godotenv.Load(); err != nil { log.Println("No .env file found") } // Initialize database config.InitDB() // Set Gin to release mode in production if os.Getenv("GIN_MODE") == "release" { gin.SetMode(gin.ReleaseMode) } // Create Gin router router := gin.Default() // Register routes routes.RegisterRoutes(router) // Get port from environment variable or use default port := os.Getenv("PORT") if port == "" { port = "8080" } // Start server log.Printf("Server starting on port %s", port) if err := router.Run(":" + port); err != nil { log.Fatalf("Failed to start server: %v", err) } }