Git Product home page Git Product logo

my-bank-service's Introduction

Задача

Написать сервис личного банка, взаимодействие с которым реализуется по REST API. Необходимо предоставить работающий сервис и описание API (желательно Postman коллекцией с тестами на указанные кейсы).

Условия

Возможности банка и условия его работы:

  1. Вы там являетесь единственным вкладчиком и у вас там уже открыт счёт.
  2. Валюта счёта - суверенный лысый попугай SBP (sovereign bald parrot). Дробная часть SBP - это 2х значное суверенное пёрышко - spf (sovereign parrot feather). Курс SBP2RUB обеспечен рабским трудом фрилансеров на галерах и статичен много лет, составляя 0,7523.
  3. Все операции со счётом производятся в валюте счёта.
  4. Банк даёт возможность пополнять счёт любыми суммами.
  5. Банк обеспечивает накопления в размере 6% от суммы на счёте сразу же после каждого пополнения. Сумма дохода складывается на этот же счёт.
  6. Банк позволяет узнать баланс вашего счёта как в валюте счета (по-умолчанию), так и в RUB.
  7. Банк предоставляет возможность снятия денег со счёта, но не более 70% от суммы на счёте за раз.

Требования

Банк у нас прогрессивный, работает на sqlite базе. Первый запуск сервиса должен создать базу и проинициализировать её.

В репозитории находится интерфейс, который должен реализовывать объект счёта.

Формат входных-выходных данных: JSON

Других ограничений или требований при реализации не предусматривается.

Проверка

API будет проверено следующими тест-кейсами:

  1. Успешное пополнение изначального нулевого баланса на 72.00 SBP
  2. Запрос баланса в SBP. Результат должен быть равен 76.32 SBP
  3. Успешное пополнение на 37.50 SBP
  4. Запрос баланса в SBP. Результат должен быть равен 120.65 SBP
  5. Успешное пополнение на 10.20 SBP
  6. Запрос баланса в SBP. Результат должен быть равен 138.71SBP
  7. Неуспешный вывод 127.60 SBP
  8. Запрос баланса в SBP. Результат должен быть равен 138.71SBP
  9. Успешный вывод 30.00 SBP
  10. Запрос баланса в SBP. Результат должен быть равен 108.71SBP
  11. Запрос баланса в RUB. Результат должен быть равен 81.78RUB

Последовательность действий и проверка результатов следует оформить в Postman тестах (проверяем значение баланса) для ускорения проверки.

Код должен быть оформлен в виде форка данного репозитория.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.