QUNETOL57 / yii2_api_test

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

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Система автоматизированной работы с заявками. Тестовое задание на 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. Система автоматизированной работы с заявками.

License:BSD 3-Clause "New" or "Revised" License


Languages

Language:PHP 93.6%Language:Shell 2.2%Language:CSS 2.1%Language:Awk 1.3%Language:Batchfile 0.6%Language:Dockerfile 0.2%