Coder Social home page Coder Social logo

kallebelins / mvp24hours-netcore-samples Goto Github PK

View Code? Open in Web Editor NEW
25.0 3.0 2.0 3.43 MB

Samples for quick product building using: Relational database (SQL Server, PostgreSql, MySql); NoSql database (MongoDb); Key-value database (Redis); Message Broker (RabbitMQ); Pipeline (Pipe and Filters pattern); Documentation (Swagger); Mapping (AutoMapper); Logging (NLog); Patterns for data validation (FluentValidation and Data Annotations), notification (Notification pattern) and specifications (Specification pattern), unit of work, repository, among others.

License: MIT License

C# 99.72% CSS 0.24% JavaScript 0.04%

mvp24hours-netcore-samples's Introduction

mvp24hours-netcore-samples (v3.2.241)

Samples for quick product building using: Relational database (SQL Server, PostgreSql, MySql); NoSql database (MongoDb); Key-value database (Redis); Message Broker (RabbitMQ); Pipeline (Pipe and Filters pattern); Documentation (Swagger); Mapping (AutoMapper); Logging (NLog); Patterns for data validation (FluentValidation and Data Annotations), notification (Notification pattern) and specifications (Specification pattern), unit of work, repository, among others. In each project there is a file with the description of the resources and implemented references. Read the "Readme.md" file in the "...WebAPI" folder.

Study, share and contribute:

Visit: https://mvp24hours.dev/

Projects - NLayers

Simple

N-tier project used to develop APIs where the business needs to apply simple rules.

Health Checks

Simple WebStatus Allows you to monitor the health of applications and tools (SqlServer, PostgreSql, MySql, RabbitMQ, MongoDB, Redis, ...).

Relational Database (MySql, PostgreSql, SqlServer)

CRUD - EF - Simple Allows you to search with pagination, get an item, create, change and delete. Operations are performed by transiting a database entity. If you intend to develop a product that will be consumed publicly (outside of a private network), use CRUD - EF - Complex.

CRUD - EF - Dapper - Simple Allows you to search with pagination and get an item (with navigation) using Dapper. The operations to create, change and delete are performed with EF and traffic a database entity. If you intend to develop a product that will be consumed publicly (outside of a private network), use CRUD - EF - Dapper - Complex.

CRUD - EF - Entity Log - Simple Allows you to search with pagination, get an item, create, change and delete. Operations are performed by transiting a database entity. The architecture coordinates created/by, modified/by, and removed/by log fields. It is worth mentioning that all queries will contain the removed filter, taking into account the SoftDelete reference. If you intend to develop a product that will be consumed publicly (outside of a private network), use CRUD - EF - Entity Log - Complex.

Database NoSql - MongoDb

CRUD - MongoDb - Simple Allows you to search with pagination, get an item, create, change and delete. Operations are performed by transiting a database entity. It is worth mentioning that we must create strategies for recording data since there is no relationship. If you intend to develop a product that will be consumed publicly (outside of a private network), use CRUD - MongoDb - Complex.

Database NoSql - Redis

CRUD - Redis - Simple Allows you to get an item, create and delete. Operations are performed by referencing a key to that key-value database. We often use this solution for cache management, as Redis is an in-memory database with incredible performance.

Message Broker - RabbitMQ

CRUD - EF - RabbitMQ - Simple Allows you to search with pagination, get an item, create, change and delete. Operations are performed asynchronously from a queue managed by RabbitMQ. We use HostedService to consume RabbitMQ messages from the web project, that is, the messages will be processed while the API is running.

Pipeline

Pipeline - Simple Pipeline pattern with simple operations.

Complex

N-tier project used to develop APIs where the business needs to apply complex rules, higher level of security, less data traffic, validation of sensitive data and separation of responsibilities or consumption by other technologies and projects.

Relational Database (MySql, PostgreSql, SqlServer)

CRUD - EF - Complex Allows you to search with pagination, get an item, create, change and delete.

CRUD - EF - Dapper - Complex Allows you to search with pagination and get an item (with navigation) using Dapper. The operations to create, change and delete are performed with EF.

CRUD - EF - Only Entity - Complex Allows you to search with pagination, get an item, create, change and delete. We do not create object for traffic and mapping. We use the database entity itself.

CRUD - EF - Entity Log - Complex Allows you to search with pagination, get an item, create, change and delete.

Database NoSql - MongoDb

CRUD - MongoDb - Complex Allows you to search with pagination, get an item, create, change and delete.

Pipeline

Pipeline - Builder - Complex Pipeline pattern with operations registered through constructors. Excellent strategy for use cases.

Pipeline - Complex Pipeline pattern with simple layered operations.

Pipeline - Ports and Adapters - Complex Pipeline pattern with operations recorded via constructors. We associate this strategy with the very loosely coupled Ports and Adapters architecture model.

Pipeline - EF (MySql, PostgreSql, SqlServer) - Complex We generally use it for service integration. The pipeline concept is excellent for tracking all the steps (operations/filters) performed in an integration (adapter/mediator/register/filter). In this solution we obtain the data in an integration and register it in a database with EF.

Donations

Please consider donating if you think this library is useful to you or that my work is valuable. Glad if you can help me buy a cup of coffee. ❤️

Community

Users, interested parties, students, enthusiasts, developers, programmers connect on LinkedIn to closely follow our growth!

Sponsors

Be a sponsor by choosing this project to accelerate your products.

mvp24hours-netcore-samples's People

Contributors

kallebelins avatar

Stargazers

Márcio Mello avatar Augusto César Muniz avatar  avatar ADRIANO DE PINHO TAVARES avatar João Antônio Silva Ramos avatar  avatar Amir avatar Olin Brien avatar Edjaine Soares Oliveira avatar Claudio Alves da S. Junior avatar  avatar  avatar Andre Morata avatar Anderson Pavia avatar André Nascimento avatar  avatar Abraão Állysson dos Santos Honório avatar Thiago Coppi avatar Shawn Charles avatar Erfan Hanifezade avatar Tuan Nguyen avatar Fabrício Pinto Ferreira avatar Wellington Cristi Vilela Santana avatar Fernando Domingos Bezerra avatar Andre Baltieri avatar

Watchers

Daniel Fonseca Castro avatar Bruno Bennotti avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.