This program is a todo-list demo made for my intervew with Rootie
It is a Web API that carries the purpose of receiving and processing todo items in a way that the processing runs in the background via Hangfire. And when the given schedule has been met, the program will enqueue a mailing (mock) process with RabbitMQ.
- 
Install Docker or Docker Desktop (for Windows OS) 
- 
Start powershell, command-line or your integrated terminal in the root of the project 
- 
Manage your certificates (NOTE: you may skip this step if you already know your dev cert password) - For Windows:
- The following will need to be executed from your terminal to create a cert
- dotnet dev-certs https -ep %USERPROFILE%\.aspnet\https\aspnetapp.pfx -p Your_password123
- dotnet dev-certs https --trust
 
 NOTE: When using PowerShell, replace %USERPROFILE% with $env:USERPROFILE. - 
For macOS: - 
dotnet dev-certs https -ep ${HOME}/.aspnet/https/aspnetapp.pfx -p Your_password123
- 
dotnet dev-certs https --trust
 
- 
- 
For Linux: - dotnet dev-certs https -ep ${HOME}/.aspnet/https/aspnetapp.pfx -p Your_password123
 
 
- For Windows:
- 
Edit docker-compose.yml in the root of the project, and change "Your_password123" with the one you've provided above. 
- 
docker-compose up -d
- 
When everything is done, you should be good to visit the app at https://localhost:5001
- 
Open the app via browser at https://localhost:5001/swagger
- 
You should be able to see all the available controllers with the API testing tools. 
- 
.NET Core (Web API) 
- 
PostgreSQL 
- 
Hangfire 
- 
Docker 
- 
RabbitMQ