40 lines
825 B
Go
40 lines
825 B
Go
|
|
package main
|
||
|
|
|
||
|
|
import (
|
||
|
|
"fmt"
|
||
|
|
"log"
|
||
|
|
|
||
|
|
"furtuna-be/config"
|
||
|
|
_ "furtuna-be/docs"
|
||
|
|
"furtuna-be/internal/app"
|
||
|
|
"furtuna-be/internal/common/db"
|
||
|
|
"furtuna-be/internal/common/logger"
|
||
|
|
"furtuna-be/internal/repository"
|
||
|
|
"furtuna-be/internal/routes"
|
||
|
|
"furtuna-be/internal/services"
|
||
|
|
)
|
||
|
|
|
||
|
|
func main() {
|
||
|
|
loggerSingleton := logger.NewMainLoggerSingleton()
|
||
|
|
loggerSingleton.Info("Starting server")
|
||
|
|
|
||
|
|
cfg := config.LoadConfig()
|
||
|
|
|
||
|
|
dbConn, err := db.NewPostgres(cfg.Database)
|
||
|
|
if err != nil {
|
||
|
|
log.Fatal(err)
|
||
|
|
}
|
||
|
|
|
||
|
|
server := app.NewServer()
|
||
|
|
|
||
|
|
repo := repository.NewRepoManagerImpl(dbConn, cfg)
|
||
|
|
service := services.NewServiceManagerImpl(cfg, repo)
|
||
|
|
|
||
|
|
routes.RegisterPublicRoutes(server, service, repo)
|
||
|
|
routes.RegisterPrivateRoutes(server, service, repo)
|
||
|
|
|
||
|
|
server.StartScheduler()
|
||
|
|
|
||
|
|
log.Fatal(server.Listen(fmt.Sprint(":", cfg.Server.Port)))
|
||
|
|
}
|