tonyaxo / test-image-api

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Задание

Реализовать простое REST API-приложение, который загружает изображения на локальный диск, делает превью изображений (маленькое и среднее), и регистрирует информацию об оригиналах изображений и превью в своей БД.

Требования к функциональности:

Загрузка изображений (необходимо реализовать хотя бы пару возможностей загрузки):

  • Возможность загружать несколько изображений.
  • Возможность принимать multipart/form-data запросы.
  • Возможность принимать JSON запросы с BASE64 закодированными изображениями.
  • Возможность загружать изображения по заданному URL (изображение размещено где-то в интернете).

Превью:

  • Создание квадратного превью изображения размером 100px на 100px.
  • Создание превью изображения с сохранением пропорций, чтобы вписать в границы 400px на 400px.

Доп. API-методы:

  • Получить список всех изображений и превью (в формате [url, width, height]).
  • Получить список неудавшихся загрузок и ресайзов (с кодами ошибок; например, если была загружена не картинка, а документ).
  • Удалить изображение и его превью из БД.

Требования к реализации:

  • Docker-окружение (Dockerfile, docker-compose.yml и прочее), которые позволяют поднять приложение единой docker-compose up командой.
  • Swagger-контракт (OpenAPI).
  • Symfony 5.

Любые другие аспекты реализации, которые не указаны в требованиях, могут быть выполнены на ваше усмотрение.

Необходим README.md файл с обзором реализации и шагами по запуску проекта.

Следующее будет плюсом:

  • Наличие тестов.
  • CI интеграция (Travis CI, Circle CI, любые другие).

Docs

  1. Запуску проекта
  2. Описание

About


Languages

Language:PHP 91.7%Language:Dockerfile 5.2%Language:Shell 2.2%Language:Twig 0.9%