47 lines
1.3 KiB
Go
47 lines
1.3 KiB
Go
// File: backend/cmd/server/main.go
|
||
package main
|
||
|
||
import (
|
||
"log"
|
||
"net/http"
|
||
|
||
"gitea.mrixs.me/minecraft-platform/backend/internal/api"
|
||
"gitea.mrixs.me/minecraft-platform/backend/internal/core"
|
||
"gitea.mrixs.me/minecraft-platform/backend/internal/database"
|
||
|
||
"github.com/go-chi/chi/v5"
|
||
"github.com/go-chi/chi/v5/middleware"
|
||
)
|
||
|
||
func main() {
|
||
// Инициализируем соединение с БД
|
||
db := database.Connect()
|
||
defer db.Close()
|
||
|
||
// Собираем наши зависимости (Dependency Injection)
|
||
userRepo := &database.UserRepository{DB: db}
|
||
userService := &core.UserService{Repo: userRepo}
|
||
userHandler := &api.UserHandler{Service: userService}
|
||
|
||
// Создаем роутер
|
||
r := chi.NewRouter()
|
||
r.Use(middleware.Logger)
|
||
r.Use(middleware.Recoverer)
|
||
|
||
// Группа маршрутов для API
|
||
r.Route("/api", func(r chi.Router) {
|
||
r.Post("/register", userHandler.Register)
|
||
// Здесь будут другие маршруты API
|
||
})
|
||
|
||
// Маршрут для проверки, что сервер жив
|
||
r.Get("/", func(w http.ResponseWriter, r *http.Request) {
|
||
w.Write([]byte("Backend server is running!"))
|
||
})
|
||
|
||
log.Println("Starting backend server on :8080")
|
||
if err := http.ListenAndServe(":8080", r); err != nil {
|
||
log.Fatalf("Failed to start server: %v", err)
|
||
}
|
||
}
|