Hello :-)
Thanks for the opportunity to code this task, it was quite fun!
Of course, because of the time constrains, it was a great challenge to decide what to focus on :-) I've placed a couple of comments in the code to show what I would do next. I'd, of cours,e on top of more tests and caching add logging as well.
I've done the task in .net core 2.2, I hope that's ok :-) Hope you have fun going through it,
Cheers! Agata