Categorygithub.com/instinctG/exchanges
module
0.0.0-20240524114329-7d7c371d30a6
Repository: https://github.com/instinctg/exchanges.git
Documentation: pkg.go.dev

# README

Test task

Задачи:

Exchanges

Написать REST сервис по расчету всех вариантов размена для указанной суммы денег. На вход принимается HTTP запрос в формате:

{ "amount": 400, "banknotes": [ 5000, 2000, 1000, 500, 200, 100, 50 ] }

где amount – сумма денег, banknotes – доступные номиналы банкнот

Формат ответа:

{ "exchanges":

  • [200, 200],
  • [200, 100, 100],
  • [200, 100, 50, 50],
  • [200, 50, 50, 50, 50],
  • [100, 100, 100, 100],
  • [100, 100, 100, 50, 50],
  • [100, 100, 50, 50, 50, 50],
  • [100, 50, 50, 50, 50, 50, 50],
  • [50, 50, 50, 50, 50, 50, 50, 50]

}

Требования к оформлению

  • конфигурация (хост, порт, уровень логирования)
  • graceful shutdown
  • unit тесты алгоритма
  • оформлен в общедоступном git репозитории

Результат

  • реализовал конфигурацию
Host : localhost
Port : 8080
Loglevel: INFO
  • graceful shutdown в handler.go
  • написал unit test для алгоритма

Как запустить сервис?

  1. Клонируем репозиторий:
git clone https://github.com/instinctG/exchanges.git
  1. Запуск сервера:
make server

Команды

Проверить на тесты:

make test

Завершить сервер:

Ctrl + C

Эндпоинт

Токены:

  • POST /exchange

Пример ответa API:

Использовал Postman.

POST /exchange img.png

# Packages

No description provided by the author
No description provided by the author