A comprehensive monorepo for controlling Tello drones with multiple client implementations and a Python backend.
This monorepo contains multiple independent projects:
TelloDrone/
├── PythonApp/ # Python backend for drone control
├── SvelteTelloApp/ # Modern Svelte + Tauri desktop app
├── InstallFrontEnd/ # Legacy Angular frontend
└── .github/workflows/ # CI/CD workflows
Python-based backend application for drone control, video streaming, and face recognition.
Key Features:
Setup:
cd PythonApp
pip install -r requirements.txt
python main.py
Modern desktop application built with Svelte, TypeScript, and Tauri.
Key Features:
Setup:
cd SvelteTelloApp
npm install
npm run tauri:dev
Build:
npm run tauri:build
For detailed information, see SvelteTelloApp/README.md
Legacy Angular-based frontend application.
Setup:
cd InstallFrontEnd/TelloDroneFrontEnd
npm install
npm start
The monorepo uses GitHub Actions for continuous integration and deployment:
Workflow file: .github/workflows/monorepo-ci.yml
Clone the repository:
git clone <your-repo-url>
cd TelloDrone
Choose your project and follow its setup instructions above.
Each project runs independently. You can run multiple projects simultaneously:
# Terminal 1: Python backend
cd PythonApp
python main.py
# Terminal 2: Svelte app
cd SvelteTelloApp
npm run tauri:dev
Tello Drone <--> PythonApp <--> SvelteTelloApp (Desktop UI)
UDP API/WS Tauri/Svelte
The Svelte + Tauri app can be built for multiple platforms:
cd SvelteTelloApp
npm run tauri:build
Artifacts will be in SvelteTelloApp/src-tauri/target/release/bundle/
GitHub Actions automatically builds the app for:
[Your License Here]
Linux: Install required dependencies
sudo apt-get update
sudo apt-get install -y libgtk-3-dev libwebkit2gtk-4.0-dev libappindicator3-dev librsvg2-dev patchelf
macOS: Install Xcode Command Line Tools
xcode-select --install
If you encounter import errors, ensure all dependencies are installed:
cd PythonApp
pip install -r requirements.txt