📄️ Intro
license NuGet NuGet
📄️ Attributes
You can use built-in .Net Localization Structure with milva attributes. For this, all milva attributes have constructor with `Type resourceType parameter or they have Type ResourceType` property. Also, all attributes generate error messages with specific Localizer Key in case of unsuccessful validation. These keys are provided in the following relevant sections of the document and LocalizerKeys class. If you are going to use the built-in .Net Localization structure, you can abstract by creating dummy validation attributes in your projects and avoid typing the type repeatedly while using the attribute. Examples are given in ValidateDecimal.
📄️ Caching.Redis
Caching is a temporary storage mechanism that allows websites to load information faster. Instead of accessing the database directly, the website will access the cached version and pull the necessary information from the server memory. We make use of some solutions for caching operations. One of them and the most popular is Redis. Redis is an open source (BSD licensed), in-memory data structure store used as a database, cache, message broker, and streaming engine. Library use the StackExchange.Redis library to take advantage of Redis.
📄️ Core
It is the library where Milvasoft libraries share common components. In this part of the document, we will describe the components found in the core library one by one.
📄️ DataAccess.EfCore
Object-relational mapping (ORM) is a programming technique in which a metadata descriptor is used to connect object code to a relational database. ORM converts data between type systems that are unable to coexist within relational databases and OOP languages. Entity Framework (EF) Core is a lightweight, extensible, open source and cross-platform version of the popular Entity Framework data access technology. EF Core supports many database engines, see Database Providers for details.
📄️ DataAccess.MongoDB
MongoDB is a NoSQL cross-platform document-oriented database. It is one of the most popular databases available. MongoDB is developed by MongoDB Inc. and is published as free and open-source software.
📄️ Encryption
Encryption is a way of scrambling data so that only authorized parties can understand the information. In technical terms, it is the process of converting human-readable plaintext to incomprehensible text, also known as ciphertext. In simpler terms, encryption takes readable data and alters it so that it appears random. Encryption requires the use of a cryptographic key: a set of mathematical values that both the sender and the recipient of an encrypted message agree on. For more.
📄️ File Operations
Provides operations such as saving files, fetching, validating and using json files as database in the file system.
📄️ Identity
Includes helper structures for performing account operations such as login, logout, register, sending activation mail and more. The library takes advantage of the structure of the open source Microsoft.AspNetCore.Identity.
📄️ Integrations
Includes integrations with Expo APIs.
📄️ Job Scheduling
Provides scheduled job operations.
📄️ Mail Sender
It sends email via SMTP. You can create an object from the `MilvaMailSender class. In order to benefit from mail send operation with dependency injection, you must register the IMilvaMailSender` type in the service collection.
📄️ Middlewares
Middleware is software that provides common services and capabilities to applications outside of what’s offered by the operating system. Data management, application services, messaging, authentication, and API management are all commonly handled by middleware.Middleware helps developers build applications more efficiently. It acts like the connective tissue between applications, data, and users.
📄️ Multi Tenancy
It’s a single codebase that responds differently depending on which “tenant” is accessing it, there’s a few different patterns you can use like
📄️ Testing
Unit Testing is a method of testing the smallest piece of code called a unit. The main goal is to validate that each unit of the software performs as expected.