datguyvladik / epam-graphql

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Epam.GraphQL

Licence

codecov Build artifacts Publish code

Size Activity Activity Activity

Overview

Epam.GraphQL is a set of .NET libraries which provides a high-level way for building GraphQL APIs with a few lines of code, including (but not limited to) CRUD, batching, complex sorting and filtering, pagination. We have built Epam.GraphQL on top of GraphQL.NET to simplify developing GraphQL API layer:

  • It is used by a dozen internal EPAM applications, battle-tested on complex tasks
  • Highly declarative; can be seen as Low-Code platform done right
  • Serves as architecture backbone for the whole app
  • Makes APIs aligned and metadata-rich – allowing future features like admin UI generation

Features

  • Supports EntityFrameworkCore (e.g. querying only necessary fields from the database, disable change tracking when needed)
  • Declarative CRUD (but you can write your own manual mutations as well)
  • Gracefully solves N+1 problem by nested entities query batching with zero boilerplate code (but you can write your batches by yourself)
  • Relay connections out-of-the-box
  • Declarative filtering and search
  • Declarative sorting
  • Entity auto-mapping
  • Master-details relationship between entities with a few lines of code
  • Security
  • ... and many more

Documentation

Packages

Package Downloads NuGet Latest
Epam.GraphQL Nuget Nuget
Epam.GraphQL.EntityFrameworkCore Nuget Nuget
Epam.GraphQL.MiniProfiler Nuget Nuget
Epam.GraphQL.SystemTextJson Nuget Nuget
Epam.GraphQL.NewtonsoftJson Nuget Nuget

License

MIT

About

License:MIT License


Languages

Language:C# 100.0%