Robust, Ready-to-use, KoçDigital Originated. It contains many useful libraries that resolves many kinds of problems in aspect of infrastructural, design pattern, wrappers, ease of usability, plug and play, standardization and so on...
You run into a trouble? Check Carbon and find if there is a library that works best for you.
Nuget Packages: https://www.nuget.org/profiles/KD.Carbon
Carbon.Sample Project (A sample webapplication that uses some Carbon libraries and implements them): https://github.com/kocdigital/Carbon.Sample
Check the descriptions in order to identify what works best for you.
Related Package | Type | Description |
---|---|---|
Carbon.Cassandra | Infrastructural | Wraps CassandraCsharpDriver library and provides handy Cassandra based operations and eases the configuration by decreasing the startup time. Cassandra is an open source NoSQL distributed database trusted by thousands of companies for scalability and high availability without compromising performance. Linear scalability and proven fault-tolerance on commodity hardware or cloud infrastructure make it the perfect platform for mission-critical data. ref: https://cassandra.apache.org/_/index.html |
Carbon.Cassandra.Abstractions | Abstraction, Infrastructural | Includes Abstractions for Carbon.Cassandra, you don't have to include this package standalone, use Carbon.Cassandra |
Carbon.Common | Base Library | Base library for multiple libraries, includes some common objects, classes, interfaces that is shared within libraries. |
Carbon.ConsoleApplication | Plug-and-Play, Standardization | Standardization for Console Applications. Add this library and have a working console application immediately with some most commonly used approaches for console applications such as Containerization, Logging, Config Management, Hosting Service etc. |
Carbon.Domain.Abstractions | Abstraction, Infrastructural | Abstraction of Carbon.Domain.EntityFramework. |
Carbon.Domain.EntityFrameworkCore | Infrastructural, DesignPattern | Contains EntityFramework-based wrappers and libraries, also introduces CQRS and Repository Pattern for SQL-based infrastructures. Makes you manage your SQL context in a secure, and multi-tenant managed way. |
Carbon.ElasticSearch | Infrastructural, DesignPattern | Wraps Nest library and provides handy ElasticSearch Based operations. It eases the configuration by decreasing the startup time. Provides CQRS over ElasticSearch. Elasticsearch is a distributed, free and open search and analytics engine for all types of data, including textual, numerical, geospatial, structured, and unstructured. ref: https://www.elastic.co/what-is/elasticsearch A Full-text search master! |
Carbon.ElasticSearch.Abstractions | Abstraction, Infrastructural | Abstraction of Carbon.ElasticSearch |
Carbon.ExceptionHandling.Abstractions | Base Library | Contains Exception Handling bases and some useful exceptions that is shared amongst carbon libraries |
Carbon.HttpClient | Wrapper | Deprecated and incomplete package. To be removed later! |
Carbon.HttpClient.Auth | Helper, DesignPattern | Simple HTTP Handler for authenticated inter-microservices communication. Recommended for only purpose of in-cluster communication. Supports oAuth2 client_credentials grant typed authorization. Both HTTP 1.1 (REST-based) and HTTP 2.0 (GRPC-based) when Carbon.WebApplication.Grpc.Client used are supported. |
Carbon.MassTransit | Infrastructural, DesignPattern, Wrapper | This package is powered up by MassTransit that is a free, open-source distributed application framework for .NET. MassTransit makes it easy to create applications and services that leverage message-based, loosely-coupled asynchronous communication for higher availability, reliability, and scalability. This package wraps up some capabilities and presents you with an easier and maintained way. It also contains some microservice design patterns and their ease of implementation beside of having RabbitMQ messaging. |
Carbon.MassTransit.Abstractions | Abstraction, Infrastructural | Deprecated. To be removed later! |
Carbon.PagedList | Abstraction, Helper, DesignPattern | Enables pagination for your SQL EntityFramework queries. Useful for UI/UX based screens. Powered by LINQ. |
Carbon.PagedList.EntityFrameworkCore | Helper | Introduces pagination extensions for IQueryables |
Carbon.PagedList.Mapster | Helper | Introduces pagination extensions for Mapster Adapt |
Carbon.Quartz | DesignPattern, Wrapper | Introduces a distributed scheduler pattern powered by Quartz.Net. This package brings you a good wrapper and extension library for Quartz.Net which is directly compatible with any scalable, clusterable, fail-over capable and persistent enviroment such as Kubernetes. This package also eases the usage and gives you some one-click of deployment enablement for the persistency context which Quartz.Net does not offer directly where it expects you to run some SQL scripts manually before deployment. |
Carbon.Quartz.Migrate.Context | Helper | This package brings you the capability of single code line of migration to bring persistency of Quartz.Net. |
Carbon.Quartz.Migrate.MSSQL | Helper | This package brings you the capability of single code line of migration to bring persistency of Quartz.Net for MSSQL. Migrates and manages, Quartz based tables automatically. |
Carbon.Quartz.Migrate.PostgreSQL | Helper | This package brings you the capability of single code line of migration to bring persistency of Quartz.Net for PostgreSQL. Migrates and manages, Quartz based tables automatically. |
Carbon.Redis | Infrastructural, Wrapper, DesignPattern | Introduces distributed cache, lock patterns. This package wraps up some Redis capabilities such as (Redis Lock, Redis PubSub, Redis Key Operations) in a single pack and presents them you with an easier and more maintainable way. It also creates some handy logics for Redis Operations which creates ease of usage and out-of-the-box serialization switch enablement which provides you with some object conversions. Also a Redis Healthcheck will be added automatically to your /health endpoint. Wraps StackExchange/StackExchange.Redis, samcook/RedLock.net, Microsoft.Extensions.Caching.StackExchangeRedis |
Carbon.Serilog | Helper | Extension library for Serilog. Introduces sensitive data masking. |
Carbon.TimeScaleDb | Infrastructural | TimescaleDB is an open-source database designed to make SQL scalable for time-series data. This package brings TimeScaleDb-specific postgresql operations out of the box and a base package for Carbon.TimeScaleDb.EntityFrameworkCore Using this package as stand-alone is not recommended. Please use the mentioned one in order to enable more capabilities and numerous type of operations set. |
Carbon.TimeScaleDb.EntityFrameworkCore | Infrastructural, DesignPattern | This package brings you essential timescale capabilities by makes you leverage the benefits of entity framework core without leaving your comfort zone against dbcontext, linq queries, code-first database-table migrations. |
Carbon.TimeSeriesDb.Abstractions | Infrastructural, Abstraction | This package brings timeserie database specific abstractions to the table and a base package for Carbon.TimeScaleDb.EntityFrameworkCore. Using this package as stand-alone is not recommended. Please use the mentioned one in order to enable more capabilities and numerous type of operations set. |
Carbon.WebApplication | Plug-and-Play, Standardization | Standardization for RESTful (HTTP 1.1) Web Applications. Add this library and have a working web application immediately with some most commonly used approaches for web applications such as Containerization, Logging, Config Management, Hosting Service, Kubernetes Enablement, OpenAPI standards (Swagger), Authorization, Authentication, Multi-tenant management, exception handling, security etc. Use this package to easily boot a fully equipped web application with a couple line of codes. |
Carbon.WebApplication.EntityFrameworkCore | Helper, DesignPattern | Brings some context-based extension methods for webapplications that uses Entityframework. Such as Migration and Read-Only Context for CQRS against SQL. |
Carbon.WebApplication.Grpc | Plug-and-Play, Standardization | Standardization for GRPC-based (HTTP 2.0) Web Applications. Add this library and have a working web application immediately with some most commonly used approaches for web applications such as Containerization, Kubernetes Enablement, Logging, Config Management, Hosting Service, Authorization, Authentication, Multi-tenant management, exception handling, security etc. Use this package to easily boot a fully equipped web application with a couple line of codes. |
Carbon.WebApplication.Grpc.Client | Helper | Helps you to communicate with GRPC-based web applications as a client, besides it brings authentication capabilities. If you want to communicate with GRPC-based web applications that uses Carbon.WebApplication.Grpc as a client, refer to this package. |
Carbon.WebApplication.SolutionService | Helper | Enables you to register your solutions, featureset and regarding permission items into tenant management space. You don't have to insert your items one by one in SQL. Use this package and leverage the advantage of code-first solution registration. Platform 360-specific package for now. |