{"payload":{"pageCount":2,"repositories":[{"type":"Public","name":"HeadFirstDesignPattern","owner":"dotnet-labs","isFork":false,"description":"Head First Design Pattern: Completely Rewrite in C#","allTopics":["headfirst","factory","algorithm","composite","principles","strategy","factory-pattern","encapsulates","singleton-pattern","proxy-pattern","iterator-pattern"],"primaryLanguage":{"name":"C#","color":"#178600"},"pullRequestCount":0,"issueCount":0,"starsCount":46,"forksCount":17,"license":"ISC License","participation":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0],"lastUpdated":{"hasBeenPushedTo":true,"timestamp":"2024-03-10T02:11:52.515Z"}},{"type":"Public","name":"SslCertificateChecker","owner":"dotnet-labs","isFork":false,"description":"Check SSL Certificate Details Using .NET 6+","allTopics":["ssl","dotnet","dotnetcore","ssl-certificate","dotnet6"],"primaryLanguage":{"name":"C#","color":"#178600"},"pullRequestCount":0,"issueCount":0,"starsCount":3,"forksCount":0,"license":"MIT License","participation":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0],"lastUpdated":{"hasBeenPushedTo":true,"timestamp":"2024-03-06T16:34:28.440Z"}},{"type":"Public","name":"ServiceWorkerCronJob","owner":"dotnet-labs","isFork":false,"description":"Schedule Cron Jobs using HostedService in ASP.NET Core","allTopics":["cron","dotnet","aspnetcore","dotnetcore","cronjob","cronjob-scheduler","hostedservices"],"primaryLanguage":{"name":"C#","color":"#178600"},"pullRequestCount":0,"issueCount":2,"starsCount":255,"forksCount":71,"license":"MIT License","participation":null,"lastUpdated":{"hasBeenPushedTo":true,"timestamp":"2023-12-26T04:19:23.585Z"}},{"type":"Public","name":"JwtAuthDemo","owner":"dotnet-labs","isFork":false,"description":"ASP.NET Core + Angular JWT auth demo; integration tests; login, logout, refresh token, impersonation, authentication, authorization; run on Docker Compose.","allTopics":["api","docker","jwt","angular","authentication","login","docker-compose","aspnetcore","integration-testing","authorization","jwt-token","asp-net-core","logout","json-web-token","jwt-auth","refresh-token","impersonation"],"primaryLanguage":{"name":"C#","color":"#178600"},"pullRequestCount":0,"issueCount":0,"starsCount":385,"forksCount":143,"license":"MIT License","participation":null,"lastUpdated":{"hasBeenPushedTo":true,"timestamp":"2023-12-18T14:52:35.392Z"}},{"type":"Public","name":"HandwritingRecognition","owner":"dotnet-labs","isFork":false,"description":"Handwriting Recognition using ML.NET","allTopics":["machine-learning","dotnet","dotnetcore","machinelearning","handwritten-digit-recognition","handwriting-recognition"],"primaryLanguage":{"name":"C#","color":"#178600"},"pullRequestCount":0,"issueCount":0,"starsCount":16,"forksCount":11,"license":"MIT License","participation":null,"lastUpdated":{"hasBeenPushedTo":true,"timestamp":"2023-12-11T22:27:03.962Z"}},{"type":"Public","name":"Client-IP-SafeList","owner":"dotnet-labs","isFork":false,"description":"Client IP safelist for ASP.NET Core | .NET 5 | CIDR | Network | allowed list | IP restriction","allTopics":["api","security","dotnet","dotnetcore","dotnet-core","ngrok","cidr","remote-ip","client-ip","integration-tests","remoteip","safe-list","ip-restrictions","dotnet5","allowedlist"],"primaryLanguage":{"name":"C#","color":"#178600"},"pullRequestCount":0,"issueCount":1,"starsCount":13,"forksCount":6,"license":"MIT License","participation":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],"lastUpdated":{"hasBeenPushedTo":true,"timestamp":"2023-12-11T19:37:33.713Z"}},{"type":"Public","name":"SftpService","owner":"dotnet-labs","isFork":false,"description":"Working with SFTP in .NET Core","allTopics":["dotnet","dotnetcore","sftp","sftp-client"],"primaryLanguage":{"name":"C#","color":"#178600"},"pullRequestCount":0,"issueCount":0,"starsCount":49,"forksCount":21,"license":"MIT License","participation":null,"lastUpdated":{"hasBeenPushedTo":true,"timestamp":"2023-12-11T18:56:23.901Z"}},{"type":"Public","name":"Playwright-Net","owner":"dotnet-labs","isFork":false,"description":"Playwright Demos in .NET","allTopics":["testing","dotnet","playwright"],"primaryLanguage":{"name":"C#","color":"#178600"},"pullRequestCount":0,"issueCount":0,"starsCount":0,"forksCount":0,"license":"MIT License","participation":null,"lastUpdated":{"hasBeenPushedTo":true,"timestamp":"2023-12-11T16:13:25.831Z"}},{"type":"Public","name":"FireAndForget","owner":"dotnet-labs","isFork":false,"description":"A demo app for Web API fire-and-forget","allTopics":[],"primaryLanguage":{"name":"C#","color":"#178600"},"pullRequestCount":0,"issueCount":0,"starsCount":0,"forksCount":0,"license":null,"participation":null,"lastUpdated":{"hasBeenPushedTo":true,"timestamp":"2023-12-08T23:45:07.277Z"}},{"type":"Public","name":"ConcurrencyControl","owner":"dotnet-labs","isFork":false,"description":"Entity Framework Core Concurrency Control Demo","allTopics":["dotnetcore","concurrency","entity-framework","entityframework","entity-framework-core","entityframeworkcore","optimistic-concurrency"],"primaryLanguage":{"name":"C#","color":"#178600"},"pullRequestCount":0,"issueCount":0,"starsCount":3,"forksCount":1,"license":null,"participation":null,"lastUpdated":{"hasBeenPushedTo":true,"timestamp":"2023-12-08T23:16:15.312Z"}},{"type":"Public","name":"Minimal-URL-Shortener","owner":"dotnet-labs","isFork":false,"description":"An example web app based on the new feature in .NET 8 | minimal web API in ASP.NET 8","allTopics":["url","api","docker","dotnet","dotnetcore","url-shortener","webapp","shortener","dotnet-core","dotnet6","dotnet8"],"primaryLanguage":{"name":"C#","color":"#178600"},"pullRequestCount":0,"issueCount":0,"starsCount":136,"forksCount":19,"license":"MIT License","participation":null,"lastUpdated":{"hasBeenPushedTo":true,"timestamp":"2023-12-08T20:43:31.774Z"}},{"type":"Public","name":"NETCoreGlobalTools","owner":"dotnet-labs","isFork":false,"description":"Create a custom .NET Core CLI tool","allTopics":["docker","cli","commandline","command-line","dotnet","dotnetcore","command-line-tool","global-tool"],"primaryLanguage":{"name":"C#","color":"#178600"},"pullRequestCount":0,"issueCount":0,"starsCount":2,"forksCount":0,"license":null,"participation":null,"lastUpdated":{"hasBeenPushedTo":true,"timestamp":"2023-12-08T19:41:16.195Z"}},{"type":"Public","name":"ChainOfResponsibility","owner":"dotnet-labs","isFork":false,"description":"Design Pattern - Chain of Responsibility","allTopics":["design-pattern","dotnet","dotnetcore","design-patterns"],"primaryLanguage":{"name":"C#","color":"#178600"},"pullRequestCount":0,"issueCount":0,"starsCount":5,"forksCount":2,"license":null,"participation":null,"lastUpdated":{"hasBeenPushedTo":true,"timestamp":"2023-12-08T18:58:43.613Z"}},{"type":"Public","name":"UnitTestingWithILogger","owner":"dotnet-labs","isFork":false,"description":"Unit Testing with .NET Core ILogger<T>","allTopics":["dotnet","dotnetcore","logging","unittest","moq","dotnetcore3","dotnet5","dotnet6","testing","mock","unit-testing"],"primaryLanguage":{"name":"C#","color":"#178600"},"pullRequestCount":1,"issueCount":0,"starsCount":11,"forksCount":4,"license":"MIT License","participation":null,"lastUpdated":{"hasBeenPushedTo":true,"timestamp":"2023-12-08T18:05:56.235Z"}},{"type":"Public","name":"BuilderPattern-Moq-UnitTests","owner":"dotnet-labs","isFork":false,"description":"Builder Pattern vs Moq in Unit Tests","allTopics":["unit-testing","unit-test","builder-pattern","moq"],"primaryLanguage":{"name":"C#","color":"#178600"},"pullRequestCount":0,"issueCount":0,"starsCount":3,"forksCount":2,"license":"MIT License","participation":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],"lastUpdated":{"hasBeenPushedTo":true,"timestamp":"2023-12-08T18:02:47.782Z"}},{"type":"Public","name":"ControllerUnitTests","owner":"dotnet-labs","isFork":false,"description":"Unit testing Controllers with ClaimsPrincipal | User | Identity | Claims","allTopics":["unit-testing","identity","credentials","dotnet","controller","dotnetcore","unittest","user","claims","dotnet5"],"primaryLanguage":{"name":"C#","color":"#178600"},"pullRequestCount":0,"issueCount":0,"starsCount":1,"forksCount":0,"license":"MIT License","participation":null,"lastUpdated":{"hasBeenPushedTo":true,"timestamp":"2023-12-08T17:33:34.627Z"}},{"type":"Public","name":"HerokuContainer","owner":"dotnet-labs","isFork":false,"description":"Dockerized ASP.NET Core Web API app in Heroku","allTopics":["api","docker","authentication","dotnet","dotnetcore","file-upload","container","auth","authorization","webapp","api-security","dotnet5","swagger"],"primaryLanguage":{"name":"C#","color":"#178600"},"pullRequestCount":0,"issueCount":0,"starsCount":33,"forksCount":24,"license":"MIT License","participation":null,"lastUpdated":{"hasBeenPushedTo":true,"timestamp":"2023-12-08T00:09:27.453Z"}},{"type":"Public","name":"PatternMatchingDemos","owner":"dotnet-labs","isFork":false,"description":"Using Pattern Matching to Avoid Massive \"if\" Statements","allTopics":[],"primaryLanguage":{"name":"C#","color":"#178600"},"pullRequestCount":0,"issueCount":0,"starsCount":14,"forksCount":4,"license":"MIT License","participation":null,"lastUpdated":{"hasBeenPushedTo":true,"timestamp":"2023-12-07T23:17:30.905Z"}},{"type":"Public","name":"OptionsPattern","owner":"dotnet-labs","isFork":false,"description":"Options Pattern in .NET Core","allTopics":["options","dotnet","dotnetcore","dependency-injection","design-patterns","options-pattern"],"primaryLanguage":{"name":"C#","color":"#178600"},"pullRequestCount":0,"issueCount":0,"starsCount":9,"forksCount":3,"license":"MIT License","participation":null,"lastUpdated":{"hasBeenPushedTo":true,"timestamp":"2023-12-07T23:07:18.071Z"}},{"type":"Public","name":"WindowsServiceDemo","owner":"dotnet-labs","isFork":false,"description":"Windows Service in ASP.NET Core","allTopics":["dotnet","aspnetcore","dotnetcore","dependency-injection","netcore","filewatcher","windows-service","file-watcher","windowsservice"],"primaryLanguage":{"name":"C#","color":"#178600"},"pullRequestCount":0,"issueCount":0,"starsCount":24,"forksCount":15,"license":"MIT License","participation":null,"lastUpdated":{"hasBeenPushedTo":true,"timestamp":"2023-12-07T23:06:05.667Z"}},{"type":"Public","name":"LifetimeEventsDemo","owner":"dotnet-labs","isFork":false,"description":"A demo about the ASP.NET Core Lifetime Events","allTopics":["dotnet","dotnetcore","ihostapplicationlifetime"],"primaryLanguage":{"name":"HTML","color":"#e34c26"},"pullRequestCount":0,"issueCount":0,"starsCount":3,"forksCount":1,"license":null,"participation":null,"lastUpdated":{"hasBeenPushedTo":true,"timestamp":"2023-12-07T19:50:35.014Z"}},{"type":"Public","name":"KestrelHttps","owner":"dotnet-labs","isFork":false,"description":"Enforce HTTPS for an ASP.NET Web API hosted in Kestrel","allTopics":["docker","ssl","dotnet","docker-compose","https","dotnetcore","ssl-certificate","kestrel"],"primaryLanguage":{"name":"C#","color":"#178600"},"pullRequestCount":0,"issueCount":0,"starsCount":6,"forksCount":5,"license":"MIT License","participation":null,"lastUpdated":{"hasBeenPushedTo":true,"timestamp":"2023-12-07T19:38:08.919Z"}},{"type":"Public","name":"ApiAuthDemo","owner":"dotnet-labs","isFork":false,"description":"A simple demo with JWT Auth APIs and Basic Auth APIs, with Swagger support. Swagger Security; Swagger Auth","allTopics":["http","dotnet","dotnetcore","http-client","dotnet-core","jwt-token","basic-authentication","jwt-authentication","jwt-auth","jwt","swagger","swagger-ui"],"primaryLanguage":{"name":"C#","color":"#178600"},"pullRequestCount":0,"issueCount":0,"starsCount":50,"forksCount":25,"license":"MIT License","participation":null,"lastUpdated":{"hasBeenPushedTo":true,"timestamp":"2023-12-07T19:34:40.198Z"}},{"type":"Public","name":"CustomConfigurationProviderDemo","owner":"dotnet-labs","isFork":false,"description":"Create a Custom Configuration Provider in ASP.NET Core","allTopics":["dotnet","aspnetcore","dotnetcore","integration-testing","configuration","configuration-provider"],"primaryLanguage":{"name":"C#","color":"#178600"},"pullRequestCount":0,"issueCount":0,"starsCount":13,"forksCount":4,"license":null,"participation":null,"lastUpdated":{"hasBeenPushedTo":true,"timestamp":"2023-12-07T19:24:17.923Z"}},{"type":"Public","name":"CookieAuthWebApi","owner":"dotnet-labs","isFork":false,"description":"An example Web API app uses Cookie Authentication","allTopics":[],"primaryLanguage":{"name":"C#","color":"#178600"},"pullRequestCount":0,"issueCount":0,"starsCount":0,"forksCount":0,"license":null,"participation":null,"lastUpdated":{"hasBeenPushedTo":true,"timestamp":"2023-12-07T19:16:21.133Z"}},{"type":"Public","name":"ConfigurationBuilderDemos","owner":"dotnet-labs","isFork":false,"description":"ConfigurationBuilder Demos: APS.NET Core configuration","allTopics":[],"primaryLanguage":{"name":"C#","color":"#178600"},"pullRequestCount":0,"issueCount":0,"starsCount":1,"forksCount":0,"license":"MIT License","participation":null,"lastUpdated":{"hasBeenPushedTo":true,"timestamp":"2023-12-07T19:07:27.104Z"}},{"type":"Public","name":"ApiControllerIntegrationTests","owner":"dotnet-labs","isFork":false,"description":"Integration Tests for API Controllers using MSTest","allTopics":["dotnet","controller","dotnetcore","integration-testing","mstest","integration-tests","mstestv2"],"primaryLanguage":{"name":"C#","color":"#178600"},"pullRequestCount":0,"issueCount":0,"starsCount":17,"forksCount":9,"license":"MIT License","participation":null,"lastUpdated":{"hasBeenPushedTo":true,"timestamp":"2023-12-07T18:55:21.949Z"}},{"type":"Public","name":".github","owner":"dotnet-labs","isFork":false,"description":"","allTopics":[],"primaryLanguage":null,"pullRequestCount":0,"issueCount":0,"starsCount":0,"forksCount":0,"license":null,"participation":null,"lastUpdated":{"hasBeenPushedTo":true,"timestamp":"2022-08-08T15:54:16.761Z"}},{"type":"Public","name":"SerilogFilterDemo","owner":"dotnet-labs","isFork":false,"description":"Set up Serilog for .net applications","allTopics":["log","dotnet","dotnetcore","logger","logging","serilog-sink","serilog","dotnet-core","serilog-configuration"],"primaryLanguage":{"name":"C#","color":"#178600"},"pullRequestCount":0,"issueCount":0,"starsCount":6,"forksCount":4,"license":"MIT License","participation":null,"lastUpdated":{"hasBeenPushedTo":true,"timestamp":"2021-07-11T17:57:57.878Z"}},{"type":"Public","name":"StringTemplates","owner":"dotnet-labs","isFork":false,"description":"How to Create String Templates in CSharp","allTopics":["template","csharp","string"],"primaryLanguage":{"name":"C#","color":"#178600"},"pullRequestCount":0,"issueCount":0,"starsCount":2,"forksCount":3,"license":"MIT License","participation":null,"lastUpdated":{"hasBeenPushedTo":true,"timestamp":"2021-06-25T03:31:55.082Z"}}],"repositoryCount":41,"userInfo":null,"searchable":true,"definitions":[],"typeFilters":[{"id":"all","text":"All"},{"id":"public","text":"Public"},{"id":"source","text":"Sources"},{"id":"fork","text":"Forks"},{"id":"archived","text":"Archived"},{"id":"template","text":"Templates"}],"compactMode":false},"title":"Repositories"}