Почему пингвины?


Всё просто! Рано или поздно, но каждому IT-шнику хочется иметь некий талисман или атрибут, который бы своеобразно демонстрировал себе самому и окружающим, какую IT-религию ты исповедуешь. Так же как и с шаманскими бубнами, настало время и мягких игрушек. Я сам лично, хотел Linux-пингвина, но всё что было найдено — было мягко говоря «не совсем пингвин» :) Поэтому, нами было принято решение самим делать его.



Процесс изготовления


Сам процесс заключался коротко в такие этапы:

1. Поиск производителя
2. Выбор материала (ткань, плюш, цвет, глаза)
3. Пошив примера
4. Утверждение замечаний (посадка попы, клюв. размер попы, лапы, форма головы...)
5. Повторение п.2, п.4 до тех пор, пока результат не будет на наш взгляд достойным.
6. Пошив большой партии по утверждённому примеру.

Атрибуты


Мы решили украсить наших пингвином полиграфическими закатными значками.
Вот как они выглядят:





Бесплатный бонус :)


Как-то ранее, мы уже писали о создании магазина бубнов. Тогда мы использовали собственную CMS, которая была написана на чистом php, с использование процедурного кода (к примеру functions.php, core.php подключались всеми файлами). Но спустя время, мы начали заниматься не только бубнами, но и IT-игрушками. Наши друзья и знакомые так же начали продавать необычные вещи: свечи из натурального воска, мёд, а так же необычное авторское варенье. Все они использовали в качестве продаж площадки известных сервисов либо социальные сети. В первом случае — надоедали навязчивые менеджеры со своими услугами продвижения Ваших товаров, сложный функционал и множество сервисных пакетов. Во-втором же случае — не было какой-то определённой организованности процесса: базы клиентов, формы заказа, статусов и т.д. Поэтому мною было принято решение написать небольшой CMS интернет магазин, на прекрасном php-фреймворке Laravel 5.1. Прежде всего, этот CMS не преследовал целей коммерческой выгоды, как и то, что планировалось на нём продавать. В том смысле, что продажа небольшой ассортимента товара не рассматривалась в качестве полноценного бизнеса, а сугубо под свои внутренние нужды и небольшой выгоды.



Что же хорошего?


  • Открытый код полностью на Laravel 5.1
  • Возможность использования всех преимуществ фреймворка
  • Bootstrap & JQuery — ориентированный интерфейс
  • Корзина товаров
  • Галлерея товаров
  • Категории товаров, а так же формирование сортировки товаров/категорий
  • Комментарии к товарам с возможностью модерации
  • SEO-оптимизация (sitemap.xml & ЧПУ)
  • Статусы заказов
  • Интеграция с системами оплаты Приват24, LiqPay
  • Интеграция со справочниками службы доставки Новая Почта
  • Рассылка писем


Собственно проект открытый, писался за неделю, но вполне production.
Ссылка на github.

Комментарии (7)


  1. andrewnester
    27.12.2015 13:27

    есть пару замечаний, которые сходу бросились в глаза
    1) папка vendor и composer.lock в репозитории
    2) местами разный стиль кодирования, для open-source проектов лучше выбирайте PSR
    3) нет тестов
    4) местами макаронный код github.com/ZENLIX/LaraShop/blob/master/laravel/app/Http/Controllers/PurchaseController.php

    ну и уже как личное предпочтение, в Laravel 5 хороший DI механизм, лично я предпочитаю его фасадам, как по мне статические фасады в Laravel было не самой классной идеей


    1. AotD
      27.12.2015 14:32

      vendor таки да, нафиг, а что не так с composer.lock? Версии зафиксированы, никаких неожиданностей.


      1. andrewnester
        27.12.2015 14:59

        ну если рассматривать этот код как код исключительно проекта/приложения, то всё ок, согласен

        честно говоря, лучше было бы оформить данный код как Laravel package, а не цельное приложение и вот там лично я бы composer.lock убрал, как советует доки по composer


  1. andrewnester
    27.12.2015 13:31

    и смотрели ли Вы на готовые решения, например, github.com/amsgames/laravel-shop


  1. Alex10
    27.12.2015 13:58

    А фильтр по атрибутам товаров есть?


  1. Pinsky
    27.12.2015 22:23

    У Вас мобильная вверстка поехала.


  1. thunderspb
    28.12.2015 16:31

    Только у меня не сходится название и содержание? Или я что-то такое не понимаю? Если второе, то объясните пожалуйста :)