Задание: Laravel. Доработка сайта сравнения цен (Дистанционная работа)
Необходимо доработать сайт. Итоговый результат должен включать полноценную работу сайта сравнения цен исходя из выгрузок данных с 3 базовых магазинов (примеры данных приведены в прикрепленных файлах).
На данный момент готовы 2,5 этапа (этапы указаны ниже). Помимо этого из 4 этапа сделаны правила обрезки фоток, но поиск, сравнение товаров и страницу товара я начал, но не закончил
Стек технологий: PHP, mysql, laravel, filament.
Этапы:
1 этап:
- установка чистой системы с админкой в Docker, подготовка репо, библиотек контроля качества кода (phpstan, phpcs) и настройка развёртывания на тестовом сервере (развёртывания в ручном режиме, через Docker);
- создание основных сущностей и их редактирование в админке;
Сущности:
- администраторы (авторизация);
- категория (древовидная структура. Каждый элемент подразумевает 1 фото и связь с N-характеристиками с пометкой ключевая/неключевая);
- товар (связь с категорией, N-фото);
- фото (могут относиться к чему угодно - к товару, к категории, к постам блога. Можно учесть разные требования к форматам и качеству загружаемых фото под разные сущности);
- характеристики (связь с категориями);
- магазины;
- словарь гео;
- словарь способов доставки;
- словарь способов оплаты;
- цены (связь с гео, товаром, магазином, способ оплаты, способ доставки);
- категория блога (связь с фото);
- статья блога (связь с фото, категорией);
2 этап:
- подготовка страниц (натягивание вёрстки);
- выбор города;
- меню сайта;
3 этап:
- проектирование быстрых хранилищ (клиентский кэш, Redis) для хранения данных об избранных товарах, посещаемости страниц, популярных товарах, тегу "Хит" и т.п.;
- реализация поиска по товарам (с учётом опечаток);
- сравнение товаров;
4 этап:
- подчистка. Подразумевается окончательная настройка прав доступа, правил обработки фотографий, правил ведения статистики; правил игнорирования опечаток в поиске и т.п.;
5 этап:
- выгрузка на продакшен сервер; сдача работ.
Если вы прочитали ТЗ до конца, напишите в начале своего ответа слово "Ежевика".