Skip to content

seddikur/Post

Repository files navigation

Порядок установки проекта

  • Клонирование проекта git clone https://github.com/seddikur/Post.git

  • Запуск Docker docker compose up -d

  • Переход в контейнер docker exec -it post-php-1 bash

  • Запуск обновлений yii2 composer update

  • Настройки БД

'class' => 'yii\db\Connection',
'dsn' => 'mysql:host=post-db-1;dbname=dbyii',
'username' => 'root',
'password' => 'secret',
'charset' => 'utf8',``
  • Запуск миграций php yii migrate

http://localhost:8080/v1/

GET /article: получение постранично списка всех статей;

POST /article: создание новой статьи;

GET /article/123: получение информации по статьие с id равным 123;

PATCH /article/123 и PUT /article/123: изменение информации по статье с id равным 123;

DELETE /article/123: удаление статьи с id равным 123;


Тестовое задания

Общее

Выполнить по данному ТЗ, маленькое тестовое задание с использованием фреймворка Yii2. Добавляя сущности, нужно так же учитывать добавление Миграций, Моделей, Сидов и Фэкторис. А так же связи для них. Связку требований и технологий используем, так как вы считаете будет правильней или удобней.

Технологии

  • Docker
  • Yii2 + MySQL
  • Repository + Services + DTO

База данных

Спроектировать и реализовать базу данных для хранения следующих сущностей:

  1. Автор статьи:
    1. ФИО
    2. Год рождения
    3. Биография
  2. Категория статьи (дерево неограниченной вложенности)
    1. Название
    2. Описание
  3. Статья
    1. Название
    2. Картинка
    3. Анонс
    4. Текст
    5. Автор (может быть только один)
    6. Категории (может быть несколько)

Описание запросов

  1. Реализовать JSON Rest API для получений и поиска данных (с пагинацией):
    1. Список статей
    2. Поиск статей по названию/категории/автору
  2. Реализовать JSON Rest API для получения полных данных (по id) о:
    1. Авторе
    2. Статье
    3. Категории

Реализацию маршрутов и формат оставляем данных на ваше усмотрении в соответствие с логикой задания

Будет плюсом

  • Полное развертывание проекта со всеми данными
  • Генерация превью картинок
  • Помимо пагинация - реализованная сортировка результатов
  • Покрытие тестами ответы запросов

Общие требования

Придерживаться PSR стандартам оформления кода.

Использовать возможности фреймворка.

Критерии оценки:

  • В первую очередь оценивается логика организации кода и проекта в целом
  • Отсутствие глюков и багов
  • Внимание к деталям
  • Удобство и логичность для пользователя
  • Читаемость и восприятие кода

Результат

Проект должен быть выложен на GitHub и содержать readme файл с инструкциями по развертыванию и запуску проекта.

Releases

No releases published

Packages

No packages published