Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/nareshbhatia/graphql-trading-platform
Example demonstrating the use of GraphQL to implement a rich domain with multiple entities and relationships
https://github.com/nareshbhatia/graphql-trading-platform
Last synced: about 4 hours ago
JSON representation
Example demonstrating the use of GraphQL to implement a rich domain with multiple entities and relationships
- Host: GitHub
- URL: https://github.com/nareshbhatia/graphql-trading-platform
- Owner: nareshbhatia
- Created: 2019-08-01T01:33:02.000Z (over 5 years ago)
- Default Branch: master
- Last Pushed: 2021-03-30T21:32:45.000Z (over 3 years ago)
- Last Synced: 2023-03-06T20:53:38.022Z (over 1 year ago)
- Language: TypeScript
- Size: 587 KB
- Stars: 5
- Watchers: 1
- Forks: 0
- Open Issues: 5
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
GraphQL Trading Platform
========================
Most GraphQL tutorials use simplistic examples to demonstrate its capabilities. Unfortunately, when we start building real applications, we run into complexities that these tutorials do not address. This repo demonstrates the use of GraphQL to implement a rich domain with multiple entities and relationships. We use the [Apollo GraphQL](https://www.apollographql.com/) tools and libraries for this implementation.1. Our example uses a simplified bond trading domain containing multiple entities and relationships.
2. We use 4 REST services to present aggregated account and trade information to front-end clients.Here's the domain model of our trading domain:
![Domain Model](assets/trading-platform-domain-model.png)
Here's the high-level architecture of our implementation:
![Trading Platform Architecture](assets/trading-platform-architecture.png)
As you can see, we have implemented a GraphQL gateway backed by 4 independent REST services. You can find installation instructions for the back-end (GraphQL gateway + the REST services) in the `graphql-trading-gateway` folder.