33 lines
742 B
Go
33 lines
742 B
Go
package server
|
|
|
|
import (
|
|
"database/sql"
|
|
"log"
|
|
"GoMembership/internal/controllers"
|
|
"GoMembership/internal/repositories"
|
|
"GoMembership/internal/routes"
|
|
"GoMembership/internal/services"
|
|
"net/http"
|
|
|
|
"github.com/gorilla/mux"
|
|
_ "github.com/go-sql-driver/mysql"
|
|
)
|
|
|
|
func Run() {
|
|
db, err := sql.Open("mysql", "user:password@/dbname")
|
|
if err != nil {
|
|
log.Fatal(err)
|
|
}
|
|
defer db.Close()
|
|
|
|
userRepo := repositories.NewUserRepository(db)
|
|
userService := services.NewUserService(userRepo)
|
|
userController := controllers.NewUserController(userService)
|
|
|
|
router := mux.NewRouter()
|
|
routes.RegisterRoutes(router, userController)
|
|
|
|
log.Fatal(http.ListenAndServe(":8080", router))
|
|
}
|
|
|