Skip to content

Тестовое задание на yii2 с использованием Swagger. Система автоматизированной работы с заявками.

License

QUNETOL57/yii2_api_test

Repository files navigation

Система автоматизированной работы с заявками. Тестовое задание на yii2 с использованием Swagger


Краткое описание:

Любой пользователь может создать заявку.

У заявок есть 3 статуса 0 - Новая, 1 - В работе, 2 - Закрыта.

Заявка создается с обязательным назначением менеджера. При изменении статуса заявки сохраняется история. Если заявка находится в статусе В работе и у нее будет заполнен комментарий - она автоматически перейдет в статусЗакрыта, а так же создателю заявки будет отправлено письмо.

Видимость заявок:

  • Админ - видит все заявки
  • Менеджер - видит только заявки назначенные на него
  • Пользователь - видит только заявки созданные им

Развертывание проекта:

  1. Клонировать репозиторий
  2. Необходимо запустить билд докер образа
    docker-composer build
    
  3. Запуск докер контейнеров
    docker-composer up -d
    
  4. Необходимо зайти в контейнер backend
    docker-composer exec backend bash
    
  5. Запустить инициализацию yii и установку пакетов composer
     php-init
     composer install
    
  6. Необходимо заменить файл common/config/main-local.php на common/config/main-local-template.php
  7. Запуск миграций
     ./yii migrate
    
  8. Запуск скрипта для создания пользователей
     ./yii start/create-users
    
    Скрипт создаст:
    Пользователя с ролью админ (логин / пароль): admin / 12345
    Пользователей с ролью менеджер (логин / пароль): manager1 / 12345 , manager2 / 12345
    Пользователей с ролью юзер (логин / пароль): user1 / 12345 , user2 / 12345

Работа с проектом:

  1. Необходимо открыть swagger, для этого перейти по ссылке http://localhost/swagger/docs/
  2. В разделе "Пользователи" открыть запрос для получений токена /user/login, внести данные для Basic authorization, выполнить запрос
  3. Полученный токен необходимо вставить в Bearer (apiKey) авторизацию, необходимо вставлять по шаблону Bearer <token>, например Bearer A4BgV7GX7Fvxw_Rz-lQ1L1TvAASN332X

About

Тестовое задание на yii2 с использованием Swagger. Система автоматизированной работы с заявками.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published