Migrate aspnet-core roadmap

pull/8255/head
Kamran Ahmed 2 months ago
parent 9f1d44e542
commit b02d07917d
  1. 21447
      src/data/roadmaps/aspnet-core/aspnet-core.json
  2. 3
      src/data/roadmaps/aspnet-core/aspnet-core.md
  3. 17
      src/data/roadmaps/aspnet-core/content/101-general-development-skills/101-azure-devops-services.md
  4. 11
      src/data/roadmaps/aspnet-core/content/105-dependency-injection/101-di-containers/102-ninject.md
  5. 11
      src/data/roadmaps/aspnet-core/content/105-dependency-injection/101-di-containers/103-castle-windsor.md
  6. 11
      src/data/roadmaps/aspnet-core/content/105-dependency-injection/101-di-containers/104-simple-injector.md
  7. 7
      src/data/roadmaps/aspnet-core/content/106-caching/102-distributed-cache/101-redis/easy-caching.md
  8. 10
      src/data/roadmaps/aspnet-core/content/106-caching/102-distributed-cache/101-redis/stackexchange-redis.md
  9. 12
      src/data/roadmaps/aspnet-core/content/107-databases/103-nosql/100-redis.md
  10. 12
      src/data/roadmaps/aspnet-core/content/107-databases/103-nosql/104-ravendb.md
  11. 14
      src/data/roadmaps/aspnet-core/content/108-log-frameworks/102-log-management-system/100-elk-stack.md
  12. 11
      src/data/roadmaps/aspnet-core/content/108-log-frameworks/102-log-management-system/101-sentry.md
  13. 11
      src/data/roadmaps/aspnet-core/content/108-log-frameworks/102-log-management-system/102-datadog.md
  14. 10
      src/data/roadmaps/aspnet-core/content/108-log-frameworks/102-log-management-system/103-loggly.md
  15. 11
      src/data/roadmaps/aspnet-core/content/108-log-frameworks/102-log-management-system/104-elmah.md
  16. 11
      src/data/roadmaps/aspnet-core/content/108-log-frameworks/102-log-management-system/index.md
  17. 10
      src/data/roadmaps/aspnet-core/content/109-api-clients/100-rest/102-sieve.md
  18. 11
      src/data/roadmaps/aspnet-core/content/111-object-mapping/101-express-mapper.md
  19. 11
      src/data/roadmaps/aspnet-core/content/111-object-mapping/102-agile-mapper.md
  20. 11
      src/data/roadmaps/aspnet-core/content/111-object-mapping/103-mapster.md
  21. 9
      src/data/roadmaps/aspnet-core/content/113-testing/100-e2e-testing/100-selenium.md
  22. 10
      src/data/roadmaps/aspnet-core/content/113-testing/100-e2e-testing/index.md
  23. 9
      src/data/roadmaps/aspnet-core/content/113-testing/101-unit-testing/100-fluent-assertions.md
  24. 10
      src/data/roadmaps/aspnet-core/content/113-testing/101-unit-testing/index.md
  25. 9
      src/data/roadmaps/aspnet-core/content/113-testing/102-integration-testing/101-test-server.md
  26. 10
      src/data/roadmaps/aspnet-core/content/113-testing/102-integration-testing/index.md
  27. 9
      src/data/roadmaps/aspnet-core/content/113-testing/103-behavior-testing/101-bddfy.md
  28. 9
      src/data/roadmaps/aspnet-core/content/113-testing/103-behavior-testing/index.md
  29. 10
      src/data/roadmaps/aspnet-core/content/114-microservices/100-message-brokers/index.md
  30. 10
      src/data/roadmaps/aspnet-core/content/114-microservices/101-message-bus/index.md
  31. 11
      src/data/roadmaps/aspnet-core/content/114-microservices/103-docker-swarm.md
  32. 9
      src/data/roadmaps/aspnet-core/content/114-microservices/110-tye.md
  33. 11
      src/data/roadmaps/aspnet-core/content/115-ci-cd/102-travis-ci.md
  34. 12
      src/data/roadmaps/aspnet-core/content/115-ci-cd/103-jenkins.md
  35. 11
      src/data/roadmaps/aspnet-core/content/115-ci-cd/105-team-city.md
  36. 7
      src/data/roadmaps/aspnet-core/content/116-client-side-libraries/index.md
  37. 8
      src/data/roadmaps/aspnet-core/content/117-template-engines/101-dot-liquid.md
  38. 8
      src/data/roadmaps/aspnet-core/content/118-good-to-know-libraries/105-noda-time.md
  39. 7
      src/data/roadmaps/aspnet-core/content/118-good-to-know-libraries/106-gen-fu.md
  40. 9
      src/data/roadmaps/aspnet-core/content/118-good-to-know-libraries/107-swash-buckle.md
  41. 14
      src/data/roadmaps/aspnet-core/content/118-good-to-know-libraries/index.md
  42. 0
      src/data/roadmaps/aspnet-core/content/activemq@sNYYEBMHV_NO_NToP51VY.md
  43. 0
      src/data/roadmaps/aspnet-core/content/api-clients-and-communication@GLkDH0X0uy8_1DIdCzbUD.md
  44. 0
      src/data/roadmaps/aspnet-core/content/app-settings-and-configs@EJxliq-HPVp00CVsFc6kf.md
  45. 0
      src/data/roadmaps/aspnet-core/content/aspnet-core-basics@v2ZTCQQFQPoJNhOVGMG2g.md
  46. 0
      src/data/roadmaps/aspnet-core/content/autofac@gbpSbjF12dBE1Tb3PX8Bz.md
  47. 0
      src/data/roadmaps/aspnet-core/content/automapper@GPmlueMnuLCUW_t4jvGhc.md
  48. 0
      src/data/roadmaps/aspnet-core/content/azuer-service-bus@gBuaVZfqJ0-g21sKohQtx.md
  49. 0
      src/data/roadmaps/aspnet-core/content/azure-pipelines@_-GQNpsb7KZw76hNNOq3h.md
  50. 0
      src/data/roadmaps/aspnet-core/content/benchmarknet@9LEVN-uVEwxJooEiB9ApK.md
  51. 0
      src/data/roadmaps/aspnet-core/content/blazor@4iD_hDtgJ15IlJGxiO-E8.md
  52. 0
      src/data/roadmaps/aspnet-core/content/c@fxANnSiTb2VzA9u-YeBL1.md
  53. 0
      src/data/roadmaps/aspnet-core/content/caching@7Nth4LOrM_KirhvjDGkgS.md
  54. 0
      src/data/roadmaps/aspnet-core/content/cassandra@U_-Gt5csu_hihl7ybFY-B.md
  55. 0
      src/data/roadmaps/aspnet-core/content/change-tracker-api@wfEOvAkGXkTZGdGX341D4.md
  56. 0
      src/data/roadmaps/aspnet-core/content/ci--cd@KIFmahcNiSo2NGoLtAyRR.md
  57. 0
      src/data/roadmaps/aspnet-core/content/circle-ci@KyGjXgG6JFo42qOV0wqfB.md
  58. 0
      src/data/roadmaps/aspnet-core/content/cloud@LrjmJs6_rXUkc2A7fEq24.md
  59. 0
      src/data/roadmaps/aspnet-core/content/code-first--migrations@ZPeebwJ3OBuywEgLLgQTG.md
  60. 0
      src/data/roadmaps/aspnet-core/content/constraints@1-XdtrGPbUoxpu9ZcQlBA.md
  61. 0
      src/data/roadmaps/aspnet-core/content/coravel@p3bZnKIyRgLmB764Kkhju.md
  62. 0
      src/data/roadmaps/aspnet-core/content/cosmos-db@KrkV1w9b_Nwm6pe9diDRS.md
  63. 0
      src/data/roadmaps/aspnet-core/content/couchdb@vHcwt6ARi5YR3v-eDDjfl.md
  64. 0
      src/data/roadmaps/aspnet-core/content/cypress@f2UP2jDnDr7XEFIdAtBhH.md
  65. 0
      src/data/roadmaps/aspnet-core/content/dapper@UkWc41r0bZ1lptjse3As6.md
  66. 0
      src/data/roadmaps/aspnet-core/content/dapr@IHY9uL3dzYmf2D2wWgIh-.md
  67. 0
      src/data/roadmaps/aspnet-core/content/data-structures-and-algorithms@RAX2xN37taw9cqA3pnORh.md
  68. 0
      src/data/roadmaps/aspnet-core/content/database-design-basics@zlAcgLKxGF_TyrcJIk4X7.md
  69. 0
      src/data/roadmaps/aspnet-core/content/database-fundamentals@tnKUdsgp6bnFtQTexEmfy.md
  70. 0
      src/data/roadmaps/aspnet-core/content/databases@Ujzn_dILCA7xoupnz398l.md
  71. 0
      src/data/roadmaps/aspnet-core/content/dependency-injection@IejHMMVKwA0sIInla4FjX.md
  72. 0
      src/data/roadmaps/aspnet-core/content/di-containers@iM760f8Ys66-VSkMiZfIX.md
  73. 0
      src/data/roadmaps/aspnet-core/content/distributed-cache@SiG0FWWznjDg-2mIWlchy.md
  74. 0
      src/data/roadmaps/aspnet-core/content/docker@rmRESzLiZNWdBFXLrwQFJ.md
  75. 0
      src/data/roadmaps/aspnet-core/content/dynamo-db@1Om9aQDZmnj_DN10ogwDL.md
  76. 0
      src/data/roadmaps/aspnet-core/content/easynetq@X6iSHoHnFFMaGb6YPQFhl.md
  77. 0
      src/data/roadmaps/aspnet-core/content/elastic-search@mK9OAwjReZoQZr1WSLRKJ.md
  78. 0
      src/data/roadmaps/aspnet-core/content/entity-framework-2nd-level-cache@FV4GsPjUyAc99DnIwkkCC.md
  79. 0
      src/data/roadmaps/aspnet-core/content/entity-framework-core@ET74_7ieahNaGdPT11_NI.md
  80. 0
      src/data/roadmaps/aspnet-core/content/fakeiteasy@diRJ_F6kx42Ucs0fxidtZ.md
  81. 0
      src/data/roadmaps/aspnet-core/content/filters-and-attributes@U3HXmNq6x2YA3BwZsOTbe.md
  82. 0
      src/data/roadmaps/aspnet-core/content/fluentvalidation@sa0zXd8lpNs_SFQ2y-PY4.md
  83. 0
      src/data/roadmaps/aspnet-core/content/fluid@ZaOhWWDgVxrn0hbesJ7xT.md
  84. 0
      src/data/roadmaps/aspnet-core/content/framework-basics@eGVaAz3VhGu3cXBNxTAWd.md
  85. 0
      src/data/roadmaps/aspnet-core/content/general-development-skills@NEnna_8DstfYH4T9qrP3-.md
  86. 0
      src/data/roadmaps/aspnet-core/content/git---version-control@OtdCmkj0SvrGwCUSfm96C.md
  87. 0
      src/data/roadmaps/aspnet-core/content/github-actions@0-PLMXGlRyRzTk-EjXMs2.md
  88. 0
      src/data/roadmaps/aspnet-core/content/github-gitlab-bitbucket@KAZF-mIg-FlfMonfdOLhb.md
  89. 0
      src/data/roadmaps/aspnet-core/content/graphql-net@Efxu9gDodODMTKJbWcXzB.md
  90. 0
      src/data/roadmaps/aspnet-core/content/graphql@BdTQ5ZMNDNZvkAUoCfL5H.md
  91. 0
      src/data/roadmaps/aspnet-core/content/grpc@x3SJlLc19DNJ-PyDOOj_G.md
  92. 0
      src/data/roadmaps/aspnet-core/content/hangfire@QiQsx1udyKcPJ-lZjRQVy.md
  93. 0
      src/data/roadmaps/aspnet-core/content/hotchocolate@XMrQx9JH0eSQJpMzhvy0F.md
  94. 0
      src/data/roadmaps/aspnet-core/content/http--https-protocol@YI3cAezupWNntFw4B6elY.md
  95. 0
      src/data/roadmaps/aspnet-core/content/kafka@L8RkeMYm0WGNeLLcHKF1R.md
  96. 0
      src/data/roadmaps/aspnet-core/content/kubernetes@02rtFStTeIm8prNskxaUN.md
  97. 0
      src/data/roadmaps/aspnet-core/content/lazy-eager-explicit-loading@9AMotSwdEbB8uOg80SykE.md
  98. 0
      src/data/roadmaps/aspnet-core/content/learn-the-basics-of-c@NvODRFR0DLINB0RlPSsvt.md
  99. 0
      src/data/roadmaps/aspnet-core/content/life-cycles@Tjaczp2E-cCn0qSv89xgo.md
  100. 0
      src/data/roadmaps/aspnet-core/content/light-bdd@aWRv5sU9dksgcpE9RGJb1.md
  101. Some files were not shown because too many files have changed in this diff Show More

File diff suppressed because one or more lines are too long

@ -2,6 +2,7 @@
jsonUrl: '/jsons/roadmaps/aspnet-core.json'
pdfUrl: '/pdfs/roadmaps/aspnet-core.pdf'
order: 9
renderer: 'editor'
briefTitle: 'ASP.NET Core'
briefDescription: 'Step by step guide to becoming an ASP.NET Core Developer in 2025'
title: 'ASP.NET Core Developer'
@ -10,7 +11,7 @@ isNew: false
hasTopics: true
dimensions:
width: 968
height: 2773.45
height: 2920
schema:
headline: 'ASP.NET Core Developer Roadmap'
description: 'Learn how to become a ASP.NET Core Developer with this interactive step by step guide in 2025. We also have resources and short descriptions attached to the roadmap items so you can get everything you want to learn in one place.'

@ -1,17 +0,0 @@
# Azure Devops Services
Azure DevOps Services is a collection of services provided by Microsoft that can be used to plan, build, test, and deploy .NET applications. These services can be used together or independently to support various aspects of the software development process. Some of the main services include:
- Azure Boards: Provides features for agile planning and tracking, such as backlogs, boards, and sprint planning.
- Azure Repos: Provides source control management for Git and Team Foundation Version Control (TFVC) repositories.
- Azure Artifacts: Provides package management for NuGet, npm, and Maven packages.
- Azure Test Plans: Provides support for manual and exploratory testing, as well as continuous testing and testing in production.
- Azure Pipeline: Provides a way to build, test, and deploy code automatically, with support for multiple languages and platforms, including .NET.
These services can be used to create a full-featured development environment that can be used to manage all aspects of a software development project, from planning and design to testing and deployment.
For more information, visit the following links:
- [@article@Build, test, and deploy .NET Core apps](https://learn.microsoft.com/en-us/azure/devops/pipelines/ecosystems/dotnet-core?view=azure-devops\&tabs=dotnetfive)
- [@article@Microsoft Azure DevOps for ASP .NET Core Web apps](https://techmindfactory.com/Microsoft-Azure-DevOps-for-ASP-.NET-Core-Web-apps/)
- [@feed@Explore top posts about Azure](https://app.daily.dev/tags/azure?ref=roadmapsh)

@ -1,11 +0,0 @@
# Ninject
Ninject is an open-source dependency injection framework for .NET. It is designed to make it easier to manage the dependencies of an application by automatically resolving and managing the lifetime of objects and their dependencies.
Ninject uses a technique called "binding" to define the objects and dependencies of an application. This is done by creating instances of the `StandardKernel` class and using its methods to register types, instances and factories. Then, the `Get()` method is called to resolve the dependencies throughout the application.
For more information, visit the following resources:
- [@official@Intro to Ninject](http://www.ninject.org/)
- [@article@What is Ninject and when do you use it?](https://stackoverflow.com/questions/17375234/what-is-ninject-and-when-do-you-use-it)
- [@article@How to use NInject?](https://www.infoworld.com/article/3191648/how-to-implement-di-in-webapi-using-ninject.html)

@ -1,11 +0,0 @@
# Castle Windsor
Castle Windsor is an open-source dependency injection framework for .NET. It is designed to make it easier to manage the dependencies of an application by automatically resolving and managing the lifetime of objects and their dependencies.
Castle Windsor uses a technique called "registration" to define the objects and dependencies of an application. This is done by creating instances of the `WindsorContainer` class and using its methods to register types, instances and factories. Then, the `Resolve()` method is called to resolve the dependencies throughout the application.
Visit the following links for more resources:
- [@article@Getting Started with Dependency Injection Using Castle Windsor](https://www.codementor.io/@copperstarconsulting/getting-started-with-dependency-injection-using-castle-windsor-4meqzcsvh)
- [@article@What is Castle Windsor?](https://stackoverflow.com/questions/124871/what-is-castle-windsor-and-why-should-i-care)
- [@article@Intro to Castle Windsor](http://www.castleproject.org/projects/windsor/)

@ -1,11 +0,0 @@
# Simple Injector
Simple Injector is an open-source dependency injection framework for .NET. It is designed to make it easy to manage the dependencies of an application by automatically resolving and managing the lifetime of objects and their dependencies.
Simple Injector uses a technique called "registration" to define the objects and dependencies of an application. This is done by creating an instance of the `Container` class and using its methods to register types, instances and factories. Then, the `GetInstance()` method is called to resolve the dependencies throughout the application.
For more information, visit the following resources:
- [@article@How to use Simple Injector?](https://www.infoworld.com/article/3636242/how-to-use-simple-injector-in-aspnet-core-mvc.html)
- [@article@Simple Injector's Documentation](https://docs.simpleinjector.org/en/latest/)
- [@article@Example of Dependency Injection Using Simple Injector](https://www.c-sharpcorner.com/UploadFile/4d9083/dependency-injection-using-simple-injector/)

@ -1,7 +0,0 @@
# Easy Caching
EasyCaching is an open-source caching library that contains basic usages and some advanced usages of caching which can help us to handle caching more easily.
Visit the following resources to learn more:
- [@article@Easy Caching using Redis](https://easycaching.readthedocs.io/en/latest/Redis/)

@ -1,10 +0,0 @@
# Stackexchange Redis
StackExchange.Redis is a high performance general purpose redis client for .NET languages (C#, etc.). It is the logical successor to BookSleeve, and is the client developed-by (and used-by) Stack Exchange for busy sites like Stack Overflow.
Visit the following resources to learn more:
- [@article@Using StackExchange.Redis with .NET](https://docs.redis.com/latest/rs/references/client_references/client_csharp/)
- [@video@Introduction to StackExchange.Redis](https://www.youtube.com/watch?v=rsXvpCHdldg)
- [@article@Getting Started with Stackexchange Redis](https://stackexchange.github.io/StackExchange.Redis/)
- [@feed@Explore top posts about Redis](https://app.daily.dev/tags/redis?ref=roadmapsh)

@ -1,12 +0,0 @@
# Redis
Redis (Remote Dictionary Server) is an open-source, in-memory data structure store that can be used as a database, cache, and message broker. It supports various data structures such as strings, hashes, lists, sets, and sorted sets.
In an ASP.NET application, Redis can be used as a caching mechanism to store frequently accessed data in memory, rather than reading it from a slower storage system like a traditional relational database. This can greatly improve the performance of an application by reducing the number of database queries and the amount of data that needs to be read from disk.
To learn more, visit the following resources:
- [@official@Redis OM .NET](https://redis.io/docs/stack/get-started/tutorials/stack-dotnet/)
- [@article@Caching in ASP.NET using Redis](https://www.codemag.com/Article/2205091/Distributed-Caching-in-ASP.NET-Core-6-Using-Redis-in-Azure)
- [@article@Getting started in Redis with .NET](https://docs.redis.com/latest/rs/references/client_references/client_csharp/)
- [@feed@Explore top posts about Redis](https://app.daily.dev/tags/redis?ref=roadmapsh)

@ -1,12 +0,0 @@
# RavenDB
RavenDB is an open-source, NoSQL document database designed for the .NET platform. It is a document database, which means that it stores data in semi-structured JSON format, and it is designed to be simple and easy to use. It is also a multi-model database, which allows you to store and query data using a variety of data models, including document, key-value, graph, and column-family.
In an ASP.NET application, RavenDB can be used as a data store to persist and retrieve application data. There are several libraries available for integrating RavenDB with an ASP.NET application, such as RavenDB.Client, which provides a .NET client for RavenDB that can be used to interact with the RavenDB server from within an ASP.NET application.
For more information, visit the following links:
- [@article@Using RavenDB in ASP.NET Applications](https://www.codeguru.com/dotnet/using-ravendb-in-asp-net-applications/)
- [@official@Getting started with RavenDB](https://ravendb.net/docs/article-page/5.4/csharp/start/getting-started)
- [@article@Using RavenDB Unit of Work and .NET Core MVC](https://ayende.com/blog/187906-B/using-ravendb-unit-of-work-and-net-core-mvc)
- [@feed@Explore top posts about RavenDB](https://app.daily.dev/tags/ravendb?ref=roadmapsh)

@ -1,14 +0,0 @@
# ELK Stack
The ELK Stack is a collection of three open-source products — Elasticsearch, Logstash, and Kibana. ELK stack provides centralized logging in order to identify problems with servers or applications. It allows you to search all the logs in a single place. It also helps to find issues in multiple servers by connecting logs during a specific time frame.
- **E** stands for ElasticSearch: used for storing logs
- **L** stands for LogStash : used for both shipping as well as processing and storing logs
- **K** stands for Kibana: is a visualization tool (a web interface) which is hosted through Nginx or Apache
For more information, visit the following links:
- [@article@What Is Elk?](https://aws.amazon.com/what-is/elk-stack/)
- [@article@Complete Guide to Elk](https://logz.io/learn/complete-guide-elk-stack/)
- [@article@ELK Stack Tutorial: What is Kibana, Logstash & Elasticsearch?](https://www.guru99.com/elk-stack-tutorial.html)
- [@feed@Explore top posts about ELK](https://app.daily.dev/tags/elk?ref=roadmapsh)

@ -1,11 +0,0 @@
# Sentry
Sentry is an open-source error tracking platform that helps developers identify and fix errors in their applications. It provides detailed error reports, including stack traces, context data, and user feedback, making it easy to understand and reproduce errors. Sentry can be integrated with a variety of platforms, including .NET and ASP.NET.
In an ASP.NET application, Sentry can be used to capture and track errors that occur in the application. Sentry provides an SDK, called Sentry.NET, which can be integrated with an ASP.NET application to automatically capture and track errors. The SDK can be configured to capture and track different types of errors, including unhandled exceptions, handled exceptions, and custom events.
For more information, visit the following links:
- [@article@Sentry Documentation in .NET](https://docs.sentry.io/platforms/dotnet/)
- [@article@ASP.NET and Sentry](https://docs.sentry.io/platforms/dotnet/guides/aspnetcore/)
- [@article@Usage of Sentry in ASP.NET](https://docs.sentry.io/platforms/dotnet/guides/aspnetcore/usage/)

@ -1,11 +0,0 @@
# Datadog
Datadog is a cloud-based monitoring and analytics platform that helps organizations to monitor, troubleshoot, and optimize their applications and infrastructure. It provides a wide range of features including real-time monitoring, log management, tracing, and alerting, and it can be integrated with a variety of platforms, including .NET and ASP.NET.
In an ASP.NET application, Datadog can be used to monitor and analyze the performance and behavior of the application. Datadog provides an SDK, called Datadog.Trace, which can be integrated with an ASP.NET application to automatically collect and report performance data. The SDK can be configured to report data such as request and response times, error rates, and custom metrics.
Visit the following links:
- [@article@Documentation of Datadog](https://www.datadoghq.com/)
- [@article@Configuring the .NET Core with Datadog](https://docs.datadoghq.com/tracing/trace_collection/library_config/dotnet-core/?tab=environmentvariables)
- [@feed@Explore top posts about DevOps](https://app.daily.dev/tags/devops?ref=roadmapsh)

@ -1,10 +0,0 @@
# Loggly
Loggly is a cloud-based log management and analytics platform that helps organizations to collect, store, and analyze log data from a variety of sources, including .NET and ASP.NET applications. It provides a wide range of features such as real-time log search and analysis, alerting, and reporting, and allows for easy integration with other tools such as Datadog, Splunk, and New Relic.
In an ASP.NET application, Loggly can be used to collect and analyze log data. Loggly provides an SDK, called Loggly.Serilog, which can be integrated with an ASP.NET application to automatically collect log data and send it to Loggly. The SDK can be configured to collect different types of log data, such as log messages, error messages, and custom events.
For more resources, visit the following links:
- [@article@Loggly in ASP.NET Core using Serilog](https://itnext.io/loggly-in-asp-net-core-using-serilog-dc0e2c7d52eb)
- [@official@Using Loggly For Troubleshooting Bugs](https://www.loggly.com/blog/use-loggly-troubleshooting-bugs-code/)

@ -1,11 +0,0 @@
# ELMAH
ELMAH (Error Logging Modules and Handlers) is an open-source error logging and management library for ASP.NET applications. It is designed to be easy to use and easy to integrate into existing ASP.NET applications.
ELMAH is widely used for error logging, management and tracking in ASP.NET applications, it's easy to use, easy to integrate with existing applications, and provides a wealth of features that help developers to identify, diagnose and fix errors in their applications.
For more resources, visit the following links:
- [@article@Introduction To ELMAH](https://www.c-sharpcorner.com/article/introduction-to-elmah-in-mvc/)
- [@video@How to Configure Elmah in ASP.net MVC](https://www.youtube.com/watch?v=oqheVBZR0PM)
- [@article@ELMAH Integration in ASP.NET MVC Application](https://www.ecanarys.com/Blogs/ArticleID/184/ELMAH-Integration-in-ASP-NET-MVC-Application)

@ -1,11 +0,0 @@
# Log Management System
A log management system is a software or service that is designed to collect, store, and analyze log data from a variety of sources. Logs are records of events that occur in a system, such as application logs, system logs, and network logs. Log management systems are used to gather, store and analyze these logs in order to provide insight into the performance, stability and security of a system.
The use of log management system can help IT professionals to identify and troubleshoot issues, monitor performance, detect security threats and meet regulatory compliance requirements, also it's a fundamental part of IT infrastructure management, and provides a way to measure the health and security of the system.
Visit the following resources for more information:
- [@article@Structured Logging and Logs Management in ASP.NET](https://medium.com/@stavsofer/structured-logging-and-logs-management-asp-net-core-serilog-seq-61109f740696)
- [@article@ASP.NET Logging Basics](https://www.loggly.com/ultimate-guide/net-logging-basics/)
- [@feed@Explore top posts about Logging](https://app.daily.dev/tags/logging?ref=roadmapsh)

@ -1,10 +0,0 @@
# Sieve
Sieve is a language for filtering email messages, it's defined in the Internet standard, also it's called as Sieve: An Email Filtering Language. It provides a simple, human-readable syntax for specifying rules that determine what actions to take on incoming email messages. These actions can include filing messages into different folders, forwarding messages to other addresses, discarding messages, and more.
Sieve is typically used in email servers and clients, and it can be used to implement server-side and client-side email filtering. It allows users to create their own rules for filtering email, without requiring access to the server's configuration or the need for complex server-side scripts.
To learn more, visit the following resources:
- [@article@Analysis of Sieve](https://en.wikipedia.org/wiki/Sieve_analysis)
- [@video@Sorting in a .NET Core API using Sieve](https://www.youtube.com/watch?v=x0utCah3cFk)

@ -1,11 +0,0 @@
# Express Mapper
ExpressMapper is an open-source object-to-object mapping library for .NET, similar to AutoMapper. It allows you to easily map between objects of different types, and it is particularly useful when working with domain models and data transfer objects (DTOs) in a layered architecture.
ExpressMapper uses a convention-based approach to mapping, which means that it automatically maps properties with the same name and type from one object to another. It also provides a fluent API for configuring more complex mappings, such as ignoring certain properties, using custom logic to map properties, or mapping properties based on a value in another property.
To learn more, visit the following links:
- [@official@Intro to Express Mapper](https://expressmapper.org/)
- [@article@Express Mapper - The New .NET Mapper](https://www.codeproject.com/Tips/1009198/Expressmapper-The-New-NET-Mapper)
- [@feed@Explore top posts about Express.js](https://app.daily.dev/tags/express?ref=roadmapsh)

@ -1,11 +0,0 @@
# Agile Mapper
AgileMapper is an open-source, convention-based object-to-object mapping library for .NET, similar to AutoMapper and ExpressMapper. It allows you to easily map between objects of different types, and it is particularly useful when working with domain models and data transfer objects (DTOs) in a layered architecture.
AgileMapper uses a convention-based approach to mapping, which means that it automatically maps properties with the same name and type from one object to another. It also provides a fluent API for configuring more complex mappings, such as ignoring certain properties, using custom logic to map properties, or mapping properties based on a value in another property.
To learn more, visit the following links:
- [@article@Comparison of Object Mapper Libraries](https://www.simplilearn.com/tutorials/asp-dot-net-tutorial/automapper-in-c-sharp)
- [@article@Overview of Agile Mapper](https://readthedocs.org/projects/agilemapper/)
- [@feed@Explore top posts about Agile](https://app.daily.dev/tags/agile?ref=roadmapsh)

@ -1,11 +0,0 @@
# Mapster
Mapster is an open-source, high-performance object-to-object mapping library for .NET, similar to AutoMapper, ExpressMapper, AgileMapper, and AgileMapster. It allows you to easily map between objects of different types, and it is particularly useful when working with domain models and data transfer objects (DTOs) in a layered architecture.
Mapster uses a convention-based approach to mapping, which means that it automatically maps properties with the same name and type from one object to another. It also provides a fluent API for configuring more complex mappings, such as ignoring certain properties, using custom logic to map properties, or mapping properties based on a value in another property.
To learn more, visit the following links:
- [@article@Getting Started With Mapster in ASP.NET](https://code-maze.com/mapster-aspnetcore-introduction/)
- [@article@Overview of Mapster in .Net ](https://medium.com/@M-S-2/enjoy-using-mapster-in-net-6-2d3f287a0989)
- [@video@Introduction to Mapster](https://youtube.com/watch?v=bClE7Uon9e8)

@ -1,9 +0,0 @@
# Selenium
Selenium is an open-source library that allows developers to automate web browsers and simulate user interactions, it's commonly used for testing web applications. It can be integrated with .NET and provides a .NET binding for interacting with the Selenium API. The Selenium WebDriver API for .NET allows developers to write tests for web applications in C# or other .NET languages and supports various programming paradigms like Page Object Model.
To learn more, visit the following links:
- [@article@Automated UI Tests with Selenium and ASP.NET](https://code-maze.com/selenium-aspnet-core-ui-tests/)
- [@article@Selenium Web Driver in .NET](https://stephan-bester.medium.com/automated-testing-with-selenium-web-driver-in-net-bde6854d3207)
- [@feed@Explore top posts about Selenium](https://app.daily.dev/tags/selenium?ref=roadmapsh)

@ -1,10 +0,0 @@
# E2E Testing
E2E testing is a method of testing the complete functionality of an application, from start to finish, it's used to test the entire workflow of an application and ensure that all the different components and features work together seamlessly. In the context of ASP.NET, E2E testing can be used to test web applications built using the ASP.NET framework. E2E testing can be done using frameworks such as Selenium, Playwright, and Cypress which allow developers to automate browser interactions and simulate user interactions with the application. E2E testing is an important aspect of software development and it helps to identify and fix issues early in the development process and ensure that the application behaves as expected when it is released to the users.
Visit the following links to learn more:
- [@video@End-to-End Testing ASP.NET Core APIs](https://www.youtube.com/watch?v=WWN-9ahbdIU)
- [@article@ASP.NET Core and its testing](https://blog.devgenius.io/asp-net-core-end-to-end-testing-52325e28e387)
- [@article@Unit Test and E2E Test in ASP.NET](https://learn.microsoft.com/en-us/odata/webapi/unittest-e2etest)
- [@feed@Explore top posts about Testing](https://app.daily.dev/tags/testing?ref=roadmapsh)

@ -1,9 +0,0 @@
# Fluent Assertions
Fluent Assertions is a fluent, readable, and extensible set of .NET extension methods that allow developers to write more natural and expressive assertions in their unit tests, it provides a fluent, fluent-like API that makes it easy to write assertions in a natural language-like syntax. In the context of ASP.NET, Fluent Assertions can be used in conjunction with test frameworks such as MSTest, xUnit, and NUnit to write more expressive and readable unit tests for the application. It provides advanced features such as support for collection-specific assertions, support for asynchronous code, and support for custom types. It's a widely used and open source library, it's very useful to improve code readability and make the test code more expressive.
To learn more, visit the following links:
- [@official@Introduction of Fluent Assertions](https://fluentassertions.com/introduction)
- [@article@Improving Unit Tests with Fluent Assertions](https://code-maze.com/unit-tests-with-fluent-assertions/)
- [@article@Exploring Fluent Assertions in Unit Testing](https://www.meziantou.net/exploring-fluent-assertions.htm)

@ -1,10 +0,0 @@
# Unit Testing
Unit testing is a software testing method in which individual units or components of a software application are tested in isolation from the rest of the application. The goal of unit testing is to validate that each unit of the software application is working as intended and that the interactions between units are also working as intended. In the context of ASP.NET, unit testing can be used to test individual components of a web application built using the ASP.NET framework. Unit testing is a good practice in software development as it helps to catch bugs early in the development process, improves the quality of the code and makes it more maintainable. Additionally, unit tests provide developers with a suite of automated tests that can be run against the application at any time. There are different Unit Testing frameworks available for .NET and many libraries for Mocking, Assertions, and fake objects.
To learn more, visit the following links:
- [@article@Overview of .NET Unit Testing](https://www.toptal.com/dot-net/dotnet-unit-testing-tutorial)
- [@article@Unit Testing in ASP.NET - Complete Tutorial](https://www.guru99.com/asp-net-unit-testing-project.html)
- [@video@How to UnitTest ASP.Net MVC Controllers with XUnit ?](https://www.youtube.com/watch?v=VtPosbYAhD8)
- [@feed@Explore top posts about Testing](https://app.daily.dev/tags/testing?ref=roadmapsh)

@ -1,9 +0,0 @@
# TestServer
TestServer in ASP.NET is a programmatic way to create a web server that can be used to run integration or end-to-end tests for a web application. The TestServer simulates the behavior of a real web server, and allows developers to test the web application in a realistic environment, without the need for a physical web server or a browser. The TestServer can be created and configured using the built-in Web Application Factory (WAF) feature in ASP.NET Core. The WAF allows developers to configure the TestServer to use different services, middleware, and settings, depending on the needs of the application. The TestServer can also be used to test the web application against different configurations, such as different databases, different authentication providers, and different hosting environments.
To learn more, visit the following links:
- [@article@Integration Tests with TestServer](https://visualstudiomagazine.com/articles/2017/07/01/testserver.aspx)
- [@article@ASP.NET Core Integration Tests With TestServer](https://scotthannen.org/blog/2021/11/18/testserver-how-did-i-not-know.html)
- [@article@How do you create a TestServer in .NET](https://stackoverflow.com/questions/69897652/how-do-you-create-a-test-server-in-net-6)

@ -1,10 +0,0 @@
# Integration Testing
Integration testing in ASP.NET refers to the process of testing how different components or modules of a web application interact with each other. This type of testing is done to ensure that the different parts of the application are working together correctly and that the application as a whole is functioning properly. Integration testing typically involves testing the interactions between different layers of the application, such as the data access layer, the business logic layer, and the presentation layer. It can also involve testing the interactions between the web application and external systems, such as databases, web services, and other external APIs. Integration testing can be done using a variety of testing frameworks and tools, such as xUnit, NUnit, MSTest, and others. These frameworks provide the ability to create test cases that simulate different scenarios and test the application's behavior under different conditions.
Visit the following links to learn more:;
- [@article@Integration tests in ASP.NET Core](https://learn.microsoft.com/en-us/aspnet/core/test/integration-tests?view=aspnetcore-7.0)
- [@video@Integration Testing ASP.NET Core WebAPI Applications](https://www.youtube.com/watch?v=xs8gNQjCXw0)
- [@video@A Sample Project Integration Test In ASP.NET](https://www.youtube.com/watch?v=ziSKkR2nvis)
- [@feed@Explore top posts about Testing](https://app.daily.dev/tags/testing?ref=roadmapsh)

@ -1,9 +0,0 @@
# BDDfy
BDDfy is an open-source, fluent, and extensible BDD (Behavior-Driven Development) framework for .NET, which allows developers to create automated acceptance tests in a readable and expressive format. BDDfy is commonly used in the context of ASP.NET and other .NET technologies, to write acceptance tests for web applications. With BDDfy, developers can write test scenarios using a fluent API, which allows them to describe the behavior of their application in a natural language format. The framework also provides a set of extension methods, which can be used to add additional functionality, such as validating the output of a test, logging test results, or integrating with other testing tools. BDDfy also comes with a built-in test runner, which makes it easy to execute tests and view the results. The framework supports a variety of test runners, such as NUnit, xUnit, and MSTest, and can be integrated with other BDD frameworks, such as SpecFlow and Cucumber.
To learn more, visit the following links:
- [@article@Using BDDfy for Unit Tests](https://www.michael-whelan.net/using-bddfy-for-unit-tests/)
- [@article@Introducing BDDfy in ASP.NET](https://codeproject.com/Articles/205381/Introducing-BDDfy-the-simplest-BDD-framework-for-N)
- [@video@Implement BDD with .NET](https://www.youtube.com/watch?v=GYN_srjAvyk)

@ -1,9 +0,0 @@
# Behavior Testing
Behavior testing, also known as Behavioral-Driven Development (BDD), is a software development methodology that focuses on the behavior of the system being developed, rather than its implementation. BDD is a variation of Test-Driven Development (TDD), which emphasizes the use of automated tests to drive the development of software. BDD frameworks such as SpecFlow, Cucumber, and LightBDD provide a set of tools for writing and executing BDD tests in the context of ASP.NET. These frameworks allow developers to write tests using a fluent API, which allows them to describe the behavior of their application in a natural language format. They also provide a set of extension methods, which can be used to add additional functionality, such as validating the output of a test, logging test results, or integrating with other testing tools.
To learn more, visit the following links:
- [@article@A Complete Tutorial on ASP.NET Testing](https://www.lambdatest.com/blog/aspnet-testing/)
- [@article@Learn Behavior Testing in ASP.NET](https://public.vectorly.team/articles/learn_Behavior_Testing_for_Tech_Lead_role_ASP.NET_Developer)
- [@feed@Explore top posts about Testing](https://app.daily.dev/tags/testing?ref=roadmapsh)

@ -1,10 +0,0 @@
# Message Brokers
Message Brokers are systems that provide a messaging infrastructure for applications and services to communicate with each other in a reliable, secure and scalable way. They act as a central hub for sending and receiving messages between different applications, services and devices.
In the context of ASP.NET, message brokers can be used to send and receive messages between different parts of an application or between different applications or services, enabling them to communicate with each other in a decoupled and asynchronous manner.
Visit the following links to learn more:
- [@article@What are message brokers?](https://www.ibm.com/topics/message-brokers)
- [@article@Building a messaging solution with .Net Core?](https://medium.com/c-sharp-progarmming/quick-start-how-could-you-build-a-messaging-solution-with-net-core-b5f8253f31ea)

@ -1,10 +0,0 @@
# Message Bus
A message bus is a software architecture pattern that enables different parts of an application, or different systems, to communicate with each other asynchronously using a message-based protocol. The message bus acts as a central intermediary, routing messages from senders to receivers and providing features such as message persistence, message routing, and message acknowledgements.
There are different types of message buses, such as event-driven message buses, command-driven message buses, and publish-subscribe message buses. Each type of message bus is designed to handle specific messaging patterns and use cases.
Visit the following links to learn more:
- [@article@Implementation of Message Bus C# microservices](https://stackoverflow.com/questions/51330229/implementation-of-message-bus-c-sharp-microservices)
- [@article@Building a Message Bus with .NET Core](https://fatihdumanli.medium.com/build-a-message-bus-implementation-with-net-core-and-rabbitmq-9ba350b777f4)

@ -1,11 +0,0 @@
# Docker Swarm
Docker Swarm is a container orchestration platform for managing and scheduling Docker containers across a cluster of servers. It is a native clustering solution for Docker and provides the ability to create and manage a swarm of Docker nodes as a single virtual host.
With Docker Swarm, you can easily deploy and scale your applications across multiple servers, ensuring high availability and fault tolerance. It provides features such as load balancing, service discovery, and rolling updates, making it easy to manage and maintain your containerized applications.
To learn more, visit the following links:
- [@article@Introduction to Docker Swarm](https://www.section.io/engineering-education/introduction-to-docker-swarm-in-container-orchestration/)
- [@article@How - Deploy to Swarm?](https://docs.docker.com/get-started/swarm-deploy/)
- [@feed@Explore top posts about Docker](https://app.daily.dev/tags/docker?ref=roadmapsh)

@ -1,9 +0,0 @@
# Tye
Tye (short for "Try Everything") is a developer tool for .NET that makes it easy to develop, test, and deploy microservices and distributed applications. It is built on top of the .NET Core CLI and Docker and provides a simple and consistent way to run multiple services and components locally, making it easy to test and debug distributed applications.
Tye allows you to define the components of your application in a single YAML file, and then automatically starts, stops and configures all the required services and dependencies. It also provides a set of features to make it easy to manage the application, such as automatic service discovery and configuration, and automatic binding of services to the right ports.
To learn more, visit the following links:
- [@opensource@Getting Started with Tye](https://github.com/dotnet/tye)

@ -1,11 +0,0 @@
# Travis CI
Travis CI is a cloud-based continuous integration and continuous delivery (CI/CD) platform that allows developers to automate the process of building, testing, and deploying code. It is a popular platform that supports a wide range of languages and frameworks, including ASP.NET.
In ASP.NET, Travis CI can be used to automate various tasks related to the development, testing, and deployment of ASP.NET applications. For example, you can use Travis CI to automatically build, test, and deploy an ASP.NET application to a hosting provider, such as Azure or AWS, every time you push code to your source control repository.
Visit the following links to learn more:
- [@article@How to use Travis CI to Deploy to Azure in ASP.NET](https://devblogs.microsoft.com/cse/2015/09/30/using-travis-ci-to-deploy-to-azure/)
- [@article@Concepts for Beginners of Travis CI in ASP.NET](https://docs.travis-ci.com/user/for-beginners/)
- [@feed@Explore top posts about CI/CD](https://app.daily.dev/tags/cicd?ref=roadmapsh)

@ -1,12 +0,0 @@
# Jenkins
Jenkins is an open-source automation server that can be used to automate various tasks related to software development, including building, testing, and deploying code. It is a popular platform that supports a wide range of languages and frameworks, including ASP.NET.
In ASP.NET, Jenkins can be used to automate various tasks related to the development, testing, and deployment of ASP.NET applications. For example, you can use Jenkins to automatically build, test, and deploy an ASP.NET application to a hosting provider, such as Azure or AWS, every time you push code to your source control repository.
To learn more, visit the following links:
- [@article@Continuous Deployment With Jenkins And .NET](https://www.c-sharpcorner.com/article/continuous-deployment-with-jenkins-and-net/)
- [@article@How to build ASP.NET Core code with Jenkins](https://referbruv.com/blog/cicd-getting-started-automating-aspnet-core-build-using-jenkins/)
- [@article@How to publish ASP.NET Apps using Jenkins](https://www.ahmetkucukoglu.com/en/how-to-publish-asp-net-core-application-by-using-jenkins)
- [@feed@Explore top posts about Jenkins](https://app.daily.dev/tags/jenkins?ref=roadmapsh)

@ -1,11 +0,0 @@
# TeamCity
TeamCity is a Java-based continuous integration and continuous delivery (CI/CD) platform that allows developers to automate the process of building, testing, and deploying code. It is a popular platform that supports a wide range of languages and frameworks, including ASP.NET.
In ASP.NET, TeamCity can be used to automate various tasks related to the development, testing, and deployment of ASP.NET applications. For example, you can use TeamCity to automatically build, test, and deploy an ASP.NET application to a hosting provider, such as Azure or AWS, every time you push code to your source control repository.
Visit the following links to learn more:
- [@article@Tutorial on TeamCity with ASP.NET](https://www.jetbrains.com/help/teamcity/net.html)
- [@video@How to Build ASP.NET application with TeamCity?](https://www.youtube.com/watch?v=KNzxyhSWV-4)
- [@article@How to deploy ASP.NET Core sites using Teamcity?](https://medium.com/monkii/how-to-deploy-asp-net-core-sites-using-teamcity-or-just-command-line-cf05fdee58f5)

@ -1,7 +0,0 @@
# Client Side Libraries
Client-side libraries in ASP.NET are libraries that are used to add functionality and enhance the user experience of web applications on the client-side, or the browser. Some popular client-side libraries in ASP.NET include jQuery, Bootstrap, React.js, Angular.js, and Vue.js, which can be easily integrated with ASP.NET applications by including them as a dependency in the project, and can be used to enhance the user interface, add interactive elements, and improve the user experience of your application.
Visit the following resources to learn more:
- [@video@How to use Client Side Library in ASP.NET Core](https://www.youtube.com/watch?v=VwqozSbQuec)

@ -1,8 +0,0 @@
# DotLiquid
DotLiquid is an open-source templating engine for .NET that is based on the Liquid template language. It allows you to embed dynamic data in HTML templates, and is commonly used for generating email templates, reports, and other types of documents. It is a .NET implementation of the Liquid template language, it provides a simple and easy-to-use API for parsing and rendering Liquid templates, and can be easily integrated with ASP.NET and other .NET frameworks. It is often used in web applications to separate the logic of the application from the presentation of the data, making it easy to change the appearance of the application without having to change the underlying code.
To learn more, visit the following resources:
- [@article@Guide to DotLiquid](https://discoverdot.net/projects/dotliquid)
- [@article@What is DotLiquid in ASP.NET Core?](https://grandnode.medium.com/dotliquid-in-asp-net-core-e-commerce-platform-how-to-handle-message-templates-a6865be3a612)

@ -1,8 +0,0 @@
# Noda Time
Noda Time is an open-source library for .NET that provides a more complete and accurate way of working with dates, times, and time zones. It addresses the limitations and inconsistencies of the built-in .NET DateTime and TimeZone classes, and provides a number of features that are not present in the .NET framework. It provides a set of immutable and thread-safe value types, such as LocalDate, LocalTime, and Instant. It also provides a time zone abstraction, the DateTimeZone class, that allows you to work with time zones in a more accurate and consistent way, and a set of helper classes and extension methods that make it easy to perform common date and time-related operations.
To learn more, visit the following links:
- [@official@Intro to Noda Time](https://nodatime.org/)
- [@official@What's the use of Noda Time?](https://nodatime.org/3.1.x/userguide/rationale)

@ -1,7 +0,0 @@
# GenFu
GenFu is an open-source library for .NET that provides a simple and flexible way to generate test data for use in automated testing and development. It uses a fluent API to define the types of data that should be generated, and provides a set of built-in generators for common types, such as strings, numbers, and dates. It allows you to easily generate large quantities of test data quickly, and it is especially useful when working with complex object graphs and scenarios that require large amounts of data. It also has built-in support for some of the common libraries like AutoFixture, NBuilder and more, so that you can use it seamlessly with those libraries.
To learn more, visit the following links:
- [@opensource@Overview of GenFu in ASP.NET](https://github.com/MisterJames/GenFu)

@ -1,9 +0,0 @@
# Swashbuckle
Swashbuckle is an open-source library for .NET that provides a simple and easy-to-use API for generating Swagger (OpenAPI) documentation for web APIs. It automatically generates a Swagger specification for your API based on your existing .NET code, and provides a set of tools for customizing and displaying the documentation in a user-friendly format. It can be easily integrated into an ASP.NET Core web application and has a built-in web UI for developers and users to interact with the API and test its functionality. It also supports some of the advanced features like Authentication, Authorization, and more.
To learn more, visit the following resources:
- [@article@Get started with Swashbuckle and ASP.NET Core](https://learn.microsoft.com/en-us/aspnet/core/tutorials/getting-started-with-swashbuckle?view=aspnetcore-7.0&tabs=visual-studio)
- [@article@How to Setup Swagger in ASP.NET with Swashbuckle?](https://www.andrewhoefling.com/Blog/Post/web-api-swagger-swashbuckle)
- [@article@How to use Swagger/Swashbuckle in ASP.NET?](https://www.pragimtech.com/blog/azure/how-to-use-swagger-in-asp.net-core-web-api/)

@ -1,14 +0,0 @@
# Good To Know Libraries
There are many libraries available for .NET and ASP.NET that can help you with various tasks and improve your development workflow. Some of the libraries that are commonly used and considered to be "good to know" include:
- Entity Framework
- AutoMapper
- MediatR
- FluentValidation
- Newtonsoft.Json
To learn more, visit the following resources:
- [@article@Top ASP.NET Libraries – Every Developer Should Know](https://procodeguide.com/programming/top-12-aspnet-core-libraries/)
- [@article@Top 10 .NET Libraries Every Developer Should Know](https://www.syncfusion.com/blogs/post/top-10-net-core-libraries-every-web-developers-should-know.aspx)

Some files were not shown because too many files have changed in this diff Show More

Loading…
Cancel
Save