/tracky-searches-Yii

📫 Веб-приложение. Система трекинга почтовых отправлений.

Primary LanguagePHPOtherNOASSERTION

Данный проект разрабатывался в качестве курсового проекта СПБКТ

tracky-searches-Yii 📫

❗ ONE OF MY FIRST PHP PROJECTS, BAD PRACTICES E.T.C.

❗ ОДИН ИЗ МОИХ ПЕРВЫХ ПРОЕКТОВ НА PHP, ПРЕДСТАВЛЯЕТ ИЗ СЕБЯ НАБОР ХУДШИХ ПРАКТИК ПРОЕКТИРОВАНИЯ ВЕБ-ПРИЛОЖЕНИЙ, ТАК ПИСАТЬ НЕ НУЖНО. ВОЗМОЖНО КОГДА-НИБУДЬ БУДЕТ СДЕЛАН РЕФАКТОРИНГ

Репозиторий веб-сайта tracky-searches.ru

О приложении

Данный проект представляет из себя сервис по отслеживанию посылок.

Приложение поделено на 4 основных модуля:

  • admin - модуль, реализующий панель администратора
  • auth - модуль, реализующий функционал регистрации и авторизации, также функционал восстановления пароля
  • tracking - модуль, реализующий функционал отслеживания почтовых отправлений и онлайн-чат
  • user - модуль, реализующий раздел профиля пользователя

Настройка

|Composer

Перед началом работы с проектом требуется установить дополнительные модули:

$ composer install

Все требуемые компоненты и зависимости будут загружены в директорию vendor

|База Данных

Настройка подключения к вашей базе данных производится в файле конфигурации config/db.php

После настройки подключения для воссоздания требуемой структуры таблиц проекта следует применить миграцию:

$ php yii migrate
|SwiftMailer

Для работы функционала, требующего отправку 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 можно узнать в официальной документации плагина.

|Переводчик Google

По-умолчанию переводчик выключен, при желании вы можете настроить его в config/params.php, для этого укажите ваш API-ключ, и измените параметр active на true:

'googleTranslate' => [
        'key' => 'your-api-key',
        'active' => false,
    ],

*Подробнее о работе с Google API можно узнать на официальной странице Google API

|reCaptcha

Зарегистрируйте ваш домен на официальной странице 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). Метод должен возвращать массив данных информации по трек-номеру.