rating-orama/core/cmd/main.go
2024-11-22 14:38:24 +01:00

46 lines
887 B
Go

package main
import (
"embed"
"encoding/gob"
"gopher-toolbox/app"
"gopher-toolbox/db"
"log/slog"
"net/http"
"ron"
"github.com/zepyrshut/rating-orama/internal/handlers"
"github.com/zepyrshut/rating-orama/internal/repository"
)
//go:embed database/migrations
var database embed.FS
const version = "0.2.0-beta.20241116-4"
func init() {
gob.Register(map[string]string{})
}
func main() {
app := app.New(version)
app.Migrate(database)
r := ron.New(func(e *ron.Engine) {
e.Render = ron.NewHTMLRender()
e.Config.LogLevel = slog.LevelDebug
})
dbPool := db.NewPGXPool(app.Database.DataSource)
defer dbPool.Close()
q := repository.NewPGXRepo(dbPool)
h := handlers.New(app, q)
router(h, r)
slog.Info("server started", "port", "8080", "version", version)
err := http.ListenAndServe(":8080", r)
if err != nil {
slog.Error("cannot start server", "error", err)
}
}