Здравствуйте.
Нужно исправить 3 кейса при покупке билетов на стендап.
1. При проверке промокода для отображения цены со скидкой нужно не считать ее на frontend, как сейчас, а брать ту, которую прислал api.
ТЗ на промокоды (этот функционал уже реализован) описано в фигме на макете виджета продажи билетов:
2. При выборе места API может вернуть ошибку. В таком случае надо не только показывать ошибку, которую прислал api, но и это место надо убирать с карты зала и отображать его как проданное, чтобы пользователь уже не мог его выбрать.
3. Страница успешной оплаты отображается в iframe, на фоне виджета со схемой зала и страницы события.
Есть два вида событий. Одни продаются чисто в нашей системе, для других все билетные операции проходят через шлюз. В первом случае после закрытия iframe с успехом меню ввода данных покупателя скрывается, места помечаются оплаченными и уже недоступны к покупке, и юзера всё устраивает. Во втором — этого не происходит и это не ожидаемое поведение для юзера. При этом дальнейшие манипуляции вызывают ошибки, так как места по факту уже заняты.
Кейсы снабжены видео и подробными описаниями от тестировщика. Также есть полностью отрисованный процесс заказа билетов.
Работу самого виджета можно посмотреть здесь:
Стек веб-приложения:
Vue3, nuxt, SASS, Vuex, Pinia, TypeScript.
Docker;
Websockets (CentrifugeJS)
На бекенде функционал реализован, есть swagger.
В ответе просьба написать:
1. Ваши вопросы.
2. Стоимость вашей работы или стоимость часа.
3. Ссылки на примеры реализованных проектов на Vue.