relynolli-server/main.go

48 lines
859 B
Go

package main
import (
"log"
"os"
"os/signal"
"relynolli-server/handlers"
"relynolli-server/internal"
"syscall"
"github.com/gin-contrib/cors"
"github.com/gin-gonic/gin"
"github.com/joho/godotenv"
)
func main() {
loadEnvironment()
server := gin.Default()
crs := cors.New(cors.Config{
AllowHeaders: []string{"*"},
AllowAllOrigins: true,
AllowMethods: []string{"GET, POST, PATCH, DELETE"},
})
server.Use(crs)
db := internal.InitDatabase()
rdb := internal.InitRedis()
handlers.InitializeRouter(server)
defer db.Close()
defer rdb.Close()
gracefullyShutDown := make(chan os.Signal, 1)
signal.Notify(gracefullyShutDown, syscall.SIGINT, syscall.SIGTERM)
go server.Run("0.0.0.0:8000")
<-gracefullyShutDown
}
func loadEnvironment() {
err := godotenv.Load(".env")
if err != nil {
log.Fatal("Error loading .env file")
}
}