Изменения
- для сущности Car добавлены свойства: Name, Year, Image. Для более красивого отображения на фронте
- Страница аренды полностью переработана, машины выведены в список слева, информация об автомобиле меняется динамически справа. Фиксы
- Пофиксил избыточные запросы к бд в UnbookCarJoob
Чтобы всё заработало после пулла php artisan migrate - Изменит таблицу с автомобилями -> Очистить таблицу -> заполнить таблицу новыми значениями (все атрибуты обязательны) Создать символическую ссылку, чтобы картинки были доступны - php artisan storage:link
Код на Vue вынесен в отдельный файл resources/views/front/layouts/scripts.blade.php и подключается только на странице аренды автомобиля
Цель проекта - построить веб-приложение для аренды самокатов (для более удобного обращения самокаты заменены на машины)
Ссылка на полное задание
https://docs.google.com/document/d/1oCrB9EGXssLOJsl6lYF7O8ztcLUcifXqdQKQhXH0ekc/edit?usp=sharing
Описанные сущности Car, Pickpoint (пункт выдачи), Rent (Записи об аренде), User
Разграничение доступа к функциям через Middleware - в зависимости от значения User->getRole() - возвращает уровень авторизации пользователя. (AdminMiddleware, ManagerMiddleware)
Для автоматического снятия брони надо запустить 2 артизан процесса php artisan schedule:work php artisan queue:listen Job при вызове проверяет в бд записи об автомобилях, которые забронированы (booked), но не были арендованы (ocupied), и проверяет не истёк ли срок аренды, если истёк, автомобиль становится доступным Job занесена в Schedule и вызывается раз в минуту (машина бронируется за 2 минуты, чтобы не ждать 15 минут результата, используется Carbon) Альтернативный вариант - запускать Job сразу после брони с отсрочкой на время брони+1 секунда, от такого варианта решил отказаться
Админка на шаблоне AdminLTE 3, Фронт Bootstrap free css template
Что хотелось бы доработать или изменить: именование некоторых свойств увеличило количество шаблонов на 2 более качественно проработать шаблоны, убрать дублирование админ-менеджер, пустые ссылки, вывод данных сделать более красивым В идеале всё перевести на REST, чтобы админка было полностью отделена от пользовательской части сжать стили вебпаком и подключить локально (сейчас все подключены с CDN) сделать русификацию