https://github.com/zulusssss/api_memes
https://github.com/zulusssss/api_memes
Last synced: about 1 year ago
JSON representation
- Host: GitHub
- URL: https://github.com/zulusssss/api_memes
- Owner: Zulusssss
- License: bsd-3-clause
- Created: 2024-06-20T12:07:15.000Z (about 2 years ago)
- Default Branch: main
- Last Pushed: 2024-06-27T10:33:39.000Z (about 2 years ago)
- Last Synced: 2025-04-23T02:18:15.438Z (about 1 year ago)
- Language: Python
- Size: 13.7 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
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
```