Before starting the development I just want to quickly share some info about my current setup, to avoid later misconceptions. I'll be building this system using the following:
Windows 11 Pro
Docker Desktop (currently at version 4.13.1, with WSL integration enabled)
First steps
Before doing anything else, I've created a GitHub repository called SenselessEvents
to ensure proper versioning. I used VisualStudio
.gitignore template to ensure that all unwanted files will be ignored.
I'm used to IDEs such as Rider or Visual Studio when working with .NET. However, this whole thing is a learning experience, so I'll just use terminal commands.
cd SenselessEvents
dotnet new sln
This created a new solution file that groups .NET projects and enables us to build them all at once.
Next, let's create 2 console projects for producing and consuming events and add them to our solution.
mkdir Producer
cd Producer
dotnet new console
cd ..
dotnet sln add .\Producer\Producer.csproj
mkdir Consumer
cd Consumer
dotnet new console
cd ..
dotnet sln add .\Consumer\Consumer.csproj
To verify that everything went well, let's build the solution, then commit and push our changes.
dotnet build
git add .
git commit -m "Initial project structure"
git push
Now that we have the basic project structure in place, we can create the first version of the producer application.