Основные характеристики, функционал:
- Полная адаптивность. Даже на маленьких экранах использовать магазин удобно
- Регистрация, авторизация.
- Подтверждени регистрации через Email. Включается в настройках.
- Сам магазин ассинхронен чуть менее, чем полностью.
- Продажа внутриигровых блоков, предметов, привилегей.
- Выдача товаров происходит по средствам плагина shopping cart reloaded.
- Интеграция с платежным агрегатором robokassa.
- Мультисерверность.
- Разделение товаров на каждом сервере по категориям.
- Поддержка Sashok724's Launcher'а.
- 3 основных режима работы: покупки могут совершать только гости .(неавторизованные пользователи); только авторизованные пользователи; и те и те.
- 2 вида оформления заказа: быстрая покупка из каталога и покупка после наполнения корзины.
- (Профиль) Пополнения баланса пользователя.
- (Профиль) Просмотр внутриигровой корзины.
- (Профиль) Просмотр истории платежей.
- Разделение на предметы и товары.
- Защита от перебора паролей по средствам "заморозки" пользователя на некоторое время.
- Защита форм ReCAPTCH'ой.
- Управление некоторым функционалом магазина как из панели администратора, так и из CLI.
- Встроенный API для интеграции магазина с различными cms.
- Система собирает и формирует статистику продаж, прибыли.
- Система написана на php-фреймворке Laravel (Версия 5.4.11)
- Основные стили написаны с использование препроцессора sass
- Сборка файлов происходила при помощи сборщика проектов gulpjs
- Файлы стилей и js - код собираются в 2 минимизированных файла app.min.css и app.min.js, дабы уменьшить количество запросов к серверу
Установка:
Системные требования смотрим тут: https://laravel.ru/docs/v5/installation
1) Установить менеджер зависимостей composer (https://getcomposer.org/).
2) Скачать архив с сайта и распаковать его в любое удобно место на сервере.
3) Перейти в директорию с распакованным L-Shop и выполнить команду composer install. Дождаться окончания процедуры установки зависимостей (Файлов много и весят они не мало (Для сайта), поэтому скачивание может быть продолжительным).
4) Достать дамп таблиц из папки database/dump. Произвести импорт файла в БД.
5) Переименовать файл .env.example в .env
6) Открыть файл .env и произвести настройку:
+ APP_NAME - Имя приложения.
+ APP_URL - Адрес сайта
+ DB_HOST - Адрес сервера базы данных.
+ DB_PORT - Порт сервера базы данных.
+ DB_USERNAME - Имя пользователя базы данных.
+ DB_PASSWORD - Пароль пользователя базы данных.
+ DB_PREFIX - Префикс таблиц. Если не знаете что это, оставьте как есть.
+ MAIL_HOST - Адрес почтового сервера *.
+ MAIL_PORT - Порт почтового серевра.
+ MAIL_USERNAME - Имя пользователя почты.
+ MAIL_PASSWORD - Пароль пользователя почты.
+ MAIL_ENCRYPTION - Алгоритм шифрования соединения (Доступны: ssl, tls. Второй предпочтительней).
+ MAIL_FROM_ADDRESS - Адрес автора писем.
+ MAIL_FROM_NAME - Имя автора писем.
* Я рекомендую использовать gmail в качестве сервиса. С ним у меня не было никаких проблем (Единственное что нужно сделать, это установить чекбокс на этой странице: https://myaccount.google.com/lesssecureapps).
7) Создать нового пользователя. Сделать это можно командой "php artisan user:create username email@gmail.com password123 --activate --admin", где username - имя пользователя, email@gmail.com - email пользователя, password123 - пароль. В l-shop уже зарегистрирован администратор, вы можете войти под его аккаунтом (Имя пользователя: admin пароль: admin). Не забудьте потом удалить его или изменить данные.
8) Перейти в Администрирование > Управление > Безопасность и выполнить то, что там написано в разделе "Генератор ключей".
10) Перейти в Администрирование > Управление > Безопасность и указать ключи RECAPTCHA.
11) Перейти в Администрирование > Управление > Платежи и указать данные от сервиса ROBOKASSA.
12) Перейти в Администрирование > Управление > Оптимизация и обновить кэш маршрутов и конфигов. Это должно положительно сказаться на производительности приложения.
Информация для robokassa:
Result URL: http://example.ru/payment/result/robokassa
Success Url: http://example.ru/payment/success/robokassa
Fail Url: http://example.ru/payment/error/robokassa
Метод отсылки данных: любой.
Если вы планируете использовать API L-Shop обязательно смените секретный ключ. Сделать это можно в разделе Администрирование > Управление > API.
После проделанных операций, рекомендуем установить Directory root вашего веб-сервера в папку public.
Системные требования смотрим тут: https://laravel.ru/docs/v5/installation
1) Установить менеджер зависимостей composer (https://getcomposer.org/).
2) Скачать архив с сайта и распаковать его в любое удобно место на сервере.
3) Перейти в директорию с распакованным L-Shop и выполнить команду composer install. Дождаться окончания процедуры установки зависимостей (Файлов много и весят они не мало (Для сайта), поэтому скачивание может быть продолжительным).
4) Достать дамп таблиц из папки database/dump. Произвести импорт файла в БД.
5) Переименовать файл .env.example в .env
6) Открыть файл .env и произвести настройку:
+ APP_NAME - Имя приложения.
+ APP_URL - Адрес сайта
+ DB_HOST - Адрес сервера базы данных.
+ DB_PORT - Порт сервера базы данных.
+ DB_USERNAME - Имя пользователя базы данных.
+ DB_PASSWORD - Пароль пользователя базы данных.
+ DB_PREFIX - Префикс таблиц. Если не знаете что это, оставьте как есть.
+ MAIL_HOST - Адрес почтового сервера *.
+ MAIL_PORT - Порт почтового серевра.
+ MAIL_USERNAME - Имя пользователя почты.
+ MAIL_PASSWORD - Пароль пользователя почты.
+ MAIL_ENCRYPTION - Алгоритм шифрования соединения (Доступны: ssl, tls. Второй предпочтительней).
+ MAIL_FROM_ADDRESS - Адрес автора писем.
+ MAIL_FROM_NAME - Имя автора писем.
* Я рекомендую использовать gmail в качестве сервиса. С ним у меня не было никаких проблем (Единственное что нужно сделать, это установить чекбокс на этой странице: https://myaccount.google.com/lesssecureapps).
7) Создать нового пользователя. Сделать это можно командой "php artisan user:create username email@gmail.com password123 --activate --admin", где username - имя пользователя, email@gmail.com - email пользователя, password123 - пароль. В l-shop уже зарегистрирован администратор, вы можете войти под его аккаунтом (Имя пользователя: admin пароль: admin). Не забудьте потом удалить его или изменить данные.
8) Перейти в Администрирование > Управление > Безопасность и выполнить то, что там написано в разделе "Генератор ключей".
10) Перейти в Администрирование > Управление > Безопасность и указать ключи RECAPTCHA.
11) Перейти в Администрирование > Управление > Платежи и указать данные от сервиса ROBOKASSA.
12) Перейти в Администрирование > Управление > Оптимизация и обновить кэш маршрутов и конфигов. Это должно положительно сказаться на производительности приложения.
Информация для robokassa:
Result URL: http://example.ru/payment/result/robokassa
Success Url: http://example.ru/payment/success/robokassa
Fail Url: http://example.ru/payment/error/robokassa
Метод отсылки данных: любой.
Если вы планируете использовать API L-Shop обязательно смените секретный ключ. Сделать это можно в разделе Администрирование > Управление > API.
После проделанных операций, рекомендуем установить Directory root вашего веб-сервера в папку public.
Если вы планируете вносить изменения в код проекта, то для удобства, вам потребуется включить режим отладки. Сделать это можно выставив элемент APP_DEBUG в файле .env в значение true.
Во время разработки, мы использовали сборщик проектов Gulp.js (http://gulpjs.com/), чего и вам советуем. Если вы собираетесь видоизменять стили и js код системы, то вам потребуется установить его.
Но перед этим, конечно же, нужно будет поставить npm (Для этого устанавливаем nodeJS).
Далее, переходим в директорию с проектом и выполняем команду "npm install", дожидаемся окончания загрузки и установки компонентов (Тут сразу вспоминается мем про папку node_modules и черную дыру, возможно, кто-то видел).
Отлично, теперь вы можете видоизменять стили и js, как вам захочется и, после того как закончите, нужно будет прописать команду gulp styles и gulp scripts. Gulp все соберет и минимизирует и, в результате, получаться 2 файла: public/css/app.min.css и public/app.min.js
Во время разработки, мы использовали сборщик проектов Gulp.js (http://gulpjs.com/), чего и вам советуем. Если вы собираетесь видоизменять стили и js код системы, то вам потребуется установить его.
Но перед этим, конечно же, нужно будет поставить npm (Для этого устанавливаем nodeJS).
Далее, переходим в директорию с проектом и выполняем команду "npm install", дожидаемся окончания загрузки и установки компонентов (Тут сразу вспоминается мем про папку node_modules и черную дыру, возможно, кто-то видел).
Отлично, теперь вы можете видоизменять стили и js, как вам захочется и, после того как закончите, нужно будет прописать команду gulp styles и gulp scripts. Gulp все соберет и минимизирует и, в результате, получаться 2 файла: public/css/app.min.css и public/app.min.js



0.1.0 (от 09.03.2017):
- Бета - релиз системы.
- Добавлена возможность продажи привилегий.
- Добавлена страница настройки профиля пользователя. На этой странице авторизовавшийся пользователь сможет: менять пароль (Включается/отключается в админ-панели); сбрасывать логин-сессии своего аккаунта, дабы выйти из аккаунта на всех устройствах.
- В админ-панели теперь можно вручную разлогинить пользователя.
- В админ-панель добавлен раздел Статистика > просмотр статистики. В нем вы можете посмотреть информацию о продажах и доходах вашего магазина.
- Исправлены баги.
- Поправлена верстка.
- Добавлена интеграция с Sashok724's Launcher (Так же написан гайд. Посмотреть его можно в разделе Администрирование > Информация > Документация > Гайд по интеграции Sashok724's Launcher).
- Возможность использовать "Белый лист" ip адресов. Туда следует добавить адрес лаунчсервера, дабы разрешить проверять данные пользователей только ему.
- Рефакторинг кода.
- Исправлены ошибки.
- Улучшена стабильность.
- Добавлен раздел Администрирование > Другое > Отладка.
- На этой странице присутствует тестовая отправка письма.
- Теперь товары удаляются рекурсивно, если удаляется предмет, к которому этот товар привязан.
- Начата реализация кеширование. Реализовано кеширование статистики в админ-панеле.
- Пофиксил баги.
- Отрефакторил код.
- Добавлена API-регистрация + документация к ней.
- Реализована система статических страниц (Добавление/редактирование/удаление). Для удобного редактирования страниц используется WYSIWYG - редактор Trumbowyg. Большим преимуществом статических страниц является то, что они полностью кешируются. Это означает, что при запросе таких страниц, системе не нужно выполнять запрос к базе данных. Время "жизни" кеша можно настроить в Администрирование > Управление > Оптимизация.
- Добавлена возможность сброса пароля. Пользователь вводит свой email, ему на почту приходит сообщение с ссылкой, перейдя по которой, он может сменить пароль на другой. (Эта функция включается в разделе Администрирование > Управление > Безопасность).
- Теперь подсказки в админ-панели можно закрыть. Система "запоминает" ваш выбор.
- Добавлены сообщения об отсутствии товаров, предметов, страниц в админ-панели. Теперь, если в какой-либо категории отсутствуют товары, пользователь видит сообщение об этом.
- Администраторы могут очистить кеш приложения (Раздел Администрирование > Управление > Оптимизация).
- Ряд новых опций для более тонкой настройки магазина.
- Документация обновлена.
После установки не забудьте посетить Администрирование > Информация > Документация. Там вы найдете некоторое количество, надеюсь, полезной информации.