Skip to content

Latest commit

 

History

History
62 lines (41 loc) · 1.55 KB

File metadata and controls

62 lines (41 loc) · 1.55 KB

Gishath Fetch

Gishath Fetch is a web application for Magic: The Gathering players in Singapore to search singles across multiple local game stores (LGS) in parallel.

It aggregates listings from supported stores, normalizes results, and sorts by price so users can quickly find the best available options.

🚀 Features

  • ⚡ Concurrent search across supported stores
  • 🎯 Result filtering and normalization for better match quality
  • 💰 Price-first sorting for faster deal discovery
  • 🧭 Store filtering (query specific LGS only)
  • 🛒 Persistent cart in the frontend UI

🏗️ Architecture

  • Frontend: React 19 + Vite + Bootstrap (frontend/)
  • Backend: Go Lambda handler + concurrent scrapers (api/)

🗂️ Repository layout

.
|-- api/         # Go backend (Lambda handler, scraping gateways, tests)
|-- frontend/    # React + Vite single-page app
|-- Makefile     # Local helpers for common project tasks
`-- Dockerfile   # Backend container build definition

✅ Prerequisites

  • Node.js 22 (matches CI workflow)
  • npm
  • Go (version declared in api/go.mod)

🧪 Tests

From repo root:

make test

Or directly:

cd api
go clean -testcache
go test -mod=vendor -failfast -timeout 5m ./...

🌐 Proxy support (rate limiting)

The scraper supports multiple proxies to reduce rate-limiting issues from upstream stores.

📜 License

This project is licensed under the MIT License. See LICENSE.


Gishath Fetch is not affiliated with Wizards of the Coast or any supported local game store.