Развертывание:
npm i
docker-compose build
docker-compose up
# http://localhost:3000/
Прочие команды:
# Билд образов
docker-compose build
# Запуск контейнеров
docker-compose up
# Проверка API
curl -X POST http://localhost:3000/api/payments -H 'Content-Type: application/json' -d '{"CardNumber": "0000000000000000", "ExpDate": "04/2022", "Cvv": "123", "Amount": 100}'
# Проверка коллекции
curl http://localhost:3000/api/payments
ReactJS // MUI // NodeJS // ExpessJS // MongoDB // Docker // Nginx
СТРУКТУРА DOCKER:
◆ ─ Volume
● ─ Bundle
▲ ─ Container
data-volume ◆ ──── db ▲ ─┐
api ● ──── api ▲ ──┐
client ● ──── client ▲ ──┴── nginx ▲
-
Приложение должно выводить форму с полями:
- Card Number
- Expiration Date
- CVV
- Amount
-
Валидация:
- Card Number - (только цифры, длина значения 16)
- Expiration Date (формат даты MM/YYYY)
- CVV (только цифры, длина значения 3)
- Amount (только цифры)
-
Кнопка "оплатить":
- должна быть активно если все поля введены корректно
- при нажатии идет запрос на сервер с данными формы в формате JSON
-
Сервер: (expess/featherjs)
-
должен сохранять данные в mongoDB
-
при успешном сохранении должнен возвращать ответ ID записи и Amount в формате JSON пример запроса
{ "CardNumber": "0000000000000000", "ExpDate": "04/2022", "Cvv": "123", "Amount": 100 }
пример ответа
{ "RequestId": "61b248040041bc64b411a691", "Amount": 100 }
(edited)
-