GraphQL API for the GearGraph knowledge base, powering the GearShack outdoor gear apps.
- GraphQL API with Strawberry + FastAPI
- Memgraph graph database backend
- API Key authentication
- Docker deployment
# Create virtual environment
python -m venv venv
source venv/bin/activate # or `venv\Scripts\activate` on Windows
# Install dependencies
pip install -r requirements.txt
# Copy and configure environment
cp .env.example .env
# Edit .env with your settings
# Run development server
uvicorn app.main:app --reload --port 8080# Build and run
docker compose up -d
# View logs
docker compose logs -f geargraph-api- GraphQL Playground:
http://localhost:8080/graphql - Health Check:
http://localhost:8080/health
All GraphQL requests require an API key in the header:
X-API-Key: your-api-key
query {
allCategories {
name
subcategories {
name
productTypes {
name
}
}
}
}query {
autocompleteGear(query: "hubba", limit: 5) {
gearId
name
brand {
name
}
}
}query {
findAlternatives(
gearId: "xxx"
filter: { maxWeight: 1500, maxPrice: 300 }
) {
name
weightGrams
priceUsd
brand { name }
}
}Proprietary - GearShack