Skip to content

Latest commit

 

History

History
52 lines (39 loc) · 4.21 KB

moneytransferservice.md

File metadata and controls

52 lines (39 loc) · 4.21 KB

#Курсовой проект «Сервис перевода денег»

Описание проекта

Необходимо разработать приложение — REST-сервис. Сервис должен предоставить интерфейс для перевода денег с одной карты на другую по заранее описанной спецификации.

Заранее подготовленное веб-приложение (FRONT) должно подключаться к разработанному сервису без доработок и использовать его функционал для перевода денег.

Требования к приложению

  • Сервис должен предоставлять REST-интерфейс для интеграции с FRONT.
  • Сервис должен реализовывать все методы перевода с одной банковской карты на другую, описанные в протоколе.
  • Все изменения должны записываться в файл — лог переводов в произвольном формате с указанием:
  • даты;
  • времени;
  • карты, с которой было списание;
  • карты зачисления;
  • суммы;
  • комиссии;
  • результата операции, если был.

Требования в реализации

  • Приложение разработано с использованием Spring Boot.
  • Использован сборщик пакетов gradle/maven.
  • Для запуска используется Docker, Docker Compose .
  • Код размещён на GitHub.
  • Код покрыт юнит-тестами с использованием mockito.
  • Добавлены интеграционные тесты с использованием testcontainers.

Шаги реализации:

  1. Изучить протокол получения и отправки сообщений.
  2. Нарисовать схему приложений.
  3. Описать архитектуру приложения, где хранятся настройки, описать формат хранения данных о картах.
  4. Создать репозиторий проекта на GitHub.
  5. Протестировать приложение с помощью curl/postman.
  6. Написать Dockerfile и создать контейнер.
  7. Написать Docker Compose скрипт для запуска FRONT и написанного REST-SERVICE.
  8. Протестировать запуск с помощью Docker Compose и интеграцию с FRONT.
  9. Написать README.md к проекту, где описать команду запуска, порт и примеры запросов.
  10. Отправить на проверку.

Описание интеграции с FRONT

FRONT доступен по адресу. Можно скачать репозиторий и запустить Node.js приложение локально (в описании репозитория FRONT добавлена информация, как запустить) или использовать уже развёрнутое демо-приложение по адресу (тогда ваш API должен быть запущен по адресу).

Весь API FRONT был описан в соответствии YAML файла по спецификации OpenAPI (подробнее по ссылке 1 и ссылке 2).

При возникновении любых вопросов, пожалуйста, задавайте их преподавателю.

Успехов в разработке!