An open API service indexing awesome lists of open source software.

https://github.com/zulusssss/api_memes


https://github.com/zulusssss/api_memes

Last synced: about 1 year ago
JSON representation

Awesome Lists containing this project

README

          

# Meme API

## Описание

Веб-приложение для работы с коллекцией мемов с использованием FastAPI. Приложение предоставляет публичный API для CRUD операций с мемами и сервис для работы с медиа-файлами с использованием S3-совместимого хранилища MinIO.

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

- GET /memes: Получить список всех мемов (с пагинацией).
- GET /memes/{id}: Получить конкретный мем по его ID.
- POST /memes: Добавить новый мем (с картинкой и текстом).
- PUT /memes/{id}: Обновить существующий мем.
- DELETE /memes/{id}: Удалить мем.

### Инструкция для запуска:

1. Клонируйте репозиторий:
```sh
git clone
cd
```

2. Запустите Docker Compose:
```sh
docker-compose up --build
```

3. По ссылке [http://localhost:9000](http://localhost:9000) будет доступна административная консоль MinIO. Создайте там bucket с названием 'memes'.
Можно использовать и другое название, но тогда необходимо внести его в docker-compose.yml MINIO_BUCKET.

4. API будет доступно по адресу: [http://localhost:8000](http://localhost:8000)

### Документация API

После запуска, документация API будет доступна по адресу: [http://localhost:8000/docs](http://localhost:8000/docs)

### Тестирование
1. Выполните действия, указанные в инструкции по запуску проекта.

2. Для запуска тестов используйте команду:
```sh
docker exec -it pytest /app/test_main.py
```