A full-stack image processing platform for uploading, transforming, and downloading images.
| Input | Output |
|---|---|
| JPG, PNG, HEIC/HEIF | JPG |
| Repository | Description |
|---|---|
| Frontend | Next.js web application |
| Backend | FastAPI service |
Frontend: Next.js 16, React 19, TypeScript, Sass, Jest
Backend: Python 3.12+, FastAPI, Uvicorn, Pillow, pillow-heif, pytest
- Drag-and-drop file upload (anywhere on left section)
- Client-side validation (format and 25MB size limit)
- Backend health check with connection status indicator
- Image conversion to JPG
- Processed image preview and download
| Endpoint | Description |
|---|---|
GET / |
Service info |
GET /health |
Health check |
POST /upload |
Upload and process image |
GET /download/{filename} |
Download processed image |
cd backend-data-processing-engine
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt
uvicorn app.main:app --reload- API: http://localhost:8000
- Docs: http://localhost:8000/docs
cd frontend-data-processing-engine
npm install
npm run devOptional .env.local:
NEXT_PUBLIC_API_URL=http://localhost:8000# Frontend
cd frontend-data-processing-engine && npm test
# Backend
cd backend-data-processing-engine && ./venv/bin/pytest -v