Backend for playing video and interactively tracking displayed objects.
Features
- Tracking of multiple objects within a video
- Support for multiple users and videos
- Adding and removing bounding boxes at runtime
- WebSocket API for communication with the front end
- Synchronization with the front end
- Modular design
You need Docker installed on your machine. See Docker Docs for installation instructions.
docker pull ghcr.io/theeverythingtracker/frontend:main docker run -it -p 8080:80 --name 'TheEverythingTracker_Frontend' ghcr.io/theeverythingtracker/frontend:maindocker pull ghcr.io/theeverythingtracker/backend:maindocker run -it -p 8000:8000 --name 'TheEverythingTracker_Backend' ghcr.io/theeverythingtracker/backend:mainSee "Set up"
This application uses the following core dependencies:
- FastAPI as Framework for managing Websockets
- OpenCV for tracking and video related workloads
- uvicorn as ASGI web server for serving the application
- Every feature should be described in an issue and implemented in a branch linked to that issue
- If you don't have already: Install Python
- This project uses Poetry for dependency-management. If you don't have it: Set up Python Poetry by following these Instructions.
- Clone the project
- Create a virtual environment and install dependencies into it with
poetry installwhile in the project directory - Run
python ./app/main.py - Learn how to set up the Frontend here: TheEverytingTracker/Frontend
Whenever new Changes are pushed to the "main" branch, a new Docker image will be built by this GitHub Actions Pipeline. You can find the latest Docker image here.