https://github.com/anqorithm/image_processing_service
https://github.com/anqorithm/image_processing_service
Last synced: 6 days ago
JSON representation
- Host: GitHub
- URL: https://github.com/anqorithm/image_processing_service
- Owner: anqorithm
- Created: 2025-01-22T07:31:39.000Z (4 months ago)
- Default Branch: main
- Last Pushed: 2025-01-22T07:31:47.000Z (4 months ago)
- Last Synced: 2025-05-06T23:39:57.744Z (13 days ago)
- Language: Python
- Size: 9.77 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
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