Данный проект разрабатывался в качестве курсового проекта СПБКТ
❗ ONE OF MY FIRST PHP PROJECTS, BAD PRACTICES E.T.C.
❗ ОДИН ИЗ МОИХ ПЕРВЫХ ПРОЕКТОВ НА PHP, ПРЕДСТАВЛЯЕТ ИЗ СЕБЯ НАБОР ХУДШИХ ПРАКТИК ПРОЕКТИРОВАНИЯ ВЕБ-ПРИЛОЖЕНИЙ, ТАК ПИСАТЬ НЕ НУЖНО. ВОЗМОЖНО КОГДА-НИБУДЬ БУДЕТ СДЕЛАН РЕФАКТОРИНГ
Репозиторий веб-сайта tracky-searches.ru
Данный проект представляет из себя сервис по отслеживанию посылок.
Приложение поделено на 4 основных модуля:
- admin - модуль, реализующий панель администратора
- auth - модуль, реализующий функционал регистрации и авторизации, также функционал восстановления пароля
- tracking - модуль, реализующий функционал отслеживания почтовых отправлений и онлайн-чат
- user - модуль, реализующий раздел профиля пользователя
Перед началом работы с проектом требуется установить дополнительные модули:
$ composer install
Все требуемые компоненты и зависимости будут загружены в директорию vendor
Настройка подключения к вашей базе данных производится в файле конфигурации config/db.php
После настройки подключения для воссоздания требуемой структуры таблиц проекта следует применить миграцию:
$ php yii migrate
Для работы функционала, требующего отправку e-mail сообщений требуется произвести настройку SMTP
Для этого в файле конфигурации config/email_data.php
произведите настройки в соответствии с вашим почтовым клиентом:
return [
'class' => 'Swift_SmtpTransport',
'host' => 'smtp.mail.ru',
'username' => 'email@mail.ru',
'password' => 'email-passsword',
'port' => '465',
'encryption' => 'ssl',
];
В классе для отправки сообщений на почту components/SendEmail.php
следует заменить значение константы EMAIL_FROM
(отправителя):
const EMAIL_FROM = 'email@mail.ru';
Подробнее о работе SwiftMailer можно узнать в официальной документации плагина.
По-умолчанию переводчик выключен, при желании вы можете настроить его в config/params.php
,
для этого укажите ваш API-ключ, и измените параметр active
на true
:
'googleTranslate' => [
'key' => 'your-api-key',
'active' => false,
],
*Подробнее о работе с Google API можно узнать на официальной странице Google API
Зарегистрируйте ваш домен на официальной странице reCaptcha
Введите полученные данные в конфигурацию config/reCaptcha_data.php
:
return [
'name' => 'reCaptcha',
'class' => '\himiklab\yii2\recaptcha\ReCaptcha',
'siteKey' => 'your-site-key',
'secret' => 'your-secret-key',
];
Для того, чтобы дать пользователю роль администратора в приложении - нужно определить его с помощью id в rbac/assignments.php
return [
1 => [
'admin',
],
];
Сервисы парсера находятся в директории modules/tracking/classes/services
. По умолчанию сервис определяется 2мя последними символами трек-номера, что соответствует общему стандарту трек-номеров ...XX. Соответственно при необходимости - добавление нового парсера требует лишь создания нового класса-сервиса. Каждый сервис должен наследовать общий интерфейс modules/tracking/classes/ServiceInterface.php
, и реализовывать один метод - getResult($track)
. Метод должен возвращать массив данных информации по трек-номеру.