При разработке были использованы: Visual Studio 2019, C#, .NET Core 3.1, ASP.NET Core MVC, EntityFrameworkCore, Kendo (Telerik.UI.AspNet.Core)
База данных проектирвоалась по принципу Code First. Структура БД: https://github.com/aleksandrov-dima/BankTransfers/blob/master/BankTransfers/dbdiagram.PNG
Для аутентификации пользователя решил не использовать встроенный фунционал (ASP.Net Core Identity), а свою простую реализацию на основе пользователей и ролей.
После применения миграций также произойдет начальное заполнение справочников и тестовых данных.
Логика выполнения перевода с соответствующими проверками реализована в сервисе TransactionService.
Создание транзакции, изменение суммы счетов получателя и отправителя происходит атомарно (в одной транзакции).
К сожалению не успел реализовать логику подсчета коммисий, оставил заглушки, которые возращают 0. А также сервисы для реализации вызова дополнительных действией.