This repository is an Ariadne demo, heavily inspired by the apollo federation-demo extended by multiple primary keys functionality for User
entity. For the example purposes, additional split_payment_service.py
was introduced using different User
primary key in comparison with review_service.py
To run this demo, poetry is needed. Pull down the repository and run the following commands:
npm install
poetry install
This will install all of the dependencies for the gateway and Ariadne underlying services, respectively.
NOTE: Poetry will install Ariadne's specific branch which is still not merged into master, so following example will fail for Ariadne installed via pip install ariadne
.
poetry run npm run start-services
npm run start-gateway
This commands will run all four microservices, and apollo gateway, respectively (should be ran in different terminals). Services will start at the ports 5001 - 5004, gateway will run at http://localhost:4000
Ofc, "interesting" is highly subjective here :)
query{
me {
reviews {
body
author {
id
username
}
product {
price
}
}
}
}
query{
payments {
participants {
name
}
}
}