Skip to content

kocdigital/Carbon

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Carbon

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

What's in it?

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.