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

https://github.com/anqorithm/image_processing_service


https://github.com/anqorithm/image_processing_service

Last synced: 6 days ago
JSON representation

Awesome Lists containing this project

README

        

# Image Processing Service

A scalable image processing service built with FastAPI and RabbitMQ that handles image processing tasks asynchronously.

## Features

- Asynchronous image processing using RabbitMQ
- RESTful API using FastAPI
- Supports multiple image operations (resize, convert, compress)
- Scalable worker architecture
- Error handling with retry mechanisms
- Docker support for easy deployment

## Prerequisites

- Python 3.9+
- Docker and Docker Compose
- RabbitMQ
- Poetry (for dependency management)

## Project Structure

```
image_processing_service/
├── api/ # FastAPI application
│ ├── routes/ # API endpoints
│ ├── models/ # Pydantic models
│ └── core/ # Core functionality
├── worker/ # RabbitMQ consumer
│ ├── processors/ # Image processing implementations
│ └── tasks/ # Task definitions
├── tests/ # Test suite
├── docker/ # Docker configuration
└── docker-compose.yml # Service orchestration
```

## Getting Started

1. Clone the repository
2. Install dependencies: `poetry install`
3. Start services: `docker-compose up`
4. Access API documentation: `http://localhost:8000/docs`

## API Endpoints

- `POST /api/v1/images/upload` - Upload an image
- `POST /api/v1/images/process` - Queue image processing task
- `GET /api/v1/tasks/{task_id}` - Get task status

## License

MIT