/ramirez

Primary LanguageRuby

Предыстория:

Есть система, в которой есть пользователи. У каждого пользователя есть Депозит, который можно пополнять через платёжные системы. Есть Администратор, который может просматривать, списывать/пополнять депозиты пользователей. Каждая операция пополнения/списания логируется в разделе история транзакций. Реализовать такую систему

Задача:

Реализовать систему, в которой:

  1. Находится список пользователей с указанными ФИО, email, телефоном. Email и телефон уникальны в системе
  2. У каждого пользователя есть депозит. Депозит хранит текущее состояние счета пользователя в рублях. Сумма депозита не может быть отрицательной
  3. Каждый депозит имеет уникальный UUID и может быть пополнен через удаленный платёжный шлюз. Реализовать такой контроллер через который будут поступать средства на депозит.
  4. Каждый пользователь может зайти в личный кабинет и посмотреть состояние депозитного счёта.
  5. В системе есть раздел администрирования. Администратор может посмотреть список всех пользователей и их депозиты, а так же может списать средства или пополнить их вручную. Для этого он указывает сумму и причину пополнения/снятия.
  6. Все пополнения/снятия логируются в отдельной таблице с указанием суммы и причины пополнения/снятия (может быть как ручное так и автоматическое пополнение через платёжный шлюз)

UI реализовать через bootstrap. Модели, контроллеры покрыть тестами. Тесты на view и feature написать по желанию