hasura / hasura/graphql-engine
Domain Driven Metadata Authoring
- Dominant language
- TypeScript
- Stars
- 32.1k
- Forks
- 3k
- PR merge metrics
- PR metrics pending
Description
## Feature Description
Ability to full encapsulate the application domain logic in Hasura metadata declaratively without the need for connecting upstream data sources.
## User value / outcome
Hasura's current metadata already provides a great way to design and build data models along with the necessary business logic. In V3, we are going to introduce more structure and guidance to control how schema is generated and allow for any customization that is required. A lot will revolve around the concept of models in the new metadata analogous to the current tracked tables and views in V2 metadata. This will enable users to employ contract first or schema first kind of development practices while developing APIs with Hasura.
While this change is providing more flexibility to users in designing and developing APIs, we will continue to support the instant API use-cases with users of V2 are so accustomed to. Connecting to data sources and getting a functional API will be as easy as it is in V2, if not faster with new CLI commands. We will generate the underlying metadata in the new structure for easily editing post API creation.
## Current status (design, alpha, beta etc.)
One of the main properties of the new V3 system. Currently under development and will be available as early as the Beta release of V3 in June 2023. Some of the milestones for this feature are as follows:
- New data specification that will guide the V3 metadata structure
- New tooling to work easily with the new data specification
- New Console based domain modeling experience
- SDK features such as auto-complete for domain modeling
## Resources (e.g. RFCs)
- [GraphQL Data Specification high level outline for V3 metadata structure](https://github.com/hasura/graphql-data-specification)
- [Release of GraphQL Data Specification at the Enterprise GraphQL conference 2022](https://hasura.io/enterprisegraphql/graphql-the-missing-piece-to-realizing-your-enterprise-platform-vision/)
Contributor guide
Research direction
Start by reading the linked GraphQL Data Specification high-level outline and compare it with the V3 metadata goals described here. Review the planned data specification, tooling, Console domain-modeling experience, and SDK autocomplete milestones. Done would require a concrete, scoped implementation plan or defined deliverable; this issue names no files or tests.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- graphql
- Domain
- api, backend-api-design
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 20/100