A complete production-ready object detection application with ML training, tracking, Docker, FastAPI serving, CI/CD, and deployment.
- Backend: FastAPI with YOLOv8 model for object detection
- Frontend: React app for uploading images and displaying results
- ML Tracking: MLflow for experiment tracking
- Containerization: Docker
- CI/CD: GitHub Actions
- Deployment: Render
- Navigate to
backend/directory - Create venv:
python -m venv venv - Activate:
source venv/bin/activate - Install:
pip install -r requirements.txt - Run training:
python train.py - Start server:
uvicorn main:app --reload
- Navigate to
frontend/directory - Install:
npm install - Start:
npm start
Build: docker build -t object-detection .
Run: docker run -p 8000:8000 object-detection
View experiments: mlflow ui (from backend directory)
- Connect your GitHub repository to Render
- Create a new Web Service
- Select the repository and branch
- Set build command: (leave default or
pip install -r backend/requirements.txt) - Set start command:
uvicorn backend.main:app --host 0.0.0.0 --port $PORT - For frontend, deploy separately as Static Site on Render, build command:
cd frontend && npm install && npm run build, publish directory:frontend/build
POST /detect - Upload image file, returns annotated image with bounding boxes