Skip to content

Latest commit

 

History

History
37 lines (19 loc) · 2.27 KB

TZ.md

File metadata and controls

37 lines (19 loc) · 2.27 KB

https://docs.google.com/forms/d/e/1FAIpQLSeFG6LOI0i165oLR4mwHglMt_NaVcqak-Zz51hK8mnZ4SRJTQ/viewform

Тестовое задание: Python Developer

Разработайте веб-приложение на 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-репозиторий с проектом согласно перечисленным требованиям.