package main import ( "database/sql" "fmt" "log" "os" "git.rosemyrtle.work/personal-finance/server/internal/api" _ "github.com/jackc/pgx/v5/stdlib" "github.com/joho/godotenv" "github.com/labstack/echo/v4" ) func main() { if err := godotenv.Load(); err != nil { log.Fatal("error loading .env file") return } database := fmt.Sprintf("postgres://%s:%s@%s/%s", os.Getenv("PG_USER"), os.Getenv("PG_PASSWORD"), os.Getenv("PG_URL"), os.Getenv("PG_DB")) db, err := sql.Open("pgx", database) if err != nil { log.Fatalf("unable to connect to database: %v\n", err) } if err := db.Ping(); err != nil { log.Fatal(err) } handlers := api.ServerImpl{Db: db} api.RegisterHandlers(echo.New(), &handlers) }