A modern, full-stack file conversion platform supporting 50+ file formats with real-time progress tracking, smart caching, and batch processing.
- 🎨 Modern UI: Clean, responsive interface built with React and TailwindCSS
- ⚡ Real-time Updates: WebSocket-based progress tracking
- 🚀 High Performance: Smart LRU caching, concurrent processing
- 🔒 Secure: Input validation, rate limiting, path traversal prevention
- 📦 Batch Conversion: Process multiple files simultaneously
- 🎯 10+ File Types: Images, videos, audio, documents, archives, and more
- Node.js 18+ (for frontend)
- Python 3.11+ (for backend)
- System Dependencies: FFmpeg, Pandoc, LibreOffice
cd backend
python -m venv venv && source venv/bin/activate
pip install -r requirements.txt
mkdir -p uploads temp cache
uvicorn app.main:app --reload
# Backend runs at http://localhost:8000cd frontend
npm install
npm run dev
# Frontend runs at http://localhost:5173- API Docs: http://localhost:8000/docs (Swagger UI)
- Backend: backend/README.md
- Frontend: frontend/README.md
- Build Guide: RELEASE_BUILD_GUIDE.md
cd backend
pytest # Run all tests
pytest --cov=app # With coverage (99.90%)
pytest -m security # Security tests only
pytest -m integration # Integration testscd frontend
npm test # Run tests
npm run test:coverage # With coverage report
npm run test:ui # Interactive UIFileConverter/
├── backend/ # FastAPI backend (1,393 tests, 99.90% coverage)
│ ├── app/ # 13 routers, 14 converters, full coverage
│ └── tests/ # Unit + integration + security tests
├── frontend/ # React + TailwindCSS (934 tests)
│ └── src/ # 11 converter pages, fully tested
└── .github/
└── workflows/ # CI/CD: tests, lint, security, release
- ✅ Input validation (file type, size, extension)
- ✅ Path traversal prevention
- ✅ Rate limiting (10 connections/min per IP)
- ✅ Session management (1-hour expiration)
- ✅ Automated security scanning (bandit, safety)
| Metric | Value |
|---|---|
| Cache Hit Rate | 60-80% |
| Concurrent Conversions | 100+ |
| Memory Usage | 200-500MB |
| API Response | <100ms (cached) |
- Fork the repository
- Create a feature branch
- Make changes with tests
- Submit a Pull Request
See CONTRIBUTING.md for details.
MIT License - see LICENSE file