Files
NBA_Go/main.go
T
2025-04-30 23:15:57 -05:00

57 lines
1.7 KiB
Go

package main
import (
"log"
"time"
"github.com/gofiber/fiber/v2/middleware/logger"
"github.com/gofiber/fiber/v2"
"github.com/nprasad2077/NBA_Go/config"
"github.com/nprasad2077/NBA_Go/routes"
"github.com/nprasad2077/NBA_Go/services"
_"github.com/nprasad2077/NBA_Go/docs" // swag docs
fiberswagger "github.com/swaggo/fiber-swagger"
)
func main() {
app := fiber.New()
app.Use(logger.New())
db := config.InitDB()
// Automatically fetch player stats on startup
go func() {
for season := 1993; season <= 2025; season++ {
if err := services.FetchAndStorePlayerAdvancedStats(db, season); err != nil {
log.Printf("Fetch failed for player advanced season %d: %v\n", season, err)
} else {
log.Printf("Fetch successful for player advanced season %d\n", season)
}
time.Sleep(1100 * time.Millisecond) // optional delay
}
log.Printf("player advanced Import Success")
}()
go func() {
for season := 1993; season <= 2025; season++ {
if err := services.FetchAndStorePlayerTotalStats(db, season); err != nil {
log.Printf("Fetch failed for player totals season %d: %v\n", season, err)
} else {
log.Printf("Fetch successful for player totals season %d\n", season)
}
time.Sleep(1000 * time.Millisecond) // optional delay
}
log.Printf("player totals Import Success")
}()
routes.RegisterPlayerAdvancedRoutes(app, db)
routes.RegisterPlayerTotalRoutes(app, db)
app.Get("/swagger/*", fiberswagger.WrapHandler)
app.Listen(":3001")
}