Разработайте веб-приложение на Python, используя FastAPI, которое предоставляет API для работы с коллекцией мемов. Приложение должно состоять из двух сервисов: сервис с публичным API с бизнес-логикой и сервис для работы с медиа-файлами, используя S3-совместимое хранилище (н-р, MinIO).
● GET /memes: Получить список всех мемов (с пагинацией).
● GET /memes/{id}: Получить конкретный мем по его ID.
● POST /memes: Добавить новый мем (с картинкой и текстом).
● PUT /memes/{id}: Обновить существующий мем.
● DELETE /memes/{id}: Удалить мем.
● Используйте реляционную СУБД для хранения данных.
● Обеспечьте обработку ошибок и валидацию входных данных.
● Используйте Swagger/OpenAPI для документирования API.
● Напишите хотя бы несколько unit-тестов для проверки основной функциональности.
● Напишите Readme, из которого понятна функциональность проекта и инструкция по локальному запуску для разработки.
● Проект должен состоять минимум из: 1 сервис с публичным API, 1 сервис с приватным API для изображений, 1 сервис СУБД, 1 сервис S3-storage.
● Напишите docker-compose.yml для запуска проекта.
● Публичный git-репозиторий с проектом согласно перечисленным требованиям.