docker compose up -d
docker compose down -v
make tests
make coverage
Q: Нужно ли хешировать пароль юзера?
A: Нет. Но если бы SLI были выше можно было бы использовать bcrypt.
Q: Какие минимальные и максимальные ограничения у длины пароля?
A: Минимально - 6, максимально - 20.
Q: Необходима ли консистентость данных при получении info юзера?
A: Нет, по аналогии с реальными банками, допускается получение не 100% актуальных данных(если в данный момент происходит транзакция и ещё не закоммичена, info выведет данные актуальные до этой транзакции)
Q: Где хранить товары магазина?
A: Товары магазина захардкожены с помощью switch case (чтобы не замедлять транзакции), так как их всего 10
Q: Надо ли группировать результат операций send и recieve по отпровителям при выводе info?
A: Нет, info выводит каждую операцию отдельно
Q: Как добавлять приватный и публичный ключ для подписания и валидации JWT токенов?
A: Создаём volume в Docker, где устанавливаем константный путь до секрета. При инициализации сервиса проверяется существование этого файла, если его нет, генерируется секрет и сохраняется по заданному пути внутри volume.
Q: Какой статус возвращать если недостаточно денег при переводе/покупке? Можно ли перевести 0 рублей?
A: Нет, вернем статус 400
Q: Можно ли переводить самому себе?
A: Нет, вернем статус 400.
Q: Какой алгоритм использовать для подписи JWT токена?
A: HS256