Is a SAMPLE ASP.NET Core Web App to show basic DevOps Steps, using Azure DevOps and Jenkins:
- Customers: Simple Data-Driven CRUD API for Customers.
- Loan. Sample API using CQRS + Event Sourcing and DDD.
API Project:
- Controller. Just a think controller/class to call the API logic.
- Middlewares. ASP.NET MVC Middleware.
- Filters. ASP.NET MVC Filters.
- Application. API Logic
Customers Application Folder
LOAN Application Folder by Domain (Customers and Accounts):
- Serilog
- Swagger
- Entity Framework Core for Commands.
- Dapper for Queries
- MediatR as Mediator/Brocker
- Marten to save events using PostgreSQL
- Automapper. Optional to map Model/Requests and Responses/ViewModels.
- Pomelo.EntityFrameworkCore.MySql. MySQL using EF Core.
Notes:
- Services or Gateways class. Implementation from Domain interfaces to interact with Command and Query Handlers.
- Command, Query, Handlers and Event: CRQS and Event Sourcing Pattern.
- Models. Used by Controllers as Input requests/dtos.
- ViewModels. Used by Controlloers as output as responses/projections. Also know as QueryResults by QueryHandlers.
All those new Patterns, Tools and Platforms, will be Blog Post entries in elGuerre.com
- Everything using Docker
- Everything using Kubernetes
- RabitMQ or
- Apache Kafka as Message
- IstioBroker.
- Apply Azure Service BUS
- Save Events to Azure Streamstone
- Terraform
- Docker for MySQL:
.\deplo\mysql\start.cmd
- Docker for PostgreSQL:
.\deploy\postgres\start.cmd
- Run Entity Framework Migration:
cd MyBudet\Api.Application.
dotnet ef migrations add Init --startup-project ..\MyBudget.Api\MyBudget.Api.csproj
dotnet ef database update --startup-project ..\MyBudget.Api\MyBudget.Api.csproj