Доработать проект по бронированию тура на Spring Boot

3 500 руб. за проект
20 мая 2022, 13:41 • 3 отклика • 28 просмотров
Есть на половину готовое приложение дипломного проекта по заказу тура. На данный момент реализована регистрация и авторизация пользователей, а также создание тура и просмотр всех туров и их персональных страниц с описанием. Также реализована страница корзины заказов текущего пользователя (тур и пользователь связаны с корзиной по связи ManyToOne)

К сожалению, дальше этого не понимаю куда двигаться дальше.

Необходимо доработать оформление брони, а именно:

  • Добавить роль «CLIENT» так, чтобы при регистрации первый пользователь был c ролью «ADMIN» (сейчас эта единственная роль), все остальные были клиенты
  • Cоздать механизм, при котором пользователь со страницы описания тура сможет добавлять этот тур в корзину (есть неработающий js код с Rest контроллером для этой цели)
  • В корзине (по адресу /cart) правильно считалась итоговая сумма, которая зависит от количества человек (на которых бронируется тур) и типа тура. При бронировании 2 и более человек предоставляется скидка 10% к итоговой сумме). После нажатия кнопки «Забронировать» сохранять данные в бд, которые будут после извлекаться и передаваться на страницу Админа.
  • На странице админа имелась таблица (отдельной ссылкой на Админ панели (она уже реализована) бронирования туров с данными пользователей (id заказа, дата заказа, имя, фамилия, отчество, телефон, эл. адрес, id тура, название тура, цена) со статусом заказа: не оплачен, оплачен, завершен. По умолчанию статус «Не оплачен». Статус можно изменить через редактирование через выпадающий список. Также записи о бронировании можно удалить.

  • После завершения первого заказа (т.е. если заказ в статусе «завершен») пользователю персонально начислялась скидка в 1% на следующую бронь. После 3+ -2%.



На текущий момент используются: Spring Boot, Spring Data JPA, JavaSpript(ajax), Thymeleaf, Rest.

БД: MySql.

Фронт: Bootstrap 4, оформление не нужно, главное, чтобы были таблицы.

Если нужно добавить новые переменные\методы в классах или классы\сущности для БД, в этом ограничений нет. Но желательно, что всё писалось через Репозитории и Сервисы.

По окончании работы желательно написать небольшие комментарии что и как было сделано для понимания работы.

Ссылку на гитхаб текущего процесса и скрипт бд вышлю при необходимости.