awesome-repositories.com
Blog
MCP
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectMCP serverAboutHow we rankPress
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
ChilliCream avatar

ChilliCream/hotchocolate

0
View on GitHub↗
5,713 stars·807 forks·C#·MIT·30 viewschillicream.com↗

Hotchocolate

HotChocolate is a GraphQL server implementation for .NET that handles queries, mutations, and subscriptions over HTTP. It provides code-first schema generation directly from C# classes and attributes, keeping the schema and business logic in sync without manual type definitions. The project also includes a GraphQL gateway that composes multiple GraphQL and REST endpoints into a single unified schema, along with a GraphQL IDE for exploring, testing, and debugging GraphQL APIs interactively.

The project distinguishes itself through its comprehensive tooling ecosystem, which includes a GraphQL client generator for .NET that produces typed C# clients from GraphQL queries with reactive state management and data caching. It offers schema stitching via type merging to combine multiple GraphQL schemas into one, and supports real-time data streaming through WebSocket subscriptions and Server-Sent Events. The platform also provides a GraphQL schema registry for storing, versioning, and tracking schema changes with client impact analysis.

Additional capabilities include DataLoader-based batching to eliminate N+1 query problems, in-memory entity caching, middleware pipeline execution for authentication and validation, and multipart request support for file uploads. The project enables schema definition through a fluent API, query cost analysis before execution, and authentication via multiple flows including OAuth 2. It also supports restricting operations to trusted documents for safe schema evolution.

Features

  • GraphQL APIs - Constructs a GraphQL server using schema-first or code-first approaches, including subscriptions and middleware.
  • DataLoader Batching Engines - Implements DataLoader-based batching to eliminate N+1 query problems in GraphQL resolvers.
  • Local-Remote State Binding - Provides a unified GraphQL interface to read and write both local client state and remote server data.
  • Unified GraphQL Interfaces - Provides a unified GraphQL interface to read and write both local client state and remote server data.
  • GraphQL Subscriptions - Delivers real-time GraphQL subscription data over WebSocket using the Apollo subscription protocol.
  • WebSocket Subscriptions - Streams GraphQL subscription data over WebSocket using the Apollo subscription protocol.
  • Data Batching and Caching Utilities - Groups multiple data fetching requests into a single batch call, reducing redundant queries and improving performance.
  • GraphQL Subscriptions over WebSocket - Streams GraphQL subscription data over WebSocket using the Apollo subscription protocol.
  • Real-Time Message Push - Implements real-time GraphQL subscriptions over WebSocket for live data updates.
  • GraphQL State Change Subscriptions - Provides reactive APIs that push GraphQL data changes to keep the UI in sync.
  • GraphQL Schema Stitching - Merges multiple independent GraphQL services into a unified schema exposed through a single endpoint.
  • C# GraphQL Client Generators - Generates typed C# .NET client code from GraphQL queries at compile time using Roslyn source generators.
  • Code-First Schema Generators - Generates GraphQL schemas directly from C# classes and attributes, keeping schema and logic in sync.
  • Schema Stitching Gateways - Merges multiple GraphQL or REST endpoints into a single unified schema for client consumption.
  • GraphQL Servers - Builds a complete GraphQL server in .NET handling queries, mutations, subscriptions, and file uploads.
  • GraphQL Schema Registries - Stores, versions, and tracks GraphQL schema changes in a centralized registry with client impact analysis.
  • In-Memory Caches - Stores fetched entities in memory so subsequent requests for the same key return instantly.
  • Entity Second-Level Caching - Caches fetched entities in memory so subsequent requests for the same key return instantly.
  • GraphQL Query Cost Analyzers - Assigns weights to fields and rejects operations exceeding a configured performance budget.
  • SSE Subscriptions - Streams GraphQL subscription data to clients using Server-Sent Events for live updates.
  • GraphQL API Clients - Registers and documents client applications consuming GraphQL APIs for schema change impact analysis.
  • GraphQL IDEs - Provides a desktop or web-based IDE to query, inspect, and share any GraphQL endpoint interactively.
  • API Clients - Registers and tracks client applications consuming the GraphQL API for schema change impact analysis.
  • GraphQL Subscriptions over SSE - Streams GraphQL subscription data to clients using Server-Sent Events for live updates.
  • GraphQL Subscriptions over SSE - Streams GraphQL subscription data to clients using Server-Sent Events for live updates.
  • Authentication Flows - Supports basic, bearer, and OAuth 2 authentication flows to secure API access.
  • Persisted Operation Registries - Accepts only pre-registered GraphQL operations from first-party clients for safe schema evolution.
  • Interactive Explorers - Ships an interactive IDE for exploring, testing, and debugging GraphQL APIs with syntax highlighting.
  • GraphQL Schema Fluent APIs - Constructs GraphQL types and fields programmatically using a C# descriptor API, decoupling schema from domain models.
  • GraphQL Query Editors - Builds and runs GraphQL queries and mutations with syntax highlighting and auto-completion in an intuitive editor.
  • Typed .NET Clients - Generates typed C# .NET clients from GraphQL queries with reactive state management and data caching.
  • Schema Explorers - Visualizes and navigates GraphQL schema structures through an intuitive interface.
  • Version Registries - Stores, versions, and tracks GraphQL schema changes with client impact analysis in a centralized registry.
  • Reactive State Management - Provides reactive APIs that automatically update the UI when underlying GraphQL data changes.
  • Real-Time Data Streaming - Pushes live data updates to clients via WebSocket or Server-Sent Events for subscription-based workflows.
  • Request Deduplication - Merges concurrent requests for the same key so the data source is queried only once per batch.
  • Ordered Middleware Pipelines - Processes GraphQL requests through a configurable chain of middleware for authentication and validation.
  • API Development - Feature-rich GraphQL server for .NET.
  • NET GraphQL Tools - GraphQL server for .NET Core and Framework.

Star history

Star history chart for chillicream/hotchocolateStar history chart for chillicream/hotchocolate

How this analysis was created: This summary and feature list were written by an AI model that read the project's README and public documentation pages. Each feature links to the documentation it came from; stars, license and language come straight from the GitHub API. The model does not read the source code, and the analysis is refreshed when the project is re-analysed. Learn more on our About page.

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Start searching with AI

Frequently asked questions

What does chillicream/hotchocolate do?

HotChocolate is a GraphQL server implementation for .NET that handles queries, mutations, and subscriptions over HTTP. It provides code-first schema generation directly from C# classes and attributes, keeping the schema and business logic in sync without manual type definitions. The project also includes a GraphQL gateway that composes multiple GraphQL and REST endpoints into a single unified schema, along with a GraphQL IDE for exploring, testing, and debugging GraphQL…

What are the main features of chillicream/hotchocolate?

The main features of chillicream/hotchocolate are: GraphQL APIs, DataLoader Batching Engines, Local-Remote State Binding, Unified GraphQL Interfaces, GraphQL Subscriptions, WebSocket Subscriptions, Data Batching and Caching Utilities, GraphQL Subscriptions over WebSocket.

What are some open-source alternatives to chillicream/hotchocolate?

Open-source alternatives to chillicream/hotchocolate include: chillicream/graphql-platform — GraphQL Platform is a comprehensive GraphQL ecosystem for .NET that provides a spec-compliant server framework for… graphql-dotnet/graphql-dotnet — GraphQL.NET is a server-side framework for building and executing GraphQL APIs within C# applications. It provides a… async-graphql/async-graphql — async-graphql is a type-safe framework for building specification-compliant GraphQL servers in Rust. It uses… neelance/graphql-go — graphql-go is a server library for implementing GraphQL servers in Go. It provides the core infrastructure for schema… strawberry-graphql/strawberry — Strawberry is a type-safe GraphQL library for Python that enables the design of schemas using Python type annotations… graphql-python/graphene-django — Graphene-Django is a GraphQL integration framework and schema mapper used to build typed APIs for Django applications.…

Open-source alternatives to Hotchocolate

Similar open-source projects, ranked by how many features they share with Hotchocolate.
  • chillicream/graphql-platformChilliCream avatar

    ChilliCream/graphql-platform

    5,712View on GitHub↗

    GraphQL Platform is a comprehensive GraphQL ecosystem for .NET that provides a spec-compliant server framework for building APIs and gateways, along with a typed C# client for consuming GraphQL services. At its core, it translates C# classes and methods into a GraphQL schema using code-first or fluent descriptor approaches, enabling developers to define their API structure directly from their existing .NET code. The platform distinguishes itself through several integrated capabilities that address common GraphQL production concerns. It includes a DataLoader batching and caching engine that gr

    C#asp-netasp-net-corec-sharp
    View on GitHub↗5,712
  • graphql-dotnet/graphql-dotnetgraphql-dotnet avatar

    graphql-dotnet/graphql-dotnet

    5,987View on GitHub↗

    GraphQL.NET is a server-side framework for building and executing GraphQL APIs within C# applications. It provides a comprehensive toolkit for schema building, a federated engine for distributed data graphs, and a subscription handler for managing real-time data streams. The project distinguishes itself with a flexible schema builder that supports both programmatic code-first definitions and declarative schema-first approaches using the standard schema definition language. It includes a dedicated federation engine to split data graphs into subgraphs and compose them into a unified gateway, as

    C#apidotnet-coregraphiql
    View on GitHub↗5,987
  • async-graphql/async-graphqlasync-graphql avatar

    async-graphql/async-graphql

    3,671View on GitHub↗

    async-graphql is a type-safe framework for building specification-compliant GraphQL servers in Rust. It uses procedural macros to automatically generate schemas from native language structures, ensuring consistency between the data model and the API specification. The project provides native support for Apollo Federation v2, allowing entities and fields to be shared and resolved across multiple distributed subgraphs. It also implements real-time data streaming via WebSocket subscriptions and asynchronous event streams. The framework includes a wide array of capabilities for schema design, su

    Rust
    View on GitHub↗3,671
  • neelance/graphql-goneelance avatar

    neelance/graphql-go

    4,756View on GitHub↗

    graphql-go is a server library for implementing GraphQL servers in Go. It provides the core infrastructure for schema parsing, resolver mapping, and query execution. The library includes a subscription engine that enables real-time data streaming to clients using WebSocket transport. It also features an execution tracer for monitoring and profiling query performance through telemetry tools. The system manages resource consumption and stability through a query optimizer that enforces depth restrictions and controls resolver concurrency. It supports data fetching optimization via field-level p

    Go
    View on GitHub↗4,756
See all 30 alternatives to Hotchocolate→