A scalable document processing API for developers.
A scalable document conversion platform built on microservices — upload, convert, and download documents through secure, async APIs.
Security
- JWT, API Keys, OAuth2
- Scope-based and role-based access control
Platform
- Rate limiting per user plan, API key, and role
- RabbitMQ-based async processing
- S3-compatible object storage
- Prometheus metrics and structured logging
Document Tools
- PDF → Word
- PDF → PowerPoint
- Compress PDF
- Merge / Split PDF
- Protect / Unlock PDF
- Rotate / Remove Pages
- PDF → Image
Developer API REST API for integrating document conversion into applications.
| Layer | Technology |
|---|---|
| Backend | Python, FastAPI |
| Queue | RabbitMQ |
| Storage | Supabase Storage |
| Auth | JWT, OAuth2, API Keys |
| Database | PostgreSQL, SQLAlchemy |
| Tools | Alembic, Pydantic, pdf2docx, pypdf |
| DevOps | Docker, Docker Compose, Prometheus, Grafana |
Prerequisites: Docker, Docker Compose
git clone https://github.com/charantm7/docconvert-platform.git
cd docconvert-platform
docker compose up --buildThis starts all services: API Gateway, Upload, Conversion Workers, RabbitMQ, PostgreSQL, and Prometheus.
- User uploads a document → stored in S3
- Conversion job published to RabbitMQ
- Worker picks up job, converts the file, saves result to S3
- Status service updates job state in PostgreSQL
- User polls status and downloads the converted file
Prometheus is preconfigured via prometheus.yml. Extend with Grafana and Alertmanager as needed.
- Web dashboard
- Additional format support
- Worker autoscaling
- Webhooks for job completion
- Grafana dashboards
- Multi-tenant support
# 1. Fork the repo
# 2. Create a feature branch
git checkout -b feature/your-feature
# 3. Commit and push
git commit -m "add: your feature"
git push origin feature/your-feature
# 4. Open a Pull RequestMIT © Charan TM





