Разработка интернет-магазина на Laravel

Можно все варианты посмотреть?
Мир делится на «конструкторы» (Tilda, Wix) и «экосистемы». Конструктор — это закрытая коробка. Если вам захочется прикрутить туда хитрую систему лояльности или специфический расчёт доставки, вам скажут: «Извините, это не предусмотрено». Раскурочить и заставить работать иногда можно, но это долгий и дорогой путь. Поэтому конструктор — почти всегда тупик на каком-то этапе роста. Они хорошо работают в конкретный момент времени. Их проблема в том, что они не позволяют расти и развиваться. Увеличился трафик или нужно внедрить новый функционал — и при каждом таком случае нужно решать, переписывать всё с нуля или как-то бороться с тем механизмом, в котором такие изменения, как минимум, не предусмотрены, как максимум — принципиально невозможны.
Почему Laravel?
Laravel — это гигантская экосистема с сотнями тысяч разработчиков. Тоже похож на конструктор Lego, но детали можно печатать на 3D-принтере самому. Это быстрее, чем писать всё с нуля, и бесконечно гибче, чем любая готовая CMS. Ваш сайт не станет «тупиковым» через год — он будет расти вместе с вами. В перспективе нескольких десятков лет точно не придётся ничего переделывать «с нуля». Переделывать, оптимизировать, дополнять — пожалуйста, но это будут улучшения на базе того, что уже хорошо работает.
Механизмы и принципы взаимодействия компонентов давно опробованы на тысячах внедрений, протестированы и отлажены десятками тысяч разработчиков. Нужны изменения? Заказать их можно у огромного числа людей, работающих с этой экосистемой. Вы не привязаны к конкретному программисту, который пишет в своём стиле только ему понятный код.

Посмотрите, как это работает прямо сейчас на Kat.ru

В Laravel не нашлось модуля, который рассчитывает стоимость доставки так, как нужно мне. Пришлось самому написать, и он таков, каким его хотел видеть конкретно я. Возможно, другим не подойдёт. Тогда можно сделать похожий, но более продвинутый. Мне нравится простота. Как он работает? Он рассчитывает стоимость доставки от одного почтового отделения России до другого почтового отделения России. Это понятный и самый дешёвый вариант, а почтовые индексы используются не только Почтой РФ, но и большинством других служб доставки для достаточно точного определения местонахождения пользователей в пределах города (квартал или несколько ближайших). Я рассчитываю для Почты РФ и СДЭК. Можно добавить другие службы.
Итак, сначала автоматически определяется местоположение каждого посетителя. Обычно с точностью до города. В каждом городе есть главпочтамт, у которого есть почтовый индекс. Таким образом, если два человека просто зашли на Kat.ru и вообще ничего не сообщили о себе, я уже с точностью до 10–20 рублей могу определить стоимость доставки между ними любого груза, стандартного или негабаритного. Если кто-то из них (обычно продавец, конечно) укажет ближайшее к себе почтовое отделение, то результат расчёта будет точнее. Если и покупатель укажет свой точный адрес доставки, то рассчитать её стоимость я могу уже до копеек.
Можно сделать что-то более мощное? Определённо! Можно посчитать стоимость доставки между странами, экспресс-доставку, с оценочной стоимостью, курьерскую и т.д. Но мне просто не нужно. Например, для международной доставки придётся учитывать таможенные пошлины, динамику курсов валют, специфику всех конкретных стран… всё это приведёт к излишне сложному интерфейсу, а результат всё равно не будет точным. И зачем тогда такой результат? В общем, у каждого своё видение. Для Kat.ru я его реализовал вот так. Для магазина, продающего снег инуитам Канады 40-футовыми морскими контейнерами, придётся расчёт доставки переделывать, т.к. мой явно не подойдёт. Мой подойдёт для России. От почты до почты. Никаких «менеджер перезвонит и уточнит стоимость». Сразу. Честно. Автоматически.

Коротко о главном:

  • ✔️ Конструкторы (Tilda, Wix) — тупик при росте бизнеса.
  • ✔️ Laravel — гибкая экосистема, которая развивается вместе с вами.
  • ✔️ Вы не привязаны к одному программисту — закажете изменения у любого специалиста.
  • ✔️ Логистику можно автоматизировать полностью — от геолокации до точной стоимости доставки.
Итак, дизайн сделали, странички прорисовали, логика вывода товаров, логика заказов, общение с клиентами — всё работает. Может дополнительно поиск добавили, по IP-адресу определяем местонахождение потенциального покупателя и автоматически рассчитываем доставку до него. «Ура» что ли?! Нет, ещё и экватор не пересекли. Магазин пуст, нужно добавить товары. И здесь хорошая возможность осмотреться и проанализировать, как оптимизировать сайт так, чтоб поисковикам они были хорошо видны. По возможности, не только сами товары, но и все информационные страницы сайта, которые должны быть общедоступны. Это две совершенно разные задачи, но решать их желательно синхронно.