Выполнено в рамках тестового задания
app
— API для работы с мемамиmedia
— Сервис для работы с изображениями (S3)
Асинхронный REST API сервис для работы с коллекцией мемов. Хранения изображений — MinIO. Асинхронный доступ к хранилищу — aiobotocore.
-
GET
/memes
:- Получить список всех мемов (с пагинацией).
-
GET
/memes/{id}
:- Получить мем по его ID.
-
POST
/memes
:- Добавить новый мем (с картинкой и текстом).
-
PUT
/memes/{id}
:- Обновить существующий мем по его ID.
-
DELETE
/memes/{id}
:- Удалить мем по его ID.
- Склонируйте репозиторий:
git clone https://github.com/storlay/memes_api.git
-
В корне проекта создайте и заполните файл
.env
-
Запустите проект с помощью Docker Compose:
docker-compose up --build
- После успешного запуска сервисов, приложение будет доступно по следующим адресам:
- API для работы с мемами: http://127.0.0.1:8000
- Сервис для загрузки изображений: http://127.0.0.1:8001
- MinIO: http://127.0.0.1:9000 (для доступа к MinIO консоли)
Документация API для работы с мемами доступна по адресу:
Документация сервиса для загрузки изображений доступна по адресу:
Для использования сервиса для загрузки изображений необходимо авторизоваться,
по умолчанию данные для входа идентичны данным для MinIO
(MINIO_ROOT_USER
, MINIO_ROOT_PASSWORD
)*
*Задаются в файле
.env