.NET Web API developed for the Orange Branch program at FCamara. This API allows sign up of a user that will be able to add tasks to a list, there is also a worker watching a RabbitMQ queue, this worker is responsible for sending emails when a new user signs up or a task is created, updated or deleted.
This backend is made to work together with this frontend.
There are a few steps you need to follow in order to execute the API and the worker. First, you need .NET 8 SDK, RabbitMQ and MySQL 8.0.38.
You will also need to configure an app password for the email you will be using as sender.
You will need to set some environment variables that are used to send the emails:
ORANGE_TASKS_SMTP_SERVER
ORANGE_TASKS_SMTP_PORT
ORANGE_TASKS_SENDER_EMAIL
ORANGE_TASKS_SENDER_APP_PASSWORD
You can find more information about SMTP server configuration here.
You will need to change the connection string according to your MySQL settings. The connection string is in src/OrangeBranchTaskManager.Api/appsettings.json
.
Also, inside the src
directory, you will have to run the following command to apply the database migration:
dotnet ef database update --startup-project .\OrangeBranchTaskManager.Api\ --project .\OrangeBranchTaskManager.Infrastructure\
Finally, you will need to start both OrangeBranchTaskManager.Api
and Emailing.Worker
. You can do that with Visual Studio or JetBrains Rider, or you can run them in the command line by using dotnet watch run
inside their respective directories.