Skip to content

storlay/memes_api

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

16 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

API: Работа с коллекцией мемов и S3 хранилищем 🙂

Python FastAPI Postgres Docker MinIO aiobotocore Gunicorn Poetry

Выполнено в рамках тестового задания

  • app — API для работы с мемами
  • media — Сервис для работы с изображениями (S3)

Описание

Асинхронный REST API сервис для работы с коллекцией мемов. Хранения изображений — MinIO. Асинхронный доступ к хранилищу — aiobotocore.

Функциональность

  • GET /memes:

    • Получить список всех мемов (с пагинацией).
  • GET /memes/{id}:

    • Получить мем по его ID.
  • POST /memes:

    • Добавить новый мем (с картинкой и текстом).
  • PUT /memes/{id}:

    • Обновить существующий мем по его ID.
  • DELETE /memes/{id}:

    • Удалить мем по его ID.

Установка и запуск

  1. Склонируйте репозиторий:
git clone https://github.com/storlay/memes_api.git
  1. В корне проекта создайте и заполните файл .env

  2. Запустите проект с помощью Docker Compose:

docker-compose up --build
  1. После успешного запуска сервисов, приложение будет доступно по следующим адресам:

Использование

Документация API для работы с мемами доступна по адресу:

Документация сервиса для загрузки изображений доступна по адресу:

Для использования сервиса для загрузки изображений необходимо авторизоваться, по умолчанию данные для входа идентичны данным для MinIO (MINIO_ROOT_USER, MINIO_ROOT_PASSWORD)*

*Задаются в файле .env