About
Setup DDD style aggregates from a GraphQL schema. Store aggregate state to an event-store using REST, and query using both GraphQL and traditional REST. More advanced applications can use CQRS principle to build custom data integrations and views by simply reducing the underlying event stream.
This solution is aimed at bring the more traditional CRUD style rapid development stacks (Ruby on Rails et al) into a more modern environment
There is an article on why GraphQL is nice implementation tool for DDD. And this presentation walks through a real world project that used GraphQL as the contract between UI and backend developers.
The Online Store Evolution walks through a basic example that gradually builds additional behaviour around a simple schema.
The inbuilt query model is quite basic. The intention is that as more complex query models are required other services will monitor the event stream(s) and aggregate data to build dedicated views using the appropriate technology.
To get working quickly, follow the getting started Getting Started guide.
For more detail:
- Command Line Options
- Comparison to DDD
- Comparison to MongoDB
- Data Access (DAO)
- Docker
- External Data
- (GraphQL)Fetchers
- Query Processing Steps
- Type Mappings
- REST API
- Standards
- Updates and Validations
Work and new features are tracked in Trello.