Skip to content

Commit

Permalink
docs: 📝 add some new links
Browse files Browse the repository at this point in the history
  • Loading branch information
mehdihadeli committed Sep 14, 2023
1 parent c0abe36 commit 94c13ce
Show file tree
Hide file tree
Showing 17 changed files with 55 additions and 13 deletions.
6 changes: 5 additions & 1 deletion docs/ai.md
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,11 @@
- [imartinez/privateGPT](https://github.com/imartinez/privateGPT) ⭐ Interact privately with your documents using the power of GPT, 100% privately, no data leaks
- [UKPLab/sentence-transformers](https://github.com/UKPLab/sentence-transformers) - Multilingual Sentence & Image Embeddings with BERT
- [chroma-core/chroma](https://github.com/chroma-core/chroma) - the AI-native open-source embedding database

- [microsoft/azurechatgpt](https://github.com/microsoft/azurechatgpt) - Azure ChatGPT: Private & secure ChatGPT for internal enterprise use
- [StanGirard/quivr](https://github.com/StanGirard/quivr) - Your Second Brain supercharged by Generative AI 🧠 Dump all your files and chat with your personal assistant on your files & more using GPT 3.5/4, Private, Anthropic, VertexAI, LLMs...
- [karpathy/llama2.c](https://github.com/karpathy/llama2.c) - Inference Llama 2 in one file of pure C
- [SciSharp/BotSharp](https://github.com/SciSharp/BotSharp) - The LLM Powered Chatbot Framework in .NET
- [oobabooga/text-generation-webui](https://github.com/oobabooga/text-generation-webui) - A Gradio web UI for Large Language Models. Supports transformers, GPTQ, llama.cpp (ggml/gguf), Llama models
## Samples
- [Azure-Samples/openai-dotnet-samples](https://github.com/Azure-Samples/openai-dotnet-samples)
- [facebookresearch/llama-recipes](https://github.com/facebookresearch/llama-recipes/) - Examples and recipes for Llama 2 model
3 changes: 3 additions & 0 deletions docs/caching.md
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,9 @@
- [Redis data types](https://redis.io/docs/data-types/)
- [Improvements to the Caching Abstraction in ASP.NET Core](https://devblogs.microsoft.com/dotnet/caching-abstraction-improvements-in-aspnetcore/)
- [Distributed Locks with Redis](https://redis.io/docs/manual/patterns/distributed-locks/)
- [Redis as a Database](https://medium.com/wix-engineering/redis-as-a-database-f9df579b09c0)
- [MongoDB vs. Redis: Which Database Should You Use?](https://www.integrate.io/blog/mongodb-vs-redis/)
- [MongoDB vs. Redis Comparison](https://www.mongodb.com/compare/mongodb-vs-redis)

## 📺 Videos
- [Real-Time Delivery Architecture at Twitter](https://www.infoq.com/presentations/Real-Time-Delivery-Twitter/)
Expand Down
4 changes: 3 additions & 1 deletion docs/devops/kubernetes/deployment-strategies.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,5 +10,7 @@
- [Deployment Strategies in Kubernetes | #1 | K8s Primer | Tech Primers](https://www.youtube.com/watch?v=4AUnI58ZI6M)
- [deployment strategies in kubernetes | recreate | rolling update | blue/green | canary](https://www.youtube.com/watch?v=efiMiaFjtn8)
- [Application Deployment Strategies](https://www.youtube.com/watch?v=OKM0tTYxQbk)
- [Most Common Kubernetes Deployment Strategies (Examples & Code)](https://www.youtube.com/watch?v=lxc4EXZOOvE)


## Samples
- [antonputra/tutorials/lessons/171](https://github.com/antonputra/tutorials/tree/main/lessons/171)
1 change: 1 addition & 0 deletions docs/distributed-transactions.md
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,7 @@
- [Saga patterns: wrap up - Jimmy Bogard](https://lostechies.com/jimmybogard/2013/05/14/saga-patterns-wrap-up/)
- [Handling Complexity: Using Sagas to Provide Transactional Support for Distributed Systems](https://medium.com/ssense-tech/handling-complexity-using-sagas-to-provide-transactional-support-for-distributed-systems-61ae909e0829)
- [Implementation of Choreography-based Saga in .NET Microservices](https://www.gokhan-gokalp.com/en/implementation-of-choreography-based-saga-in-dotnet-microservices/)
- [Sagas: When a Distributed Transaction Is The Right Thing For You](https://medium.com/cloud-native-daily/sagas-when-a-distributed-transaction-is-the-right-thing-for-you-dd110253ed1a)

## 📺 Videos
- [Life Beyond Distributed Transactions: An Apostate's Implementation - Jimmy Bogard](https://www.youtube.com/watch?v=AUrKofVRHV4)
Expand Down
2 changes: 1 addition & 1 deletion docs/domain-driven-design/domain-driven-design.md
Original file line number Diff line number Diff line change
Expand Up @@ -206,7 +206,7 @@
- [Nairda015/IGroceryStore](https://github.com/Nairda015/IGroceryStore) - IGroceryStore - Loosely coupled monolith app
- [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
- [m-khooryani/OverCloudAirways](https://github.com/m-khooryani/OverCloudAirways)
- [meaboutsoftware/evolutionary-architecture](https://github.com/meaboutsoftware/evolutionary-architecture) ⭐ - 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
[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.

## 📦 Libraries
Expand Down
7 changes: 5 additions & 2 deletions ...sign-best-practices/strongly-typed-ids.md → docs/ids.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Strongly Typed Ids & Snowflake
# Ids

## 📕 Articles

Expand All @@ -7,5 +7,8 @@
- [Strongly-typed Ids using C# Source Generators](https://www.meziantou.net/strongly-typed-ids-with-csharp-source-generators.htm)
- [Generating sortable Guids using NewId](https://andrewlock.net/generating-sortable-guids-using-newid/)
- [Announcing Snowflake](https://blog.twitter.com/2010/announcing-snowflake)

## 📺 Videos
- [Stop using IDs that don’t mean anything in .NET](https://www.youtube.com/watch?v=z4SB5BkQX7M)
- [Stop using IDs that don’t mean anything in .NET](https://www.youtube.com/watch?v=z4SB5BkQX7M)
- [The effect of Random UUID on database performance](https://www.youtube.com/watch?v=OAOQ7U0XAi0)
- [How Shopify’s engineering improved database writes by 50% with ULID](https://www.youtube.com/watch?v=f53-Iw_5ucA)
6 changes: 5 additions & 1 deletion docs/microservices/observability/distributed-tracing.md
Original file line number Diff line number Diff line change
Expand Up @@ -92,6 +92,7 @@
- [Instrumenting .NET Apps with OpenTelemetry](https://www.thorsten-hans.com/instrumenting-dotnet-apps-with-opentelemetry/)
- [How to handle multiple commands in the same transaction](https://event-driven.io/en/simple_transactional_command_orchestration/)
- [Observability with Grafana Cloud and OpenTelemetry in .net microservices](https://dev.to/dbolotov/observability-with-grafana-cloud-and-opentelemetry-in-net-microservices-448c)
- [Observing .NET microservices with OpenTelemetry - logs, traces and metrics](https://blog.codingmilitia.com/2023/09/05/observing-dotnet-microservices-with-opentelemetry-logs-traces-metrics/)

## 📺 Videos
- [Jimmy Bogard - Distributed Tracing Made Easy with .NET Core and OpenTelemetry](https://www.youtube.com/watch?v=s9UNr1oEMl4)
Expand Down Expand Up @@ -150,4 +151,7 @@
- [kimcuhoang/practical-net-otelcollector](https://github.com/kimcuhoang/practical-net-otelcollector) ⭐ - Practical .NET Observability with OpenTelemetry Collector
- [cecilphillip/grafana-otel-dotnet](https://github.com/cecilphillip/grafana-otel-dotnet) ⭐ - Sample setup showing ASP.NET Core observability with Prometheus, Loki, Grafana, Opentelemetry Collector
- [bradygaster/dotnet-cloud-native-build-2023](https://github.com/bradygaster/dotnet-cloud-native-build-2023)
- [bravecobra/emojivoto-dotnet](https://github.com/bravecobra/emojivoto-dotnet)
- [bravecobra/emojivoto-dotnet](https://github.com/bravecobra/emojivoto-dotnet)
- [davidfowl/OtlpDemo](https://github.com/davidfowl/OtlpDemo)
- [JamesNK/aspnetcore-grafana](https://github.com/JamesNK/aspnetcore-grafana) - Grafana dashboards for ASP.NET Core metrics
- [joaofbantunes/DotNetMicroservicesObservabilitySample](https://github.com/joaofbantunes/DotNetMicroservicesObservabilitySample) - Sample application looking into observability of .NET microservices, using popular tools and technologies like OpenTelemetry, Prometheus, Grafana and (potentially) others
6 changes: 5 additions & 1 deletion docs/microservices/observability/metrics.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,10 +18,14 @@
- [Tracing with EventSource in .NET 4.5](http://dev.goshoom.net/2013/04/tracing-with-eventsource/)
- [MassTransit Prometheus Metrics](https://masstransit-project.com/advanced/monitoring/prometheus.html)
- [Automatic Instrumentation of Containerized .NET Applications With OpenTelemetry](https://www.twilio.com/blog/automatic-instrumentation-of-containerized-dotnet-applications-with-opentelemetry)
- [Observing .NET microservices with OpenTelemetry - logs, traces and metrics](https://blog.codingmilitia.com/2023/09/05/observing-dotnet-microservices-with-opentelemetry-logs-traces-metrics/)

## 📺 Videos
- [Measure All The Things with App Metrics - Mark Rendle](https://www.youtube.com/watch?v=YJgBAiPlG3k)
- [How to collect metrics and create dashboards using Grafana, Prometheus and AppMetrics in .NET Core](https://www.youtube.com/watch?v=sM7D8biBf4k)

## 📦 Libraries
- [AppMetrics/AppMetrics](https://github.com/AppMetrics/AppMetrics) - App Metrics is an open-source and cross-platform .NET library used to record and report metrics within an application.
- [AppMetrics/AppMetrics](https://github.com/AppMetrics/AppMetrics) - App Metrics is an open-source and cross-platform .NET library used to record and report metrics within an application.

## Samples
- [joaofbantunes/DotNetMicroservicesObservabilitySample](https://github.com/joaofbantunes/DotNetMicroservicesObservabilitySample) - Sample application looking into observability of .NET microservices, using popular tools and technologies like OpenTelemetry, Prometheus, Grafana and (potentially) others
2 changes: 1 addition & 1 deletion docs/microservices/observability/monitoring.md
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@
- [cecilphillip/grafana-otel-dotnet](https://github.com/cecilphillip/grafana-otel-dotnet) ⭐ - Sample setup showing ASP.NET Core observability with Prometheus, Loki, Grafana, Opentelemetry Collector
- [bravecobra/emojivoto-dotnet](https://github.com/bravecobra/emojivoto-dotnet) A microservice example in .NET Core showing opentelemetry capabilities
- [JamesNK/aspnetcore-grafana](https://github.com/JamesNK/aspnetcore-grafana) - Grafana dashboards for ASP.NET Core metrics

- [davidfowl/OtlpDemo](https://github.com/davidfowl/OtlpDemo)
## 📦 Libraries
- [VictoriaMetrics/VictoriaMetrics](https://github.com/VictoriaMetrics/VictoriaMetrics) - VictoriaMetrics: fast, cost-effective monitoring solution and time series database
- [grafana/mimir](https://github.com/grafana/mimir) - Grafana Mimir provides horizontally scalable, highly available, multi-tenant, long-term storage for Prometheus.
Expand Down
1 change: 1 addition & 0 deletions docs/microservices/resiliency/resiliency.md
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,7 @@
- [ASP.NET Core 6: Handling gRPC exception correctly server side](https://anthonygiretti.com/2022/08/28/asp-net-core-6-handling-grpc-exception-correctly-server-side/)
- [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)

## 📺 Videos
- [Handling Failures in Message Driven Architecture](https://www.youtube.com/watch?v=SesEYHGhlLQ)
Expand Down
6 changes: 4 additions & 2 deletions docs/microservices/tools/cap.md
Original file line number Diff line number Diff line change
@@ -1,8 +1,10 @@
# CAP

## Resources
- [Cap GitHub](https://github.com/dotnetcore/CAP)

## Articles
- [System design fundamentals: What is the CAP theorem?](https://www.educative.io/blog/what-is-cap-theorem)
- [The CAP theorem of domain modeling](https://vkhorikov.medium.com/the-cap-theorem-of-domain-modeling-2e3763301caf)
- [Efficient Event Communication: Implementing Event Bus and Outbox Patterns with CAP in .NET Core Microservices](https://dev.to/ahmedshahjr/efficient-event-communication-implementing-event-bus-and-outbox-patterns-with-cap-in-net-core-microservices-36oe)

## 🚀 Samples
- [MesutAtasoy/Joker](https://github.com/MesutAtasoy/Joker) - An example of microservices container based application which implemented different approaches within each microservice (DDD, CQRS, Simple CRUD)
Expand Down
5 changes: 5 additions & 0 deletions docs/microservices/tools/dapr.md
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,7 @@
- [Exploring Dapr: Pub/Sub – Part 3: Azure Service Bus](https://yourazurecoach.com/2019/12/27/exploring-dapr-pub-sub-part-3-azure-service-bus/)
- [Exploring Dapr: Running your first Dapr app in Kubernetes!](https://yourazurecoach.com/2019/12/30/exploring-dapr-running-your-first-dapr-app-in-kubernetes/)
- [Simplify microservices with Dapr (Distributed Application Runtime)](https://www.gatevnotes.com/simplify-microservices-development-with-dapr-distributed-application-runtime/)
- [Understanding the Dapr Workflow engine & authoring workflows in .NET](https://www.diagrid.io/blog/authoring-dapr-workflows-in-dotnet)

## 📺 Videos
- [On .NET Live - Microservice applications with DAPR and .NET](https://www.youtube.com/watch?v=kIfmwmJHNMs)
Expand All @@ -44,6 +45,7 @@
- [Building reliable and portable microservices with Dapr and .NET](https://www.youtube.com/watch?v=Cb0tyU9uSLQ)
- [Sidecar Pattern to SIMPLIFY services or just more COMPLEXITY?](https://www.youtube.com/watch?v=9zAjtcf9Wyo)
- [Introduction to Dapr](https://www.youtube.com/watch?v=nK8Ss2UMAxc)
- [Using Consul for Name Resolution in Dapr](https://markheath.net/post/dapr-consul-name-resolution)

## 📦 Libraries
- [dapr/dashboard](https://github.com/dapr/dashboard) - General purpose dashboard for Dapr
Expand All @@ -65,6 +67,9 @@
- [thangchung/coffeeshop-on-dapr](https://github.com/thangchung/coffeeshop-on-dapr) - The coffeeshop event-driven application which is developed and run on Dapr
- [edwinvw/dapr-workshop](https://github.com/edwinvw/dapr-workshop) - Workshop that teaches how to apply Dapr to an existing .NET, Java or Python based microservices application.
- [EdwinVW/dapr-workshop-csharp](https://github.com/EdwinVW/dapr-workshop-csharp) - Source code for the .NET version of the Dapr workshop (see README for more info).
- [markheath/globoticket-dapr](https://github.com/markheath/globoticket-dapr) - A simple Dapr demo microservices application
- [thangchung/coffeeshop-dapr-workflow](https://github.com/thangchung/coffeeshop-dapr-workflow) - Opinionated coffeeshop application builds with Dapr workflow
- [thangchung/dapr-labs](https://github.com/thangchung/dapr-labs) - Many forms of coffeeshop implemented by C#, Rust, Spin on Dapr

## 📚 Books
- [Dapr for .NET Developers](https://docs.microsoft.com/en-us/dotnet/architecture/dapr-for-net-developers/?WT.mc_id=-blog-scottha)
Expand Down
2 changes: 2 additions & 0 deletions docs/nosql/mongodb.md
Original file line number Diff line number Diff line change
Expand Up @@ -45,6 +45,8 @@
- [GuidSerializer changes in MongoDB Driver C# ](http://mongodb.github.io/mongo-csharp-driver/2.18/reference/bson/guidserialization/serializerchanges/guidserializerchanges/)
- [Implementing CRUD operations with ASP.NET Core Web API and Mongo DB](https://dotnetthoughts.net/implementing-crud-operations-with-webapi-and-mongodb/)
- [How to Migrate Relational Database to MongoDB?: Made Easy](https://hevodata.com/learn/relational-database-to-mongodb/)
- [MongoDB vs. Redis: Which Database Should You Use?](https://www.integrate.io/blog/mongodb-vs-redis/)
- [MongoDB vs. Redis Comparison](https://www.mongodb.com/compare/mongodb-vs-redis)

## 📺 Videos
- [MongoDB In 30 Minutes](https://www.youtube.com/watch?v=pWbMrx5rVBE)
Expand Down
5 changes: 4 additions & 1 deletion docs/service-discovery/eureka.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,7 @@
## Eureka
# Eureka

## Articles
- [Implementing Service Discovery in Microservices with Eureka](https://harshmatharu.com/blog/service-discovery-in-microservices)

## 🚀 Samples
- [matjazbravc/Ocelot.Gateway.Eureka.ServiceDiscovery.Demo](https://github.com/matjazbravc/Ocelot.Gateway.Eureka.ServiceDiscovery.Demo) - In my previus demo I showed how to implement microservice architecture using ASP.NET Core. This demo expands the microservice architecture with gateway load balancer (Ocelot) and service discovery (Eureka).
3 changes: 2 additions & 1 deletion docs/sharding.md
Original file line number Diff line number Diff line change
Expand Up @@ -42,4 +42,5 @@
- [Python CRUD App hits 2 million rows, Should I Shard my Database?](https://www.youtube.com/watch?v=aXD4tWbkoJo)
- [Database Sharding Explained | Database Partitioning | Database Scaling Tutorial](https://www.youtube.com/watch?v=VhsMXWb5Eew)
- [Scaling MongoDB Best Practices for Sharding, Indexing and Performance Isolation](https://www.youtube.com/watch?v=ZcAErl9Ir6Q)
- [Shared Database between Services? Maybe!](https://www.youtube.com/watch?v=vwTwkPUcwNM)
- [Shared Database between Services? Maybe!](https://www.youtube.com/watch?v=vwTwkPUcwNM)
- [What is Database Sharding?](https://www.youtube.com/watch?v=XP98YCr-iXQ)
6 changes: 6 additions & 0 deletions docs/type-driven-design.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@

# Type Driven Design

## 📕 Articles
- [Type Driven Development by Mark Seemann](https://blog.ploeh.dk/2015/08/10/type-driven-development/)
- [Type-Driven Design, Test-Driven Design](https://thoughtbot.com/blog/nuanced-tdd)
3 changes: 2 additions & 1 deletion mkdocs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -254,7 +254,7 @@ nav:
- Design Best Practices:
- Design Best Practices: design-best-practices/design-best-practices.md
- 12 Factor: design-best-practices/12-factor.md
- Strongly Type Ids & Snowflake: design-best-practices/strongly-typed-ids.md
- Ids: ids.md
- Thin Controllers: design-best-practices/thin-controllers.md
- Anti Patterns:
- Anti Patterns: anti-patterns/anti-patterns.md
Expand All @@ -275,6 +275,7 @@ nav:
- Distributed Transactions & Saga: distributed-transactions.md
- Distributed Locking: distributed-locking.md
- Eventual Consistency: eventual-consistency.md
- Type Driven Design: type-driven-design.md
- RESTful API Design: rest.md
- gRPC: grpc.md
- Caching: caching.md
Expand Down

0 comments on commit 94c13ce

Please sign in to comment.