main.go 905 B

123456789101112131415161718192021222324252627282930313233343536373839
  1. package main
  2. import (
  3. "log"
  4. "net/http"
  5. "api-dockerization/db"
  6. "api-dockerization/internal/handlers"
  7. "api-dockerization/internal/models"
  8. "api-dockerization/internal/repository"
  9. "api-dockerization/internal/service"
  10. "api-dockerization/routes"
  11. "github.com/gorilla/mux"
  12. )
  13. func main() {
  14. //Conexion de la DB
  15. db.DBConnection()
  16. // Migrar el modelo
  17. db.AutoMigrate(&models.User{})
  18. // Inicializar repositorios y servicios
  19. userRepo := repository.NewUserRepository(db.DB)
  20. userCmdService := service.NewUserCommandService(userRepo)
  21. userQryService := service.NewUserQueryService(userRepo)
  22. userHandler := handlers.NewUserHandler(userCmdService, userQryService)
  23. // Configurar el enrutador
  24. r := mux.NewRouter()
  25. // Registrar las rutas de usuarios
  26. routes.SetupUserRoutes(r, userHandler)
  27. // Iniciar el servidor
  28. log.Println("API corriendo en :8080")
  29. log.Fatal(http.ListenAndServe(":8080", r))
  30. }