# TestArena Backend TestArena is an automated build and test execution system for ESP32 projects. It provides a complete workflow for cloning repositories, building firmware, and running tests in a QEMU environment, all managed through a modern web dashboard. ## 🚀 Quick Start 1. **Deploy**: Run `sudo ./deploy.sh` on your Ubuntu server. 2. **Access**: Open `http://:8080/` in your browser. 3. **Monitor**: Use the dashboard to track test queues, view individual tasks, and check service health. 4. **Restart**: If services need a manual restart, use `sudo ./restart_services.sh`. ## 🛠️ Key Features - **Service Robustness**: Systemd services are configured to auto-restart on failure and after reboot. - **Monitoring Dashboard**: Real-time status of App and Worker services, plus detailed task tracking for each queue. - **Task Timeouts**: Running tasks have a 1-hour timeout to prevent queue blocking. - **Remote Management**: A dedicated restart script for easy remote execution via SSH. ## 📚 Documentation For detailed information, please refer to the documentation in the `doc/` folder: * **[Architecture & Design](doc/architecture.md)**: How the system is built. * **[Usage Guide](doc/usage.md)**: How to use and manage the system. * **[API Reference](doc/api_reference.md)**: Integration details. * **[Workflows](doc/flow_diagrams.md)**: Visual flowcharts of key processes. ## 🛠️ Technology Stack * **Backend**: FastAPI, SQLAlchemy, SQLite * **Worker**: Python Subprocess, Bash * **Frontend**: Vanilla HTML/JS (Glassmorphism UI) * **Infrastructure**: Nginx, Systemd, ESP-IDF, QEMU --- © 2025 TestArena Team