- In this project Onion Architecture, CQS/CQRS, MediatR patterns and tools are used.
- Project structure could be viewed in the "ProjectStructure.png" file.
- Database scheme structure could be viewed in "DatabaseDesign.png" file.
NOTE: To be able to run and start to project, there are some things that should be adjusted.
- .NET8 must be installed.
- PostgreSQL should be installed.
- Create a database called "SearchNavigate"
- The provided docker container must be running so that MicroServices runs smoothly.
- And database connection strings must be specified in the following files.
- Infrastructure/Persistence/Context/SearchNavigateContext.cs : line 25
- API/appsettings.json : line 9
- MicroServices/StreamReader/Program.cs : line 23
- Database migrations that is inside Persistance project must be updated by following command (in Vs Code Terminal) to create tables and relations.
dotnet-ef database update --context SearchNavigateDbContext --project Infrastructure/Persistence --startup-project API
- After running database update command, DataSeeding must be called only once when API is started in order to create data in database. This can be done by uncommenting 23th line in Infrastructure/Persistence/Extensions/Registration.cs.