{"id":14975983,"url":"https://github.com/TheCodeTraveler/DotNetGraphQL","last_synced_at":"2025-09-03T11:31:32.270Z","repository":{"id":35704606,"uuid":"218167601","full_name":"TheCodeTraveler/DotNetGraphQL","owner":"TheCodeTraveler","description":"A sample demonstrating how to create a GraphQL Backend in .NET using `GraphQL-Dotnet` and consume it from a .NET mobile app created using Xamarin","archived":false,"fork":false,"pushed_at":"2024-06-27T16:32:36.000Z","size":1372,"stargazers_count":79,"open_issues_count":5,"forks_count":24,"subscribers_count":6,"default_branch":"main","last_synced_at":"2025-08-30T05:59:17.524Z","etag":null,"topics":["android","graphiql","graphql","graphql-api","graphql-backend","graphql-client","graphql-dotnet","graphql-server","ios","xamarin","xamarin-android","xamarin-forms","xamarin-graphql","xamarin-ios"],"latest_commit_sha":null,"homepage":"https://codetraveler.io/GraphQLSummit-DotNet","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/TheCodeTraveler.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"github":["brminnick"]}},"created_at":"2019-10-28T23:58:53.000Z","updated_at":"2024-06-27T16:31:00.000Z","dependencies_parsed_at":"2024-06-27T19:47:43.883Z","dependency_job_id":null,"html_url":"https://github.com/TheCodeTraveler/DotNetGraphQL","commit_stats":{"total_commits":200,"total_committers":5,"mean_commits":40.0,"dds":0.49,"last_synced_commit":"38c74318609fdbfa2b02879225f25685b897983e"},"previous_names":["thecodetraveler/dotnetgraphql"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/TheCodeTraveler/DotNetGraphQL","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TheCodeTraveler%2FDotNetGraphQL","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TheCodeTraveler%2FDotNetGraphQL/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TheCodeTraveler%2FDotNetGraphQL/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TheCodeTraveler%2FDotNetGraphQL/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/TheCodeTraveler","download_url":"https://codeload.github.com/TheCodeTraveler/DotNetGraphQL/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TheCodeTraveler%2FDotNetGraphQL/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":273436011,"owners_count":25105530,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-09-03T02:00:09.631Z","response_time":76,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["android","graphiql","graphql","graphql-api","graphql-backend","graphql-client","graphql-dotnet","graphql-server","ios","xamarin","xamarin-android","xamarin-forms","xamarin-graphql","xamarin-ios"],"created_at":"2024-09-24T13:53:05.201Z","updated_at":"2025-09-03T11:31:31.800Z","avatar_url":"https://github.com/TheCodeTraveler.png","language":"JavaScript","readme":"[![Build Solution](https://github.com/brminnick/DotNetGraphQL/actions/workflows/main.yml/badge.svg)](https://github.com/brminnick/DotNetGraphQL/actions/workflows/main.yml)\n\n# GraphQL in .NET\n\nIf you're new to GraphQL, check out these videos featured in the [Learn More](#learn-more) section, below\n- [Learning GraphQL Series](#learning-graphql-series)\n- [Xamarin + GraphQL](#xamarin--graphql)\n- On .NET Show, Channel 9\n  - [Introduction to GraphQL](https://docs.microsoft.com/shows/on-net/introduction-to-graphql?WT.mc_id=dotnetgraphql-codetraveler-bramin)\n  - [Creating a GraphQL Backend in C#](https://docs.microsoft.com/shows/on-net/creating-a-graphql-backend?WT.mc_id=dotnetgraphql-codetraveler-bramin)\n  - [Consuming GraphQL in C#](https://docs.microsoft.com/shows/on-net/consuming-graphql-in-c?WT.mc_id=dotnetgraphql-codetraveler-bramin)\n\nTo run this sample, follow the [Getting Started Instructions, below](#getting-started).\n\nThis app was featured at [GraphQL Summit 2019](https://codetraveler.io/GraphQLSummit-DotNet). \n\n## Video Recordings\n\n### Consuming GraphQL in C#\n\nThis session on GraphQL + C# was delivered at [GraphQL Summit 2019](https://codetraveler.io/GraphQLSummit-DotNet).  It demonstrates how to create a GraphQL Backend in C# and connect it to a client-side mobile app written in C# using Xamarin.\n\n[![Consuming GraphQL in C#](https://user-images.githubusercontent.com/13558917/68418928-17682700-014e-11ea-9aa6-749254cb50fe.png)](https://youtu.be/t1cQsenAmNo?t=18575)\n\n### Xamarin + GraphQL\n\nThe session on Xamarin + GraphQL was delivered at [Xamarin Developer Summit 2019](https://www.codetraveler.io/xamdevsummit-graphql/). It demonstrates how to create a Xamarin app in C# and connect it to an existing GraphQL Backend.\n\n[![Xamarin + GraphQL Video](https://user-images.githubusercontent.com/13558917/61256668-6a8f1780-a722-11e9-97ad-8188ec6eab8f.png)](https://channel9.msdn.com/Events/Xamarin/Xamarin-Developer-Summit-2019/XamarinGraphQL?WT.mc_id=mobile-0000-bramin)\n\n### Learning GraphQL Series\n\nThis special series teaches the basics of GraphQL, how to interact with an existing GraphQL endpoint, how to create your first GraphQL Server, and how to deploy your GraphQL Server to the cloud using Azure! \n\n[![Learning GraphQL Series](https://learn.microsoft.com/en-us/shows/graphql/media/1854de91-affc-4a02-8a0c-a0f112e18b62.png)](https://learn.microsoft.com/shows/graphql?WT.mc_id=mobile-0000-bramin)\n\n### On .NET Show\n\nIn this series, we cover how to create an end-to-end soolution, creating GraphQL Backend in C# and connecting to it from a C# client.\n\n- [Introduction to GraphQL](https://docs.microsoft.com/shows/on-net/introduction-to-graphql?WT.mc_id=dotnetgraphql-codetraveler-bramin)\n- [Creating a GraphQL Backend in C#](https://docs.microsoft.com/shows/on-net/creating-a-graphql-backend?WT.mc_id=dotnetgraphql-codetraveler-bramin)\n- [Consuming GraphQL in C#](https://docs.microsoft.com/shows/on-net/consuming-graphql-in-c?WT.mc_id=dotnetgraphql-codetraveler-bramin)\n\n[![On .NET Show](https://user-images.githubusercontent.com/13558917/76797023-df22c600-6789-11ea-8595-99f90df499a9.png)](https://docs.microsoft.com/shows/on-net/?WT.mc_id=mobile-0000-bramin)\n\n## App Architecture \n\n### GraphQL Backend\nThe GraphQL backend is created in C# using the [GraphQL NuGet Package](https://www.nuget.org/packages/GraphQL/).\n\n| GraphiQL |\n| -------- |\n| ![GraphiQL](https://user-images.githubusercontent.com/13558917/67914743-3a8f4700-fb4e-11e9-936d-320dfdd5d874.png) |\n\n### Mobile\nThe mobile app is created in C# using [Xamarin](https://docs.microsoft.com/xamarin/cross-platform/?WT.mc_id=mobile-0000-bramin) and the [GraphQL.Client NuGet Package](https://www.nuget.org/packages/GraphQL.Client/).\n\n| Xamarin.iOS | Xamarin.Android |\n| ----------- | --------------- |\n| \u003cimg src=\"https://user-images.githubusercontent.com/13558917/67914056-44b04600-fb4c-11e9-98ee-9d7ecb1bbc65.png\" height=\"600\"\u003e | \u003cimg src=\"https://user-images.githubusercontent.com/13558917/67915040-16803580-fb4f-11e9-80c2-ae91a25f4e7b.png\" height=\"550\"\u003e | \n\n## Getting Started\n\nThis app requires us to run the GraphQL API using the terminal while using Visual Studio to build/deploy the Xamarin.iOS and/or Xamarin.Android app.\n\n### 1. Run the GraphQL API\n\n1. Open the **terminal**\n2. In the **terminal**, clone this solution by entering the following command:\n    - **Note:** If you have already downloaded the solution, skip this step\n\n```bash\ngit clone https://github.com/brminnick/dotnetgraphql.git\n```\n\n3. In the **terminal**, navigate to the `DotNetGraphQL.API` folder by entering the following command:\n\n- On Windows\n\n```bash\ncd [path to DotNetGraphQL folder]\\Source\\DotNetGraphQL.API\\\n```\n- On macOS\n```bash\ncd [path to DotNetGraphQL folder]/Source/DotNetGraphQL.API/\n```\n\n4. In the **terminal**, run `DotNetGraphQL.API.csproj` by entering the following command:\n\n```bash\ndotnet run\n```\n\n5. Open a web browser\n6. In the web browser, navgiate to `http://localhost:4000`\n7. Confirm GraphiQL\n\n### 2. Run the Xamarin.Android App\n\n1. In **Visual Studio**, open `DotNetGraphQL/Source/DotNetGraphQL.sln`\n2. In **Visual Studio**, in the **Solution Explorer**, right-click on **DotNetGraphQL.Android**\n3. In the right-click menu, select **Set as Startup Project**\n4. In **Visual Studio**, build/deploy **DotNetGraphQL.Android** to an Android device\n6. Confirm the list of dogs from the GraphQL API appears\n\n# Learn More\n\nLearn more about Xamarin + GraphQL\n\n## Docs\n\n### Xamarin Resources\n\n- [Getting Started with Xamarin](https://docs.microsoft.com/xamarin/cross-platform/?WT.mc_id=mobile-0000-bramin)\n- [Getting Started with Xamarin.Forms](https://docs.microsoft.com/xamarin/xamarin-forms?WT.mc_id=mobile-0000-bramin)\n- [Install Visual Studio (PC) + Xamarin](https://docs.microsoft.com/xamarin/get-started/installation/windows?WT.mc_id=mobile-0000-bramin)\n- [Install Visual Studio for Mac + Xamarin](https://docs.microsoft.com/visualstudio/mac/installation?view=vsmac-2019\u0026WT.mc_id=mobile-0000-bramin)\n- [Microsoft Learn: Build Mobile Apps With Xamarin.Forms](https://docs.microsoft.com/learn/paths/build-mobile-apps-with-xamarin-forms?WT.mc_id=mobile-0000-bramin)\n- Xamarin Source Code\n    - [Xamarin.iOS](https://github.com/xamarin/xamarin-macios)\n    - [Xamarin.Android](https://github.com/xamarin/xamarin-android)\n    - [Xamarin.Forms](https://github.com/xamarin/Xamarin.Forms)\n    - [Mono](https://github.com/mono/mono)\n    \n### GraphQL Resources\n\n- [GraphQL.org](https://graphql.org/)\n- [Using Postman with GraphQL API](https://www.codetraveler.io/2019/01/12/how-to-use-postman-with-a-graphql-api/)\n- [GraphQL for .NET](https://github.com/graphql-dotnet/graphql-dotnet)\n- [GraphQL vs REST](https://philsturgeon.uk/api/2017/01/24/graphql-vs-rest-overview/)\n- [GraphQL vs OData](https://jeffhandley.com/2018-09-13/graphql-is-not-odata)\n- [Awesome GraphQL](https://github.com/chentsulin/awesome-graphql)\n","funding_links":["https://github.com/sponsors/brminnick"],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FTheCodeTraveler%2FDotNetGraphQL","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FTheCodeTraveler%2FDotNetGraphQL","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FTheCodeTraveler%2FDotNetGraphQL/lists"}