- ASP.NET Core 6
- Entity Framework Core 6
- MediatR
- AutoMapper
- FluentValidation, FluentApi
- XUnit, Moq
- Newtonsoft
- Redis
- Microsoft identity
docker run -d --hostname rabbit --name rabbit rabbitmq:3-management
docker run --name mongodb -d -p 27017:27017 mongo
docker run --name <Container_Name> -e POSTGRES_PASSWORD=<ROOT_Password> -d -p 5432:5432 -v
docker ps => for Lİsting container
docker inspect {containerId} for container detail
This project established with clean architecture.
- Folder Src
- UI (Presentation)
- Application
- Infrastructure
- Domain
- BackgroundServices
- Folder tests
- UI tests (unit)
- Integration tests
=> It is the layer where the endpoints are located. It is startup project. This is the part which requests are first met.
=> It is the abstraction layer.All dto's, interfaces, behaviours etc. are in this layer.
=> Is the layer where services are located. All services (with db or without) are in this layer. And this layer contains context objects.
=> This is entities,value objects and enums layer.
=> If a list completed, the completed list pass to queue by producer. Later consumer reads queue and catch this data. After all, consumer write data to postgresql on api.
- RabbitMq
- Producer
- Consumer
=> Unit Testing is a way to test a unit, the smallest piece of code that can be logically isolated in a system.
=> Integration testing aims to test whether different components (units) of the system work together correctly.
=> For standart entities
=> For completed list (admin)
Package Manager Console
add-migration mig_AdminPostgreSql -context ProjShoppingListPostgreSqlDbContext
: We have to assign context name
=> For custom log on docker.