Нужно сделать форму оформления заказа для сайта.
Для оформления заказа клиент должен:
- указать телефон и имя
- выбрать тариф
- выбрать первый день доставки и адрес (из возможных для данного тарифа)
После оформления заказа в БД должна появиться запись о заказе и клиенте (если такого клиента не было до этого) .
Все указанные клиентом данные должны быть сохранены.
Все заказы с одним номером телефона должны привязаться к одному клиенту в БД. Клиентов с одинаковым номером телефона не должно быть в БД. Важно: учесть ситуацию с двумя параллельными запросами, т.е. при двух одновременных запросах от одного клиента ни один из запросов не должен упасть (блокировки)
Тарифы предварительно занесены в БД, у каждого тарифа есть название, цена, и дни по которым он может доставляться.
Требования
Бэк: PHP, Laravel
БД: postgresql, mysql
Фронт: верстка bootstrap, Vue js
P.S.
Сейчас к тарифу не привязаны конкретные дни, когда можно начать доставку.
Решение в лоб: в тарифе ввести json поле, где буду написаны доступные дни недели для доставки. По ним фронт делает ограничение первого дня доставки.