{"id":15196768,"url":"https://github.com/szubajak/game","last_synced_at":"2026-01-18T06:11:02.463Z","repository":{"id":43992749,"uuid":"239777123","full_name":"szubajak/game","owner":"szubajak","description":"Advanced Template for modern .Net \u0026 React projects. Solid fundamentals for new system or sub-system.","archived":false,"fork":false,"pushed_at":"2023-01-07T14:50:08.000Z","size":634,"stargazers_count":1,"open_issues_count":11,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-04-04T18:48:14.862Z","etag":null,"topics":["autofac","automapper","cqrs","docker","dotnet-core","entity-framework-core","fluentvalidation","languageext","materialui","mediatr","modern","netcore","openapi","railway-oriented-programming","react","rxjs","serilog","styledcomponents","template","typescript"],"latest_commit_sha":null,"homepage":"","language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/szubajak.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2020-02-11T14:07:44.000Z","updated_at":"2021-06-18T14:24:00.000Z","dependencies_parsed_at":"2023-02-07T11:16:44.247Z","dependency_job_id":null,"html_url":"https://github.com/szubajak/game","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/szubajak/game","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/szubajak%2Fgame","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/szubajak%2Fgame/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/szubajak%2Fgame/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/szubajak%2Fgame/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/szubajak","download_url":"https://codeload.github.com/szubajak/game/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/szubajak%2Fgame/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28531993,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-18T00:39:45.795Z","status":"online","status_checked_at":"2026-01-18T02:00:07.578Z","response_time":98,"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":["autofac","automapper","cqrs","docker","dotnet-core","entity-framework-core","fluentvalidation","languageext","materialui","mediatr","modern","netcore","openapi","railway-oriented-programming","react","rxjs","serilog","styledcomponents","template","typescript"],"created_at":"2024-09-28T00:02:57.442Z","updated_at":"2026-01-18T06:11:02.445Z","avatar_url":"https://github.com/szubajak.png","language":"C#","readme":"# Advanced Template for modern .NET \u0026 React system #\n\nFull working solution with Infrastructure as Code to build and run it on Azure\n\n### [production] ###\n* Api\n{ https://szubarga-game-api.azurewebsites.net/swagger/index.html }\n\n* Game UI\n{ https://szubarga-game-web.azurewebsites.net/ }\n\n### [back end] ###\n- .Net Core 3.1\n- Entity Framework Core\n- MediatR\n- OpenApi\n- Autofac\n- Serilog\n- AutoMapper\n- FluentValidation\n- xUnit\n- NSubstitute\n- FluentAssertions\n\n### [front end] ###\n- React\n- Parcel\n- TypeScript\n- Styled Components\n- MaterialUI\n- CSS Grid \u0026 Flexbox\n- RxJS\n- Axios\n\n### [general] ###\n* Infrastructure as Code (IaC):\n    * Docker - every app has Dockerfile with build \u0026 run configuration\n    * Azure Resource Manager template - resource group definition with all resources needed to host it in Azure using App Service\n    * Service Fabric project with environment definition\n* Clean Architecture - puts the business logic and application model at the center of the application\n* Clean Code - powered by Stylecop, FxCopAnalyzers, ESLint and Prettier\n* Monolithic repository - like Google:)\\\n{ https://research.google/pubs/pub45424/ }\n* CQRS - in your application can maximize its performance, scalability, and security\\\n{ https://docs.microsoft.com/en-us/azure/architecture/patterns/cqrs }\n* Railway Oriented Programming - functional programming in C# powered by LanguageExt\\\n{ https://github.com/louthy/language-ext }\\\n{ https://zohaib.me/railway-programming-pattern-in-elixir/ }\n\n### [in development] ###\n- Better UX during GAME;)\n- Docker Compose\n- Jens \u0026 Enzyme\n- Integration with Azure Functions and external service\n- Complete CRUD example\n- Additional apps - Admin Panel API and GUI\n- Documentation - How to?\n\nWhy Clean Architecture?\n\nhttps://docs.microsoft.com/en-us/dotnet/architecture/modern-web-apps-azure/common-web-application-architectures#clean-architecture\n\nhttps://www.youtube.com/watch?v=2dKZ-dWaCiU\n\n\nWhy functional programming??\n\nProgramming languages are becoming more functional every year.\nFeatures such as generic programming, type inference, list comprehensions, functions as values, and anonymous types, which have traditionally existed as staples of functional programming, have quickly become mainstream features of Java, C#, Delphi and even Fortran.\nWe can expect next-generation programming languages to continue this trend in the future, providing a hybrid of both functional and imperative approaches that meet the evolving needs of modern programming.\n\nBenefits of functional programming:\n - pure functions are easier to reason about\n - testing is easier\n - debugging is easier\n - programs are more bulletproof\n - programs are written at a higher level, and are therefore easier to comprehend\n - function signatures are more meaningful\n - parallel/concurrent programming is easier\n\n“Functional programming is often regarded as the best-kept secret of scientific modelers, mathematicians, artificial intelligence researchers, financial institutions, graphic designers, CPU designers, compiler programmers, and telecommunications engineers.”\n\nThe Wikipedia F# page\n\n\u003ca href='https://ko-fi.com/N4N11FCB5' target='_blank'\u003e\u003cimg height='36' style='border:0px;height:36px;' src='https://az743702.vo.msecnd.net/cdn/kofi3.png?v=2' border='0' alt='Buy Me a Coffee at ko-fi.com' /\u003e\u003c/a\u003e\n","funding_links":["https://ko-fi.com/N4N11FCB5'"],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fszubajak%2Fgame","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fszubajak%2Fgame","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fszubajak%2Fgame/lists"}