package main import ( "context" "log" "example.com/bridging-sample/api/internal/config" "example.com/bridging-sample/api/internal/db" httpHandlers "example.com/bridging-sample/api/internal/http" "example.com/bridging-sample/api/internal/repo" "github.com/gin-gonic/gin" "github.com/joho/godotenv" ) func main() { _ = godotenv.Load("../.env", ".env") cfg, err := config.Load() if err != nil { log.Fatalf("config: %v", err) } ctx := context.Background() client, err := db.NewClient(ctx, cfg.Project, cfg.Instance, cfg.Database) if err != nil { log.Fatalf("spanner client: %v", err) } defer client.Close() items := repo.NewItemRepo(client) h := &httpHandlers.Handlers{Items: items} r := gin.Default() h.Register(r) log.Println("listening on :8080") if err := r.Run(":8080"); err != nil { log.Fatal(err) } }