Требования к вакансии

Тестовое задание

Создать приложение приема платежей (Nextjs + Mantine или MUI, обязательное использовние кастомного CSS)

1) Добавить логин с помощью Google OAuth

2) Приложение должно выводить форму с полями:

  • Card Number
  • Expiration Date
  • CVV
  • Amount

3) Валидация:

  • Card Number - (только цифры, длина значения 16)
  • Expiration Date (формат даты MM/YYYY)
  • CVV (только цифры, длина значения 3)
  • Amount (только цифры)

4) Кнопка "оплатить":

  • должна быть активно если все поля введены корректно
  • при нажатии идет запрос на сервер с данными формы в формате JSON

5) CSS:

  • сделать фон градиентом с левого нижнего угла к правому верхнему
  • при наведение на кнопку курсором она должна плавно менять цвет слева на право
  • добавить тени для текстовых полей

6) Api :

  • должен сохранять данные в Redis или mongoDB
  • при успешном сохранении должнен возвращать ответ ID записи и Amount в формате JSON

пример запроса { "CardNumber": '0000000000000000', ExpDate: '04/2022', Cvv: '123', Amount: 100 }

пример ответа { "RequestId": '61b248040041bc64b411a691', Amount: 100 }

Отправить решение

В блоке Решение укажите ссылку на git или другой ресурс.