explaingit

chillicream/graphql-platform

5,702C#Audience · developerComplexity · 3/5LicenseSetup · moderate

TLDR

An open-source suite of .NET tools for GraphQL, a server called Hot Chocolate, a typed client code generator called Strawberry Shake, a visual API explorer called Nitro, and a DataLoader utility called Green Donut.

Mindmap

mindmap
  root((graphql-platform))
    Hot Chocolate server
      Define API schema
      Write resolvers
      ASP.NET Core
    Strawberry Shake client
      Generate typed C# code
      Blazor and MAUI
      Reactive data store
    Nitro explorer
      Test any GraphQL API
      Desktop and web app
      Embedded middleware
    Green Donut
      Batch database calls
      Solve N+1 queries
      DataLoader pattern
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

Things people build with this

USE CASE 1

Build a GraphQL API in a .NET application using Hot Chocolate to define the schema and handle data fetching.

USE CASE 2

Generate strongly-typed C# client code from GraphQL queries in a Blazor or .NET MAUI app with Strawberry Shake.

USE CASE 3

Explore and test any GraphQL API visually using the Nitro desktop app without writing any code.

USE CASE 4

Fix N+1 database query slowdowns automatically by using the Green Donut DataLoader batching utility.

Tech stack

C#.NETASP.NET CoreGraphQLBlazor.NET MAUI

Getting it running

Difficulty · moderate Time to first run · 30min

Requires an existing ASP.NET Core project and .NET SDK installed, Strawberry Shake requires a GraphQL API to connect to.

MIT, use freely in personal and commercial projects, just keep the copyright notice.

In plain English

This repository is home to a suite of open-source tools for working with GraphQL in the .NET ecosystem. GraphQL is a way of designing APIs where the client specifies exactly what data it needs, rather than receiving a fixed blob of data from the server. The ChilliCream platform bundles several separate products that work well together but can also be used on their own. The main piece is Hot Chocolate, a GraphQL server for .NET applications. Developers use it to build the backend side of a GraphQL API: defining what data is available, how it is fetched, and enforcing type rules so that errors are caught early rather than at runtime. It runs on top of ASP.NET Core, which is Microsoft's framework for building web applications. Strawberry Shake is the client-side counterpart. When you are building a front-end application in Blazor or .NET MAUI and need to talk to a GraphQL API, Strawberry Shake generates typed C# code from your GraphQL queries. This means the compiler can catch mistakes in your API calls before the app ships. It also includes a reactive data store for keeping the UI in sync with the latest data. Nitro is a graphical tool for exploring and testing any GraphQL API. It can be installed as a desktop application, used as a web app in the browser, or embedded directly into your API endpoint as middleware. It serves the same general purpose as API testing tools like Postman, but designed specifically for GraphQL. Green Donut is a smaller utility included in the platform that handles a common performance problem called the N+1 query problem, where fetching a list of items triggers a separate database call for each item. The library batches those calls together automatically. The entire platform is MIT licensed and supported by a community on Slack.

Copy-paste prompts

Prompt 1
How do I set up a Hot Chocolate GraphQL server in ASP.NET Core and expose a list of products from a database?
Prompt 2
Show me how to generate typed C# client code with Strawberry Shake for a Blazor WASM app querying a GraphQL API.
Prompt 3
How do I add JWT authentication and authorization to a Hot Chocolate GraphQL endpoint in .NET 8?
Prompt 4
Walk me through using Green Donut to batch database calls and eliminate N+1 queries in a .NET GraphQL resolver.
Prompt 5
How do I add real-time GraphQL subscriptions to a Hot Chocolate server using WebSockets?
Open on GitHub → Explain another repo

← chillicream on gitmyhub — every repo by this author, as a profile.

Verify against the repo before relying on details.