-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathDOTNETCOREFRAMEWORKS.csv
More file actions
We can make this file beautiful and searchable if this error is corrected: Illegal quoting in line 15.
29 lines (28 loc) · 7.14 KB
/
Copy pathDOTNETCOREFRAMEWORKS.csv
File metadata and controls
29 lines (28 loc) · 7.14 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
# SPDX-FileCopyrightText: 2026 Priya Vijai Kalyan <priyavijai.kalyan2007@proton.me>
# SPDX-FileCopyrightText: 2026 Outcrop Inc
# SPDX-License-Identifier: MIT
# Repository: instructions
# File GUID: 2df32ac0-c681-4625-b3c3-1595f1212b41
# Created: 2026
Framework|Github Link or Nuget Link|Description|Quality|Recommendation
ASP.NET Core|https://github.com/dotnet/aspnetcore|The primary open-source web framework for building modern web apps and APIs in .NET.|Industry Standard|Essential. This is the foundation for your Web API and hosting your Angular/React/Bootstrap frontend. It is high-performance and fully supported by Microsoft.
Entity Framework Core|https://github.com/dotnet/efcore|The official modern object-database mapper for .NET. Supports LINQ queries, change tracking, updates, and schema migrations.|High|Use this as your primary ORM for PostgreSQL (via Npgsql). It is significantly faster than older versions and handles complex relationships required in B2B SaaS tenancy models perfectly.
Npgsql|https://github.com/npgsql/npgsql|The .NET data provider for PostgreSQL. It allows you to connect and interact with PostgreSQL server.|Critical / High|Required. This is the underlying driver that EF Core will use to talk to your PostgreSQL database. It supports advanced Postgres features like JSONB and arrays out of the box.
StackExchange.Redis|https://github.com/StackExchange/StackExchange.Redis|High-performance general purpose Redis client for .NET.|Industry Standard|Use for your caching layer. It handles high throughput efficiently. Wrap this with a caching service or use IDistributedCache in ASP.NET Core for simpler scenarios.
System.Text.Json|https://www.nuget.org/packages/System.Text.Json|The built-in, high-performance, low-allocation JSON library for .NET.|Standard / High|Use this instead of Newtonsoft.Json. It is the default in .NET Core, much faster, and strictly standards-compliant. Essential for your API payloads and storing JSONB in Postgres.
Serilog|https://github.com/serilog/serilog|A diagnostic logging library for .NET applications. It emphasizes structured logging (logging data, not just text).|Gold Standard|Must-have. Configure it to sink to Elasticsearch (or files/console during dev). Structured logging is vital for debugging SaaS issues where you need to filter logs by TenantId or UserId.
MassTransit|https://github.com/MassTransit/MassTransit|A free, open-source distributed application framework for .NET. It abstracts the message bus (RabbitMQ, Azure Service Bus, Amazon SQS).|Best in Class|Essential for your Pub/Sub requirement. It simplifies complex messaging patterns (Request/Response, Sagas, Retry policies) and ensures your async messaging is robust and decoupled.
Elsa Workflows|https://github.com/elsa-workflows/elsa-core|A .NET workflow engine that allows you to execute workflows defined in code or via a visual designer (similar to ActivePieces/Zapier but embedded).|High / Growing|Perfect fit for your "orchestration/ActivePieces" requirement. Use it to build user-definable workflows (e.g., "If lead created, send email") directly inside your SaaS.
FluentValidation|https://github.com/FluentValidation/FluentValidation|A popular .NET library for building strongly-typed validation rules.|High|Use this to validate incoming API requests (DTOs). It separates validation logic from your business logic and controllers, keeping your code clean and testable.
Refit|https://github.com/reactiveui/refit|The automatic type-safe REST library for .NET. It turns your REST API definition into a live interface.|High|Use this for server-to-server communication (e.g., if your backend needs to call other microservices or external APIs). It is cleaner than manually using HttpClient.
Polly|https://github.com/App-vNext/Polly|A resilience and transient-fault-handling library that allows developers to express policies such as Retry, Circuit Breaker, Timeout, and Fallback.|Industry Standard|Wrap your external API calls (Redis, Elasticsearch, 3rd party APIs) with Polly policies to prevent your SaaS from crashing when a dependency blips.
Hangfire|https://github.com/HangfireIO/Hangfire|An easy way to perform background processing in .NET and .NET Core applications. No Windows Service or separate process required.|High / Mature|Use for background jobs that are not message-based (e.g., nightly billing reports, database cleanup). It has a built-in dashboard which is excellent for B2B admins to monitor job status.
Elastic.Clients.Elasticsearch|https://github.com/elastic/elasticsearch-net|The official strongly typed client for Elasticsearch.|Official|Use for your search requirements. It maps .NET objects to Elasticsearch documents. Ensure you use the v8+ client for modern features and better performance.
MediatR|https://github.com/jbogard/MediatR|Simple, unambitious mediator implementation in .NET. Supports request/response, commands, queries, notifications, and events.|Very Popular|Highly recommended to decouple your API Controllers from business logic. It pairs perfectly with CQRS patterns often used in scalable SaaS architectures.
Mapster|https://github.com/MapsterMapper/Mapster|A fast, code-generation based object mapper (alternative to AutoMapper).|High Performance|Use for mapping your Database Entities to API DTOs. It is faster and more memory-efficient than AutoMapper, which is crucial for high-load SaaS applications.
NodaTime|https://github.com/nodatime/nodatime|A date and time handling library for .NET (spiritual successor to Joda Time in Java).|Best in Class|Use this if your SaaS deals with complex time zones or scheduling (e.g., booking systems). For simple "CreatedDate" timestamps, standard .NET DateTimeOffset is sufficient, but NodaTime prevents time-zone bugs.
xUnit|https://github.com/xunit/xunit|The premier unit testing framework for .NET, written by the original inventor of NUnit.|Standard|Use for all your backend testing. It is modern, opinionated, and works seamlessly with .NET Core parallel test execution.
FluentAssertions|https://github.com/fluentassertions/fluentassertions|A set of .NET extension methods that allow you to more naturally specify the expected outcome of a TDD or BDD-style unit test.|High|Use this in conjunction with xUnit to make your test code readable and expressive (e.g., result.Should().Be(5)).
Math.NET Numerics|https://github.com/mathnet/mathnet-numerics|Provides methods and algorithms for numerical computations in science, engineering and every day use.|Mature|Use this if you need the "Numpy" equivalent for .NET. It handles matrices, linear algebra, and statistics efficiently for backend calculations.
ML.NET|https://github.com/dotnet/machinelearning|An open source and cross-platform machine learning framework for .NET.|Official|Use this if you need "PyTorch" style capabilities natively in C#. It allows you to train models or consume ONNX models (exported from PyTorch/TensorFlow) directly in your .NET app.
Swashbuckle.AspNetCore|https://github.com/domaindrivendev/Swashbuckle.AspNetCore|Generates beautiful API documentation (Swagger/OpenAPI) directly from your code and XML comments.|Industry Standard|Mandatory. This generates the swagger.json that your frontend (Typescript) developers can use to auto-generate their API clients, ensuring frontend/backend sync.