diff --git a/docs/actor-model-architecture/actor-model-architecture.md b/docs/actor-model-architecture/actor-model-architecture.md index 3ecdc88b0..69874e510 100644 --- a/docs/actor-model-architecture/actor-model-architecture.md +++ b/docs/actor-model-architecture/actor-model-architecture.md @@ -4,6 +4,8 @@ - [How virtual actors will help you scale your applications the easy way](https://www.etteplan.com/stories/how-virtual-actors-will-help-you-scale-your-applications-easy-way) - [Comparing .NET virtual actor frameworks](https://www.etteplan.com/stories/comparing-net-virtual-actor-frameworks) - [Benchmark: .NET virtual actor frameworks](https://www.etteplan.com/stories/benchmark-net-virtual-actor-frameworks) +- [How to Start Learning Actor-Based Programming](https://petabridge.com/blog/begin-learning-actor-based-design/) + ## πŸ“¦ Libraries - [dotnet/orleans](https://github.com/dotnet/orleans) - Cloud Native application framework for .NET - [asynkron/protoactor-dotnet](https://github.com/asynkron/protoactor-dotnet) - Proto Actor - Ultra fast distributed actors for Go, C# and Java/Kotlin diff --git a/docs/actor-model-architecture/akka-net.md b/docs/actor-model-architecture/akka-net.md index b3a4105c5..85f7a6e97 100644 --- a/docs/actor-model-architecture/akka-net.md +++ b/docs/actor-model-architecture/akka-net.md @@ -12,6 +12,7 @@ - [Lesson 4 - Advanced Akka.Cluster Techniques DistributedPubSub, Sharding, and ClusterClient](https://petabridge.com/cluster/lesson4) - [Lesson 5 - Deploying Akka.Cluster in Kubernetes](https://petabridge.com/cluster/lesson5) - [Lesson 6 - Monitoring Akka.NET with Phobos](https://petabridge.com/cluster/lesson6) +- [How to Start Learning Actor-Based Programming](https://petabridge.com/blog/begin-learning-actor-based-design/) ## Videos - [Webinar: Akka.NET Application Management Best Practices](https://www.youtube.com/watch?v=X1Tg4R2JFMQ) diff --git a/docs/ai/ai.md b/docs/ai/ai.md index c234c9a96..b0fe9e21b 100644 --- a/docs/ai/ai.md +++ b/docs/ai/ai.md @@ -36,8 +36,8 @@ - [Getting Started With Hugging Face in 15 Minutes | Transformers, Pipeline, Tokenizer, Models](https://www.youtube.com/watch?v=QEaBAZQCtwE) ## Courses +- [Huggingface Courses](https://huggingface.co/learn) - [ChatGPT Prompt Engineering for Developers](https://www.deeplearning.ai/short-courses/chatgpt-prompt-engineering-for-developers/) -- [Career Essentials in Generative AI by Microsoft and LinkedIn](https://www.linkedin.com/learning/paths/career-essentials-in-generative-ai-by-microsoft-and-linkedin) ## Libraries - [nomic-ai/gpt4all](https://github.com/nomic-ai/gpt4all) - gpt4all: a chatbot trained on a massive collection of clean assistant data including code, stories and dialogue @@ -95,6 +95,7 @@ DeepSeek-Coder-V2: Breaking the Barrier of Closed-Source Models in Code Intellig - [yamadashy/repopack](https://github.com/yamadashy/repopack) - Repopack is a powerful tool that packs your entire repository into a single, AI-friendly file. Perfect for when you need to feed your codebase to Large Language Models (LLMs) or other AI tools like Claude, ChatGPT, and Gemini. - [BerriAI/litellm](https://github.com/BerriAI/litellm) - Python SDK, Proxy Server (LLM Gateway) to call 100+ LLM APIs in OpenAI format - [Bedrock, Azure, OpenAI, VertexAI, Cohere, Anthropic, Sagemaker, HuggingFace, Replicate, Groq] - [microsoft/BitNet](https://github.com/microsoft/BitNet) - Official inference framework for 1-bit LLMs +- [microsoft/markitdown](https://github.com/microsoft/markitdown) - Python tool for converting files and office documents to Markdown. ## Tools - [zed-industries/zed](https://github.com/zed-industries/zed) - Code at the speed of thought – Zed is a high-performance, multiplayer code editor from the creators of Atom and Tree-sitter. @@ -120,6 +121,8 @@ DeepSeek-Coder-V2: Breaking the Barrier of Closed-Source Models in Code Intellig ## Samples - [Azure-Samples/openai-dotnet-samples](https://github.com/Azure-Samples/openai-dotnet-samples) - [dotnet/ai-samples](https://github.com/dotnet/ai-samples) +- [microsoft/generative-ai-for-beginners](https://github.com/microsoft/generative-ai-for-beginners/) - 21 Lessons, Get Started Building with Generative AI πŸ”— +- [microsoft/ai-agents-for-beginners](https://github.com/microsoft/ai-agents-for-beginners) - 10 Lessons to Get Started Building AI Agents ## Books - [Building LLMs for Production: Enhancing LLM Abilities and Reliability with Prompting, Fine-Tuning, and RAG](https://www.amazon.com/Building-LLMs-Production-Reliability-Fine-Tuning/dp/B0D4FFPFW8) diff --git a/docs/ai/langchain.md b/docs/ai/langchain.md index 3a2d96d10..5e9e37e05 100644 --- a/docs/ai/langchain.md +++ b/docs/ai/langchain.md @@ -1,5 +1,8 @@ # LangChain +## Resources +- [LangChain Academy](https://academy.langchain.com/collections) + ## Articles - [Build a Retrieval Augmented Generation (RAG) App](https://js.langchain.com/v0.2/docs/tutorials/rag/) diff --git a/docs/ai/models/models.md b/docs/ai/models/models.md index 0c11f2fe1..8a690b1c6 100644 --- a/docs/ai/models/models.md +++ b/docs/ai/models/models.md @@ -1,6 +1,12 @@ # Models +## Articles +- [Qwen2.5: A Party of Foundation Models!](https://qwenlm.github.io/blog/qwen2.5/) + ## Libraries - [deepseek-ai/DeepSeek-V2](https://github.com/deepseek-ai/DeepSeek-V2) - DeepSeek-V2: A Strong, Economical, and Efficient Mixture-of-Experts Language Model - [QwenLM/Qwen2.5-Coder](https://github.com/QwenLM/Qwen2.5-Coder) - Qwen2.5-Coder is the code version of Qwen2.5, the large language model series developed by Qwen team, Alibaba Cloud. -- [QwenLM/Qwen2.5](https://github.com/QwenLM/Qwen2.5) - Qwen2.5 is the large language model series developed by Qwen team, Alibaba Cloud. \ No newline at end of file +- [QwenLM/Qwen2.5](https://github.com/QwenLM/Qwen2.5) - Qwen2.5 is the large language model series developed by Qwen team, Alibaba Cloud. +- [deepseek-ai/DeepSeek-R1](https://github.com/deepseek-ai/DeepSeek-R1) +- [deepseek-ai/DeepSeek-V3](https://github.com/deepseek-ai/DeepSeek-V3) +- [deepseek-ai/Janus](https://github.com/deepseek-ai/Janus) - Janus-Series: Unified Multimodal Understanding and Generation Models \ No newline at end of file diff --git a/docs/cloud-design-patterns/bff.md b/docs/cloud-design-patterns/bff.md index 6d4f86ff2..4e90b0ebc 100644 --- a/docs/cloud-design-patterns/bff.md +++ b/docs/cloud-design-patterns/bff.md @@ -13,7 +13,21 @@ - [Scaffold a Duende BFF with React and Vite into Any .NET 6 Project](https://wrapt.dev/blog/scaffolding-duende-bff-with-react) - [Using Duende BFF with React](https://wrapt.dev/blog/using-duende-bff-with-react) - [Creating a Standalone Duende BFF for any SPA](https://wrapt.dev/blog/standalone-duende-bff-for-any-spa) +- [Let's make our SPA more secure by setting up a .NET BFF with Duende and Auth0](https://timdeschryver.dev/blog/lets-make-our-spa-more-secure-by-setting-up-a-net-bff-with-duende-and-auth0) +- [OAuth 2.0 Security Best Current Practice](https://datatracker.ietf.org/doc/html/draft-ietf-oauth-security-topics) +- [Microsoft Design Patterns: Backends for Frontends pattern](https://learn.microsoft.com/en-us/azure/architecture/patterns/backends-for-frontends?WT.mc_id=DT-MVP-5004452) +- [Duende docs: BFF Security Framework](https://docs.duendesoftware.com/identityserver/v6/bff/overview/) +- [Comparing the backend for frontend (BFF) security architecture with an SPA UI using a public API by Damien Bowden (damienbod)](https://damienbod.com/2022/01/10/comparing-the-backend-for-frontend-bff-security-architecture-with-an-spa-ui-using-a-public-api/) +- [From the Implicit flow to PKCE: A look at OAuth 2.0 in SPAs by Dr. Philippe De Ryck](https://pragmaticwebsecurity.com/articles/oauthoidc/from-implicit-to-pkce.html) +- [Auth0 Docs: Authorization Code Flow with Proof Key for Code Exchange (PKCE)](https://auth0.com/docs/get-started/authentication-and-authorization-flow/authorization-code-flow-with-proof-key-for-code-exchange-pkce) +- [Let's make our SPA more secure by consuming a Duende BFF with Angular](https://timdeschryver.dev/blog/lets-make-our-spa-more-secure-by-consuming-a-duende-bff-with-angular) +- [A Deep Dive into the Back-End for Front-End Pattern](https://www.codemag.com/Article/2203081/A-Deep-Dive-into-the-Back-End-for-Front-End-Pattern) +- [The Backend for Frontend Pattern](https://auth0.com/blog/the-backend-for-frontend-pattern-bff/) +- [Implement a secure web application using nx Standalone Angular and an ASP.NET Core server](https://damienbod.com/2023/09/11/implement-a-secure-web-application-using-nx-standalone-angular-and-an-asp-net-core-server/) +- [BFF secured ASP.NET Core application using downstream API and an OAuth client credentials JWT](https://damienbod.com/2024/04/08/bff-secured-asp-net-core-application-using-downstream-api-and-an-oauth-client-credentials-jwt/) + ## πŸ“Ί Videos +- [JetBrains webinar with Dominick Baier: Securing SPAs and Blazor Applications using the BFF (Backend for Frontend) Pattern](https://www.youtube.com/watch?v=DdNssiaIY_Q) - [Backends For Frontends Pattern - Cloud Design Patterns - BFF Pattern](https://www.youtube.com/watch?v=wgD9t3R3x-w) - [The Backend For Frontend Pattern](https://www.youtube.com/watch?v=zazeGmFmUxg) - [Designing efficient web app endpoint APIs using the Backends for Frontends (BFF) pattern](https://www.youtube.com/watch?v=9Q6In-tbjUU) @@ -27,8 +41,10 @@ - [ServiceComposer/ServiceComposer.AspNetCore](https://github.com/ServiceComposer/ServiceComposer.AspNetCore) - ServiceComposer, a ViewModel Composition API Gateway ## πŸš€ Samples -- [damikun/trouble-training](https://github.com/damikun/trouble-training) - FullStack app workshop with distributed tracing and monitoring. This shows the configuration from React frontend to .NetCore backend. +- [manfredsteyer/yarp-auth-proxy](https://github.com/manfredsteyer/yarp-auth-proxy) - [thangchung/bff-auth](https://github.com/thangchung/bff-auth) - The demonstration of modern authentication using BFF pattern - [davidfowl/TodoApi](https://github.com/davidfowl/TodoApi) - ASP.NET Core API with JWT authentication and authorization -- [pdevito3/bff-example-craftsman-v0_14](https://github.com/pdevito3/bff-example-craftsman-v0_14) -- [pdevito3/StandaloneBffExample](https://github.com/pdevito3/StandaloneBffExample) - This is the example report for the standalone Duende BFF for my blog post \ No newline at end of file +- [pdevito3/StandaloneBffExample](https://github.com/pdevito3/StandaloneBffExample) - This is the example report for the standalone Duende BFF for my blog post +- [thomasdarimont/keycloak-project-example/bff-springboot3](https://github.com/thomasdarimont/keycloak-project-example/tree/main/apps/bff-springboot3) +- [damienbod/bff-openiddict-aspnetcore-angular](https://github.com/damienbod/bff-openiddict-aspnetcore-angular) +- [damienbod/bff-aspnetcore-angular](https://github.com/damienbod/bff-aspnetcore-angular) - Backend for frontend security using Angular Standalone (nx) and ASP.NET Core backend \ No newline at end of file diff --git a/docs/devops/ci-cd/github-actions.md b/docs/devops/ci-cd/github-actions.md index fa13f4067..c6a09d04b 100644 --- a/docs/devops/ci-cd/github-actions.md +++ b/docs/devops/ci-cd/github-actions.md @@ -91,6 +91,8 @@ - [Adding a `job summary`](https://docs.github.com/en/actions/using-workflows/workflow-commands-for-github-actions#adding-a-job-summary) - [Running unit tests in GitHub Actions](https://octopus.com/blog/githubactions-running-unit-tests) - [Publishing a NuGet package using GitHub and GitHub Actions](https://www.meziantou.net/publishing-a-nuget-package-following-best-practices-using-github.htm) +- [Run GitHub Actions locally with DinD and nektos/act](https://gauravgahlot.in/run-github-actions-locally-docker-nektos-act/) + ## πŸ“Ί Videos - [Master GitHub Actions Tutorial - Playlist Cameron McKenzie](https://www.youtube.com/playlist?list=PL_RrEj88onS-um2xFy01sY46ik_2yt_EQ) - [Building Docker containers with GitHub Actions](https://www.youtube.com/watch?v=09lZdSpeHAk) diff --git a/docs/devops/kubernetes/other-tools/skaffold.md b/docs/devops/kubernetes/other-tools/skaffold.md index 92a9d58e6..2f82c4a22 100644 --- a/docs/devops/kubernetes/other-tools/skaffold.md +++ b/docs/devops/kubernetes/other-tools/skaffold.md @@ -5,8 +5,13 @@ - [Skaffold a new way for deploying applications to k8s clusters](https://medium.com/@michamarszaek/skaffold-a-new-way-for-deploying-applications-to-k8s-clusters-f8ed4f2539a9) - [How to Simplify Your Local Kubernetes Development With Skaffold](https://dev.to/otomato_io/local-kubernetes-development-with-skaffold-i0k) - [Getting Started With Skaffold](https://dev.to/thenjdevopsguy/getting-started-with-skaffold-5120) +- [Local Java Development on Kubernetes](https://piotrminkowski.com/2020/02/14/local-java-development-on-kubernetes/) +- [Development on Kubernetes with Telepresence and Skaffold](https://piotrminkowski.com/2021/12/21/development-on-kubernetes-with-telepresence-and-skaffold/) ## Videos - [How to setup local development environment with Kubernetes and Skaffold](https://www.youtube.com/watch?v=9A3paYRHvDQ) - [Getting Started with Skaffold](https://www.youtube.com/watch?v=ZUI-I5kiQRM) -- [Skaffold | Kubernetes Development made easy | Tech Primers](https://www.youtube.com/watch?v=jnxj4Ma3zpg) \ No newline at end of file +- [Skaffold | Kubernetes Development made easy | Tech Primers](https://www.youtube.com/watch?v=jnxj4Ma3zpg) + +## Samples +- [piomin/sample-istio-services](https://github.com/piomin/sample-istio-services) \ No newline at end of file diff --git a/docs/devops/kubernetes/other-tools/telepresence.md b/docs/devops/kubernetes/other-tools/telepresence.md index 595891196..edbfa9fcc 100644 --- a/docs/devops/kubernetes/other-tools/telepresence.md +++ b/docs/devops/kubernetes/other-tools/telepresence.md @@ -11,11 +11,14 @@ - [An alternative to Telepresence 2: Gefyra](https://unikube.io/blog/alternative-to-telepresence-2-gefyra/) - [Comparing Local Kubernetes Development Tools: Telepresence, Gefyra, and mirrord](https://kubernetes.io/blog/2023/09/12/local-k8s-development-tools/) - [mirrord as an alternative to Telepresence](https://metalbear.co/blog/mirrord-as-an-alternative-to-telepresence/) - +- [Development on Kubernetes with Telepresence and Skaffold](https://piotrminkowski.com/2021/12/21/development-on-kubernetes-with-telepresence-and-skaffold/) ## Videos - [Local Kubernetes Development with Telepresence](https://www.youtube.com/watch?v=k0C2M8_8olg) - [Building Microservice Systems Without Cooking Your Laptop](https://www.youtube.com/watch?v=7bMWqlXF6C0) - [Teleporting And Intercepting Microservices With CodeZero](https://www.youtube.com/watch?v=bt5lQqRJxlE) - [How We Use Telepresence 2 at Ambassador Labs](https://www.youtube.com/watch?v=nN1yF6RCaW4) -- [Intro: Telepresence: Fast Local-to-Remote Development for Kubernetes - Daniel Bryant, Datawire](https://www.youtube.com/watch?v=9eyHSjbZwR8) \ No newline at end of file +- [Intro: Telepresence: Fast Local-to-Remote Development for Kubernetes - Daniel Bryant, Datawire](https://www.youtube.com/watch?v=9eyHSjbZwR8) + +## Samples +- [piomin/sample-istio-services](https://github.com/piomin/sample-istio-services) \ No newline at end of file diff --git a/docs/distributed-transactions.md b/docs/distributed-transactions.md index 4a223b2f3..d99ba607c 100644 --- a/docs/distributed-transactions.md +++ b/docs/distributed-transactions.md @@ -28,6 +28,9 @@ - [Combining the To-Do List and the Passage Of Time patterns for resilient business workflows](https://event-driven.io/en/to_do_list_and_passage_of_time_patterns_combined/) - [Low Ceremony Sagas with Wolverine](https://jeremydmiller.com/2024/08/20/low-ceremony-sagas-with-wolverine/) - [Saga Orchestration for Microservices Using the Outbox Pattern](https://www.infoq.com/articles/saga-orchestration-outbox/) ⭐ +- [Distributed Transactions in Microservices with Kafka Streams and Spring Boot](https://piotrminkowski.com/2022/01/24/distributed-transactions-in-microservices-with-kafka-streams-and-spring-boot/) +- [Deep Dive into Saga Transactions with Kafka Streams and Spring Boot](https://piotrminkowski.com/2022/02/07/deep-dive-into-saga-transactions-with-kafka-streams-and-spring-boot/) + ## πŸ“Ί Videos - [Life Beyond Distributed Transactions: An Apostate's Implementation - Jimmy Bogard](https://www.youtube.com/watch?v=AUrKofVRHV4) @@ -44,4 +47,5 @@ ## πŸš€ Samples - [markgossa/Reference-Event-Driven-Architecture](https://github.com/markgossa/Reference-Event-Driven-Architecture) -- [oskardudycz/EventSourcing.NetCore/Sample/HotelManagement](https://github.com/oskardudycz/EventSourcing.NetCore/tree/main/Sample/HotelManagement) ⭐ \ No newline at end of file +- [oskardudycz/EventSourcing.NetCore/Sample/HotelManagement](https://github.com/oskardudycz/EventSourcing.NetCore/tree/main/Sample/HotelManagement) ⭐ +- [piomin/sample-spring-kafka-microservices](https://github.com/piomin/sample-spring-kafka-microservices) - Example microservices showing how to use Kafka and Kafka Streams with Spring Boot on the example of distributed transactions implementations with the SAGA pattern \ No newline at end of file diff --git a/docs/domain-driven-design/domain-driven-design.md b/docs/domain-driven-design/domain-driven-design.md index 500ef4d15..e7d69bf8e 100644 --- a/docs/domain-driven-design/domain-driven-design.md +++ b/docs/domain-driven-design/domain-driven-design.md @@ -14,6 +14,7 @@ - [Sairyss/domain-driven-hexagon](https://github.com/Sairyss/domain-driven-hexagon) - [ddd-crew/context-mapping](https://github.com/ddd-crew/context-mapping) - [ddd-crew/welcome-to-ddd](https://github.com/ddd-crew/welcome-to-ddd) + ## πŸ“• Articles - [Design a DDD-oriented microservice](https://docs.microsoft.com/en-us/dotnet/architecture/microservices/microservice-ddd-cqrs-patterns/ddd-oriented-microservice) - [PPPDDD.1 – What is Domain Driven Design?](https://herbertograca.com/2016/08/15/pppddd-1-what-is-domain-driven-design/) @@ -158,10 +159,6 @@ - [falberthen/EcommerceDDD](https://github.com/falberthen/EcommerceDDD) - A lightweight ASP.NET Core SPA (Angular) showcase of Domain-Driven Design, CQRS, and Event Sourcing. - [DevBetterCom/DevBetterWeb](https://github.com/DevBetterCom/DevBetterWeb) - A simple web application for devBetter - [baratgabor/MyWarehouse](https://github.com/baratgabor/MyWarehouse) - Clean Architecture and Domain Driven Design sample project based on C# 9 / .NET 5 / ASP.NET Core 5 / EF Core 5 & Angular 11 with Bootstrap. -- [oskardudycz/EventSourcing.NetCore/ECommerce](https://github.com/oskardudycz/EventSourcing.NetCore/tree/main/Sample/ECommerce) -- [oskardudycz/EventSourcing.NetCore/Sample/Tickets](https://github.com/oskardudycz/EventSourcing.NetCore/tree/main/Sample/Tickets) -- [oskardudycz/EventSourcing.NetCore/Sample/MeetingsManagement](https://github.com/oskardudycz/EventSourcing.NetCore/tree/main/Sample/MeetingsManagement) -- [oskardudycz/EventSourcing.NetCore/Sample/Warehouse](https://github.com/oskardudycz/EventSourcing.NetCore/tree/main/Sample/Warehouse) - [ThreeDotsLabs/wild-workouts-go-ddd-example](https://github.com/ThreeDotsLabs/wild-workouts-go-ddd-example?utm_source=about-wild-workouts) - Go DDD example application. Complete project to show how to apply DDD, Clean Architecture, and CQRS by practical refactoring of a Go project. - [peholmst/DDDExample](https://github.com/peholmst/DDDExample) - Example application for my TechLunch @ Vaadin about DDD and the Hexagonal Architecture - [EnLabSoftware/HRManagement](https://github.com/EnLabSoftware/HRManagement) @@ -215,7 +212,13 @@ - [evolutionary-architecture/evolutionary-architecture-by-example](https://github.com/evolutionary-architecture/evolutionary-architecture-by-example) ⭐ - Navigate the complex landscape of .NET software architecture with our step-by-step, story-like guide. Unpack the interplay between modular monoliths, microservices, domain-driven design, and various architectural patterns. - [kamilbaczek/Estimation-Tool](https://github.com/kamilbaczek/Estimation-Tool) ⭐ - Modular monolith architecture example in .NET. Estimation Tool is tool to optimize estimation process in IT company. - [baranacikgoz/modular-monolith-ddd-vsa-webapi](https://github.com/baranacikgoz/modular-monolith-ddd-vsa-webapi) - A .NET 8 Webapi boilerplate with Modular Monolith approach, Domain-Driven Design and Vertical Slices architecture along with Clean Architecture principles per feature -- [oskardudycz/kandddinsky2024](https://github.com/oskardudycz/kandddinsky2024) +- [oskardudycz/EventSourcing.NetCore/ECommerce](https://github.com/oskardudycz/EventSourcing.NetCore/tree/main/Sample/ECommerce) +- [oskardudycz/EventSourcing.NetCore/Sample/Tickets](https://github.com/oskardudycz/EventSourcing.NetCore/tree/main/Sample/Tickets) +- [oskardudycz/EventSourcing.NetCore/Sample/MeetingsManagement](https://github.com/oskardudycz/EventSourcing.NetCore/tree/main/Sample/MeetingsManagement) +- [oskardudycz/EventSourcing.NetCore/Sample/Warehouse](https://github.com/oskardudycz/EventSourcing.NetCore/tree/main/Sample/Warehouse) +- [EventSourcing.NetCore/tree/main/Sample/Warehouse.MinimalAPI](https://github.com/oskardudycz/EventSourcing.NetCore/tree/main/Sample/Warehouse.MinimalAPI) ⭐ +- [oskardudycz/kandddinsky2024](https://github.com/oskardudycz/kandddinsky2024) ⭐ +- [oskardudycz/slim-down-your-aggregate/tree/main/csharp/Original](https://github.com/oskardudycz/slim-down-your-aggregate) ⭐ ## πŸ“¦ Libraries - [Eventuous/eventuous](https://github.com/Eventuous/eventuous) - Minimalistic Event Sourcing library for .NET diff --git a/docs/event-sourcing.md b/docs/event-sourcing.md index 4ce4173ea..e5adea805 100644 --- a/docs/event-sourcing.md +++ b/docs/event-sourcing.md @@ -71,7 +71,7 @@ - [Anti-patterns in event modelling - State Obsession](https://event-driven.io/en/state-obsession/) - [How to build event-driven projections with Entity Framework](https://event-driven.io/en/how_to_do_events_projections_with_entity_framework/) - [Let's talk about positions in event stores](https://event-driven.io/en/lets_talk_about_positions_in_event_stores/) -- [Simple patterns for events schema versioning](https://event-driven.io/en/simple_events_versioning_patterns/) +- [Simple patterns for events schema versioning](https://event-driven.io/en/simple_events_versioning_patterns/) ⭐ - [How to (not) do the events versioning?](https://event-driven.io/en/how_to_do_event_versioning/) - [How to do snapshots in Marten?](https://event-driven.io/en/how_to_do_snapshots_in_Marten/) - [Keep your streams short! Temporal modeling for fast reads and optimal data retention](https://www.eventstore.com/blog/keep-your-streams-short-temporal-modelling-for-fast-reads-and-optimal-data-retention) @@ -237,10 +237,8 @@ ## πŸš€ Samples - [VenomAV/EventSourcingCQRS](https://github.com/VenomAV/EventSourcingCQRS) -- [oskardudycz/EventSourcing.NetCore/Sample/EventStoreDB/Simple](https://github.com/oskardudycz/EventSourcing.NetCore/tree/main/Sample/EventStoreDB/Simple) - [oskardudycz/EventSourcing.NetCore](https://github.com/oskardudycz/EventSourcing.NetCore) - Examples and Tutorials of Event Sourcing in .NET - [oskardudycz/EventSourcing.NodeJS](https://github.com/oskardudycz/EventSourcing.NodeJS) - Examples and Tutorials of Event Sourcing in NodeJS -- [oskardudycz/EventSourcing.NetCore/BuildYourOwnEventStore](https://github.com/oskardudycz/EventSourcing.NetCore/tree/3c9782d760df75ee9d75f63955b82d76aba0bd2b/Workshops/BuildYourOwnEventStore) - [mizrael/SuperSafeBank](https://github.com/mizrael/SuperSafeBank) - Sample Event Sourcing implementation with .NET Core - [Hands-On-Domain-Driven-Design-with-.NET-Core](https://github.com/PacktPublishing/Hands-On-Domain-Driven-Design-with-.NET-Core) - [Aggregates.NET](https://github.com/charlessolar/Aggregates.NET) - .NET event sourced domain driven design model via NServiceBus and GetEventStore @@ -278,4 +276,8 @@ - [klimisa/aggregate-implementation-patterns-csharp](https://github.com/klimisa/aggregate-implementation-patterns-csharp) - Aggregate implementations workshop port to C# - [bitloops/ddd-hexagonal-cqrs-es-eda](https://github.com/bitloops/ddd-hexagonal-cqrs-es-eda) - Complete working example of using Domain Driven Design (DDD), Hexagonal Architecture, CQRS, Event Sourcing (ES), Event Driven Architecture (EDA), Behaviour Driven Development (BDD) using TypeScript and NestJS - [matt-bentley/AspNetCore.EventSourcing](https://github.com/matt-bentley/AspNetCore.EventSourcing) - Simple Event Sourcing implementation in ASP.NET with Entity Framework Core and MediatR -- [JasperFx/CritterStackSamples](https://github.com/JasperFx/CritterStackSamples) - Samples using the "Critter Stack" Tools \ No newline at end of file +- [JasperFx/CritterStackSamples](https://github.com/JasperFx/CritterStackSamples) - Samples using the "Critter Stack" Tools +- [oskardudycz/EventSourcing.JVM/tree/main/samples/event-sourcing-esdb-aggregates](https://github.com/oskardudycz/EventSourcing.JVM/tree/main/samples/event-sourcing-esdb-aggregates) ⭐ +- [oskardudycz/EventSourcing.NetCore/tree/main/Sample/EventStoreDB/ECommerce](https://github.com/oskardudycz/EventSourcing.NetCore/tree/main/Sample/EventStoreDB/ECommerce) ⭐ +- [oskardudycz/EventSourcing.JVM/tree/main/samples/event-sourcing-esdb-simple](https://github.com/oskardudycz/EventSourcing.JVM/tree/main/samples/event-sourcing-esdb-simple) ⭐ +- [oskardudycz/EventSourcing.NetCore/tree/main/Sample/EventStoreDB/Simple](https://github.com/oskardudycz/EventSourcing.NetCore/tree/main/Sample/EventStoreDB/Simple) ⭐ \ No newline at end of file diff --git a/docs/microservices/microservices.md b/docs/microservices/microservices.md index 1584d6e83..cd7db24ed 100644 --- a/docs/microservices/microservices.md +++ b/docs/microservices/microservices.md @@ -271,6 +271,8 @@ - [Azure-Samples/eShopOnAzure](https://github.com/Azure-Samples/eShopOnAzure) - A variant of https://github.com/dotnet/eShop that uses Azure - [dotnet/eShop](https://github.com/dotnet/eShop) - A reference .NET application implementing an eCommerce site - [thangchung/practical-dotnet-aspire](https://github.com/thangchung/practical-dotnet-aspire) - The practical .NET Aspire builds on the coffeeshop app business domain +- [dotnet-presentations/eshop-app-workshop](https://github.com/dotnet-presentations/eshop-app-workshop) - This workshop will teach you ASP.NET Core & .NET Aspire by building the product catalog & order placement features of the eShop reference application. +- [foxminchan/BookWorm](https://github.com/foxminchan/BookWorm) - The practical implementation of .NET Aspire using Microservices ## πŸ“š Books - [Microservices Architecture and Step by Step Implementation on .NET](https://aspnetrun.azurewebsites.net/Microservices) @@ -278,7 +280,6 @@ - [Microservices Patterns: With examples in Java 1st Edition](https://www.manning.com/books/microservices-patterns) - [Production-Ready Microservices: Building Standardized Systems Across an Engineering Organization](https://www.amazon.com/Production-Ready-Microservices-Susan-Fowler/dp/1491965975) - [Monolith to Microservices: Evolutionary Patterns to Transform Your Monolith 1st Edition](https://www.amazon.com/Monolith-Microservices-Evolutionary-Patterns-Transform/dp/1492047848) -- [Reactive Microservices Architecture](https://www.goodreads.com/book/show/29630482-reactive-microservices-architecture) - [Microservice Architecture: Aligning Principles, Practices, and Culture](https://www.amazon.com/Microservice-Architecture-Aligning-Principles-Practices/dp/1491956259) - [Microservices in .NET Core, Second Edition](https://www.manning.com/books/microservices-in-net-core-second-edition) - [Microservices in Action](https://www.manning.com/books/microservices-in-action) diff --git a/docs/microservices/observability/distributed-tracing.md b/docs/microservices/observability/distributed-tracing.md index ed0e8a8f6..227cfd151 100644 --- a/docs/microservices/observability/distributed-tracing.md +++ b/docs/microservices/observability/distributed-tracing.md @@ -100,6 +100,8 @@ - [Where are my traces? (weird .NET meets OpenTelemetry gotcha)](https://blog.codingmilitia.com/2024/05/13/where-are-my-traces-weird-dotnet-meets-opentelemetry-gotcha/) - [Monitoring Unit Tests with OpenTelemetry in .NET](https://www.honeycomb.io/blog/monitoring-unit-tests-opentelemetry) - [Automated Tests instrumentation via OpenTelemetry and Aspire Dashboard](https://nikiforovall.github.io/dotnet/opentelemtry/2024/06/07/test-instrumentation-with-otel-aspire.html) +- [A Beginner's Guide to the OpenTelemetry Collector](https://betterstack.com/community/guides/observability/opentelemetry-collector/) ⭐ + ## πŸ“Ί Videos - [Jimmy Bogard - Distributed Tracing Made Easy with .NET Core and OpenTelemetry](https://www.youtube.com/watch?v=s9UNr1oEMl4) diff --git a/docs/microservices/observability/observability.md b/docs/microservices/observability/observability.md index c9af7408a..5732a893b 100644 --- a/docs/microservices/observability/observability.md +++ b/docs/microservices/observability/observability.md @@ -7,10 +7,8 @@ - [Unpacking Observability: Understanding Logs, Events, Traces, and Spans](https://medium.com/dzerolabs/observability-journey-understanding-logs-events-traces-and-spans-836524d63172) - [Observability with Grafana Cloud and OpenTelemetry in .net microservices](https://dev.to/dbolotov/observability-with-grafana-cloud-and-opentelemetry-in-net-microservices-448c) ⭐ - [Automatic Instrumentation of Containerized .NET Applications With OpenTelemetry](https://www.twilio.com/blog/automatic-instrumentation-of-containerized-dotnet-applications-with-opentelemetry) +- [A Beginner's Guide to the OpenTelemetry Collector](https://betterstack.com/community/guides/observability/opentelemetry-collector/) ⭐ ## πŸ“Ί Videos - [On .NET Live - Cloud Native Patterns for .NET Developers](https://www.youtube.com/watch?v=PDdHa0ushJ0) - - - \ No newline at end of file diff --git a/docs/microservices/resiliency/high-availibility.md b/docs/microservices/resiliency/high-availibility.md index 4c2f342f4..6bb6d5479 100644 --- a/docs/microservices/resiliency/high-availibility.md +++ b/docs/microservices/resiliency/high-availibility.md @@ -7,6 +7,7 @@ - [Improving Application Availability: The Basics](https://medium.com/ssense-tech/improving-application-availability-the-basics-f6c3365235fc) - [Improving Application Availability: Redundancy and Persistence](https://medium.com/ssense-tech/improving-application-availability-redundancy-and-persistence-e68d1f891dc4) - [Improving Your Application Availability β€” Graceful Degradation and Asynchronous Processing](https://medium.com/ssense-tech/improving-your-application-availability-graceful-degradation-and-asynchronous-processing-c4356eb5dc07) +- [Improving Your Application Availability β€” Active-Active Patterns](https://medium.com/ssense-tech/improving-your-application-availability-active-active-patterns-20eaa6f9d57e) - [Deployment stamps pattern](https://docs.microsoft.com/en-us/azure/architecture/patterns/deployment-stamp) - [Geodes Pattern](https://docs.microsoft.com/en-us/azure/architecture/patterns/geodes) - [Health Endpoint Monitoring Pattern](https://docs.microsoft.com/en-us/azure/architecture/patterns/health-endpoint-monitoring) diff --git a/docs/microservices/resiliency/resiliency.md b/docs/microservices/resiliency/resiliency.md index a73fef105..800965f7a 100644 --- a/docs/microservices/resiliency/resiliency.md +++ b/docs/microservices/resiliency/resiliency.md @@ -39,6 +39,8 @@ - [Using Polly for .NET Resilience and Transient-Fault-Handling with .NET Core](https://www.telerik.com/blogs/using-polly-for-net-resilience-and-transient-fault-handling-with-net-core) ⭐ - [Optimally Configuring ASP.NET Core HttpClientFactory](https://rehansaeed.com/optimally-configuring-asp-net-core-httpclientfactory/) ⭐ - [Making Microservices Fault Tolerant with Code Examples](https://harshmatharu.com/blog/fault-tolerance-in-microservices) +- [Introduction to resilient app development](https://learn.microsoft.com/en-us/dotnet/core/resilience/) +- [Build resilient HTTP apps: Key development patterns](https://learn.microsoft.com/en-us/dotnet/core/resilience/http-resilience) ## πŸ“Ί Videos - [Handling Failures in Message Driven Architecture](https://www.youtube.com/watch?v=SesEYHGhlLQ) diff --git a/docs/microservices/tools/aspire.md b/docs/microservices/tools/aspire.md index 00dabb037..e69fd0fcf 100644 --- a/docs/microservices/tools/aspire.md +++ b/docs/microservices/tools/aspire.md @@ -24,6 +24,9 @@ - [What’s new in .NET Aspire 8.1 for cloud native developers!](https://devblogs.microsoft.com/dotnet/whats-new-in-aspire-8-1/) - [Introducing the .NET Aspire Community Toolkit](https://devblogs.microsoft.com/dotnet/introducing-the-dotnet-aspire-community-toolkit/) - [Using Local AI models with .NET Aspire](https://devblogs.microsoft.com/dotnet/local-ai-models-with-dotnet-aspire/) +- [.NET Aspire dashboard overview](https://learn.microsoft.com/en-us/dotnet/aspire/fundamentals/dashboard/overview) +- [Standalone .NET Aspire dashboard](https://learn.microsoft.com/en-us/dotnet/aspire/fundamentals/dashboard/standalone) +- [Explore the .NET Aspire dashboard](https://learn.microsoft.com/en-us/dotnet/aspire/fundamentals/dashboard/explore) ## Videos - [Building Cloud Native apps with .NET 8 | .NET Conf 2023](https://www.youtube.com/watch?v=z1M-7Bms1Jg) @@ -53,4 +56,5 @@ - [dotnet/eShop](https://github.com/dotnet/eShop) - A reference .NET application implementing an eCommerce - [dotnet/eShopSupport](https://github.com/dotnet/eShopSupport) - A reference .NET application using AI for a customer support ticketing system - [Azure-Samples/eShopOnAzure](https://github.com/Azure-Samples/eShopOnAzure) - A variant of https://github.com/dotnet/eShop that uses Azure services -- [dotnet/eShop](https://github.com/dotnet/eShop) - A reference .NET application implementing an eCommerce site \ No newline at end of file +- [dotnet/eShop](https://github.com/dotnet/eShop) - A reference .NET application implementing an eCommerce site +- [dotnet-presentations/eshop-app-workshop](https://github.com/dotnet-presentations/eshop-app-workshop) - This workshop will teach you ASP.NET Core & .NET Aspire by building the product catalog & order placement features of the eShop reference application. \ No newline at end of file diff --git a/docs/microservices/tools/mass-transit.md b/docs/microservices/tools/mass-transit.md index c70e3fcd6..b9892b818 100644 --- a/docs/microservices/tools/mass-transit.md +++ b/docs/microservices/tools/mass-transit.md @@ -85,4 +85,5 @@ - [MassTransit/Sample-GettingStarted](https://github.com/MassTransit/Sample-GettingStarted) - [MassTransit/Sample-Outbox](https://github.com/MassTransit/Sample-Outbox) - [markgossa/Reference-Event-Driven-Architecture](https://github.com/markgossa/Reference-Event-Driven-Architecture) -- [MassTransit/Sample-JobConsumers](https://github.com/MassTransit/Sample-JobConsumers) \ No newline at end of file +- [MassTransit/Sample-JobConsumers](https://github.com/MassTransit/Sample-JobConsumers) +- [MassTransit/Sample-Kafka](https://github.com/MassTransit/Sample-Kafka) \ No newline at end of file diff --git a/docs/modular-monolith.md b/docs/modular-monolith.md index 288f8d76c..20511158f 100644 --- a/docs/modular-monolith.md +++ b/docs/modular-monolith.md @@ -44,6 +44,7 @@ - [Breaking It Down: How to Migrate Your Modular Monolith to Microservices](https://www.milanjovanovic.tech/blog/breaking-it-down-how-to-migrate-your-modular-monolith-to-microservices) - [Modular Monolith - A Gentle Introduction](https://www.dandoescode.com/blog/modular-monolith/a-gentle-introduction) - [Modular Monolith - Implementation Deep Dive](https://www.dandoescode.com/blog/modular-monolith/implementation-deep-dive) +- [Modular Monolith - Simplifying the Inner Development Loop with .NET Aspire](https://www.dandoescode.com/blog/modular-monolith/simplifying-the-inner-dev-loop-with-aspire) ## πŸ“Ί Videos - [GOTO 2018 β€’ Modular Monoliths β€’ Simon Brown](https://www.youtube.com/watch?v=5OjqD-ow8GE)