package main import ( "log" "os" "github.com/gin-gonic/gin" "github.com/joho/godotenv" "gorm.io/driver/mysql" "gorm.io/gorm" "gorm.io/gorm/logger" "gitea.urkob.com/longinos/plateMate/controllers" "gitea.urkob.com/longinos/plateMate/models" "gitea.urkob.com/longinos/plateMate/repositories" ) func main() { // Cargar variables de entorno desde el archivo .env err := godotenv.Load(".env") if err != nil { log.Fatal(err) } // Inicializar una nueva instancia de Gin app := gin.Default() // Inicializar la conexión de base de datos (db) db, err := gorm.Open(mysql.Open(os.Getenv("DATABASE_URL")), &gorm.Config{ Logger: logger.Default.LogMode(logger.Info), }) if err != nil { log.Fatal("Error al conectar a la base de datos: ", err) } // Auto migración de modelos err = db.AutoMigrate(&models.User{}, &models.Plate{}, &models.Order{}) if err != nil { log.Fatal("Error al migrar modelos: ", err) } // Crear una instancia del repositorio de usuarios y pasar la conexión de base de datos userRepository := repositories.NewUserRepository(db) // Configurar las rutas y pasar el repositorio de usuarios a los controladores controllers.ConfigureUserRoutes(app, userRepository) // Aquí puedes configurar las rutas para otros recursos (platos, pedidos, etc.) // Iniciar la aplicación Gin app.Run(":8080") }