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